Использование NIS без NFS

Я запущу с необработанных фактов:

  1. Вы имеете: A - Ваше поле FreeBSD, B - Ваш маршрутизатор и C - некоторая машина с доступом в Интернет. Это - то, как это похоже:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Заметьте, как Ваш маршрутизатор обычно работает: это позволяет соединения от машин на Вашей LAN к Интернету (просто говорящий). Таким образом, если A (или любая другая машина на LAN), хочет получить доступ к Интернету, это будет позволено (снова, просто говоря об основном понимании и конфигурации):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    И следующее не позволяется по умолчанию:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Таким образом, маршрутизатор защищает машины на Вашей LAN от того, чтобы быть полученным доступ из Интернета.) Замечают, что маршрутизатор является единственной частью Вашей LAN, которая замечена от Internet1).

  2. Перенаправление портов - то, что позволяет третьей схеме происходить. Это состоит в сообщении маршрутизатора что соединение от C2) должен перейти в который машина на LAN. Это сделано на основе номеров портов - именно поэтому это называют перенаправлением портов. Вы настраиваете это путем инструктирования маршрутизатору, что все соединения, происходящие в данный порт из Интернета, должны перейти к определенной машине на LAN. Вот является пример для порта 22 переданными к машине A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Такие соединения через Интернет происходят на основе IP-адресов. Таким образом, немного более точное представление вышеупомянутого примера было бы:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Если бы у Вас нет Интернет-соединения со статическим IP, то необходимо было бы так или иначе изучить, какой IP в настоящее время присваивается маршрутизатору ISP. Иначе, C не будет знать, какой IP это должно подключить с тем, для получения до маршрутизатора (и далее, до A). Для решения этого в простом способе можно использовать сервис, названный динамическим DNS. Это заставило бы Ваш маршрутизатор периодически отправить информацию на специальный сервер DNS, который будет отслеживать Ваш IP и предоставлять Вам доменное имя. Существует довольно много свободных динамических поставщиков DNS. Много маршрутизаторов идут с параметрами конфигурации легко связаться с теми.

1) Это, снова, упрощение - существующее устройство, которое замечено к Интернету, является модемом - который может часто интегрироваться с маршрутизатором, но мог бы также быть отдельным полем.
2) или любая другая машина с Интернет-соединением.


Теперь для того, что Вы хотите:

  1. Просто разрешение ssh доступ к Вашей машине из Интернета является плохой идеей. Существуют тысячи ботов, настроенных взломщиками, которые ищут Интернет машины с открытым портом SSH. Они обычно "стучат" в порт SSH по умолчанию столько дюйм/с, сколько они могут и после того как они находят демона SSH, работающего где-нибудь, попытка получить доступ "в лоб" к машине. Это не только риск потенциального взлома, но также и сетевого замедления, в то время как машина является bruteforced.

  2. При реальной необходимости в таком доступе Вы должны, по крайней мере,

    • гарантируйте, что у Вас есть сильные пароли для всех учетных записей пользователей,

    • запретите корневой доступ по SSH (можно всегда входить в систему как обычный пользователь и su или sudo затем),

    • измените порт по умолчанию, на котором Ваш сервер SSH работал бы,

    • представьте механизм запрещения многочисленных попыток входа в систему SSH (с icreasing time-wait для последующих попыток - я не помню, как точно это называют - мне включили его некоторое время назад на FreeBSD, и я вспоминаю, что это было довольно легко - пытаются искать некоторые форумы FreeBSD и т.д. об обеспечении SSH, Вы найдут его.)

    • Если возможно, попытайтесь выполнить ssh демона только, когда Вы будете знать о доступе к машине в ближайшем будущем поворот это прочь впоследствии

  3. Привыкните к прохождению через Ваших системных журналов. Если Вы начинаете замечать что-либо подозрительное, представляете дополнительные механизмы защиты как таблицы IP или стук порта.

6
15.04.2011, 23:54
2 ответа

NIS является способом получить данные (данные аутентификации, путь к корневому каталогу, …) о пользователях (и другой материал). Выполнение вещей (например, создание каталога) не являются своим заданием. Таким образом, я думаю, что Вы смотрите в неправильном месте.

Большинство нельдов использует PAM для управления логинами (не только аутентификация, но также и учетное управление, ведение счетов и наиболее соответствующим образом управление сеансами). Реализация Linux (и другие) включает названный модуль pam_mkhomedir который делает точно, что Вы хотите. Вставьте эту строку /etc/pam.d/* для каждого сервиса, который позволяет локальным пользователям входить в систему (или в /etc/pam.d/common-session если у Вас есть это):

session    required    pam_mkhomedir.so skel=/etc/skel/
10
27.01.2020, 20:24

Я имел ту же проблему и заметил, что настоящая проблема состоит в том, что учет/сессия перестал работать, потому что у пользователя RADIUS нет записи в /etc/passwd. Я решил проблему при помощи pam_script выполниться adduser прежде, чем ввести gdm сессию.

1
27.01.2020, 20:24

Теги

Похожие вопросы