Блог компанії 3v-Hosting
Короткий посібник з базового налаштування SSH на вашому сервері Debian
7 хв.
Часто недосвідчені користувачі, які вперше орендували сервер, не знають, як до нього підключитися. І навіть коли за допомогою інтернету дізнаються, що таке SSH і як його використовувати для доступу до сервера, не всі думають про безпеку.
Але захист вашого сервера має першорядне значення, і одним із найважливіших аспектів безпеки сервера є правильна конфігурація SSH (Secure Shell). SSH дозволяє встановити безпечне та зашифроване з'єднання з вашим сервером Debian для віддаленого доступу та адміністрування. У цьому короткому посібнику ми розглянемо файл конфігурації sshd_config, вивчимо найважливіші параметри та надамо практичні приклади, які допоможуть вам підвищити безпеку та функціональність вашої служби SSH.
sshd_config – це основний файл конфігурації демона SSH-сервера (sshd). Він знаходиться в каталозі /etc/ssh/ і керує різними аспектами служби SSH. Настроюючи sshd_config, ви можете контролювати методи автентифікації, керувати доступом користувачів та підвищувати загальну безпеку.
Параметри підключення
1. Перше, що завжди рекомендується зробити після того, як ви встановили операційну систему на VPS або виділений сервер, це змінити номер порту SSH. Як вже відомо з назви та контексту нашого посту, робити це ми будемо у конфігураційному файлі. Відкрийте його та знайдіть рядок:
#Port 22
Розкоментуйте його (приберіть знак решітки на початку рядка) та змініть номер часу, наприклад, на 2222:
Port 2222
2. Параметр PermitRootLogin визначає, чи дозволено користувачеві root входити в систему безпосередньо через SSH. Рекомендується вимкнути прямий вхід до системи root і натомість використовувати користувача без повноважень root. Встановіть його на «ні» так:
PermitRootLogin no
3. Увімкнення PubkeyAuthentication дозволяє користувачам проходити автентифікацію з використанням криптографії з відкритим ключем, що значно підвищує безпеку. Створіть пару ключів SSH, завантажте відкритий ключ на сервер та змініть sshd_config:
PubkeyAuthentication yes
4. AllowUsers та DenyUsers. Ці параметри визначають, яким користувачам дозволено чи заборонено доступ до SSH. Вкажіть імена користувачів, розділені пробілами. Наприклад, щоб дозволити доступ лише «user1» та «user2», додайте такі рядки:
AllowUsers user1 user2
Щоб заборонити доступ певним користувачам, використовуйте DenyUsers так само.
5. AllowGroups і DenyGroups. Так само AllowGroups і DenyGroups забезпечують управління доступом з урахуванням членства групи. Вкажіть імена груп, розділені пробілами. Наприклад, щоб дозволити доступ групі «admins», додайте рядок:
AllowGroups admins
Налаштування сеансу та підключення
1. ClientAliveInterval та ClientAliveCountMax. Ці параметри керують недіючими сеансами SSH. ClientAliveInterval встановлює час у секундах, після якого сервер відправляє нульовий пакет клієнту, щоб перевірити, чи він активний. ClientAliveCountMax визначає максимальну кількість повідомлень без відповіді, перш ніж сервер розірве з'єднання.
Наприклад:
ClientAliveInterval 120
ClientAliveCountMax 3
2. TCPKeepAlive. Увімкнення TCPKeepAlive дозволяє серверу виявляти мертві з'єднання TCP та закривати їх. Додайте наступний рядок, щоб активувати цю функцію:
TCPKeepAlive yes
Некоторые дополнительные настройки безопасности
1. Дозволити порожні паролі. Рекомендовано заборонити використання порожніх паролів для запобігання несанкціонованому доступу. Переконайтеся, що наступний рядок присутній і закоментований або встановлений у «ні»:
# PermitEmptyPasswords no
2. PasswordAuthentication. Щоб примусово застосувати аутентифікацію на основі ключа SSH та вимкнути аутентифікацію за паролем, установіть для параметра PasswordAuthentication значення «no»:
PasswordAuthentication no
3. LoginGraceTime. LoginGraceTime вказує час у секундах, який користувач повинен пройти автентифікацію після встановлення з'єднання SSH. Встановлення більш короткого часу може знизити ризик атак грубої сили. Змініть рядок за бажанням, наприклад:
LoginGraceTime 30s
Применение настроек
Щоб застосувати налаштування, які ви зробили до файлу, потрібно спочатку зберегти і закрити його.
Потім у консолі потрібно набрати команду:
service sshd restart
,після чого ця служба буде перезапущена з новими налаштуваннями
Ви можете прочитати більше про файл sshd_config тут.
Ніколи не нехтуйте налаштуваннями безпеки сервера, в тому числі і налаштуванням SSH, оскільки кожен сервер, як тільки він з'являється в мережі, моментально стає об'єктом сканування та спроб автоматичного злому спочатку ботами, а потім і вручну.
Тому будьте пильні, ніколи не залишайте сервер неналаштованим інакше він швидко перестане бути ВАШИМ сервером :)