Перший варіант - обмежити доступ до сервера за допомогою фаєрвола, наприклад - IPFW. Для цього, в файлі конфігурації, заданому у файлі /etc/rc.conf у вигляді рядка:
додаємо запис такого виду:
$ Cmd 00280 allow tcp from ALLOWED_IP to me 22 in via $ pif
де ALLOWED_IP - це IP сервера, з якого треба хотів дозволити доступ до сервера.
Однак, є й інші способи, що дозволяють налаштувати більш гнучкі правила. Полягають вони в установках обмежень через файл настройки самого демона ssh - / etc / ssh / sshd_config.
Ось деякі з найбільш корисних властивостей цього файлу.
Дозволимо доступ тільки з локальної мережі:
Не найкращий варіант дозволити віддалений доступ під користувачем root. закриємо його (під FreeBSD він і так закритий):
Можна дозволити доступ тільки певним користувачам:
AllowUsers setevoy tester otheruser
Або дозволити доступ тільки певній групі:
AllowGroups wheel ssh
створимо певну групу, якій буде доступ до ssh:
#pw groupadd ssh
# Pw groupshow ssh
ssh: *: 1003:
і додамо в неї користувачів tester і setevoy:
#pw groupmod ssh -m tester setevoy
# Pw groupshow ssh
ssh: *: 1003: tester, setevoy
заодно перевіримо всі групи користувача:
# Id setevoy
uid = 1001 (setevoy) gid = 1001 (setevoy) groups = 1001 (setevoy), 0 (wheel), 1003 (ssh)
А можна заборонити доступ певним користувачам:
DenyUsers setevoy tester otheruser
Або заборонити доступ цілій групі:
Ще варіант - змінити стандартний порт SSH. це зменшить активність деяких ботів, можна вказати кілька портів:
Port 2222
Port 2525
Корисно підредагувати параметр часу очікування введення пароля, за замовчуванням цілих 2 хвилини:
Розірвемо з'єднання, якщо немає активності більше 20 хвилин:
ClientAliveInterval 1200
ClientAliveCountMax 0
Так само, його можна поставити і в вигляді:
Тобто спочатку максимальне число сесій 5, якщо це число перевищується, то половина з'єднань буде відкинуто (50%) і з ростом числа сесій все більше число з'єднань буде відкидатися, і, нарешті, якщо число сесій перевищить 10, то всі подальші з'єднання до sshd будуть відсічені . Будьте обережні з цим параметром.
Після будь-яких змін в / etc / sshd_config перезавантажте демон:
# /etc/rc.d/sshd onerestart
Stopping sshd.
Starting sshd.