Я умею только сомневаться (Ф. Вольтер).

5 мин для чтения10 действенных советов по усилению безопасности SSH для защиты вашего Linux-сервера

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
10 июня 2020
10 действенных советов по усилению безопасности SSH для защиты вашего Linux-сервера
SSH – один из самых распространенных методов доступа к удаленным серверам. SSH также является одной из наиболее распространенных причин скомпрометированных серверов Linux.

Не поймите нас неправильно. SSH (Secure Shell) – это довольно безопасный протокол, но это не значит, что вы должны использовать конфигурацию по умолчанию.

В этой статье мы расскажем о некоторых практических способах повышения безопасности SSH и, следовательно, защиты ваших серверов Linux.

 

Советы по защите SSH на серверах Linux

Не ходите и вслепую следуйте всем советам по защите SSH, упомянутым здесь. Прочитайте все из них и затем посмотрите, какие из них соответствуют вашим потребностям. Также имейте в виду, что некоторые советы могут быть несовместимы с другими.

Например, если вы отключите вход по SSH на основе пароля, вам не нужно переходить к решению Fail2Ban.

Если вы знакомы с основами SSH , вы знаете, что файлы конфигурации SSH находятся в /etc/ssh/sshd_config.

Большинство упомянутых здесь советов по усилению безопасности SSH потребуют от вас редактирования этого файла конфигурации. Вот почему будет хорошей идеей сделать резервную копию исходного файла. Вам также нужно будет перезапустить службу SSH, если вы внесете какие-либо изменения в файл конфигурации SSH.

Давайте посмотрим, какие шаги вы можете предпринять для защиты вашего SSH-сервера.

 

1. Отключить пустые пароли

Да. Возможно иметь учетные записи в Linux без каких-либо паролей. Если эти пользователи пытаются использовать SSH, им также не понадобятся пароли для доступа к серверу через SSH.

Это риск для безопасности. Вы должны запретить использование пустых паролей. В файле /etc/ssh/sshd_config обязательно установите для параметра PermitEmptyPasswords значение no.

PermitEmptyPasswords no

 

2. Измените порты SSH по умолчанию

Порт SSH по умолчанию – 22, и большинство проверочных скриптов написаны только для этого порта. Изменение порта SSH по умолчанию должно добавить дополнительный уровень безопасности, поскольку количество атак (на порт 22) может уменьшиться.

Найдите информацию о порте в файле конфигурации и измените ее на другую:

Port 2345

 

3. Отключите root-вход через SSH

Если честно, использование сервера в качестве самого root должно быть запрещено. Это рискованно и не оставляет следов аудита. Механизм типа sudo существует только по этой причине.

Если у вас есть пользователи sudo, добавленные в вашу систему, вы должны использовать этого пользователя sudo для доступа к серверу через SSH вместо root.

Вы можете отключить root-вход, изменив параметр PermitRootLogin и установив его следующим образом:

PermitRootLogin no

 

4. Отключить протокол ssh 1

Это если вы используете более старый дистрибутив Linux. В некоторых старых версиях SSH протокол SSH 1 может быть доступен. Этот протокол имеет известные уязвимости и не должен использоваться.

В новых версиях SSH автоматически включается протокол SSH 2, но при двойной проверке это не повредит.

Protocol 2

 

5. Настройте интервал ожидания простоя

Интервал простоя – это время, в течение которого соединение SSH может оставаться активным без какой-либо активности. Такие пустые сеансы также представляют угрозу безопасности. Рекомендуется настроить интервал простоя.

Интервал времени ожидания отсчитывается в секундах и по умолчанию равен 0. Вы можете изменить его на 300 для сохранения пятиминутного интервала времени ожидания.

ClientAliveInterval 300

 

По истечении этого интервала сервер SSH отправит клиенту действующее сообщение. Если он не получит ответ, соединение будет закрыто, и конечный пользователь выйдет из системы.

Вы также можете контролировать, сколько раз он отправляет живое сообщение перед отключением:

ClientAliveCountMax 2

 

6. Разрешить доступ по SSH только для выбранных пользователей

Когда дело доходит до безопасности, вы должны следовать принципу наименьших привилегий. Не давайте прав, когда это не требуется.

Возможно, у вас есть несколько пользователей в вашей системе Linux . Вам нужно разрешить SSH доступ ко всем из них? Возможно нет.

Подход в этом случае состоял бы в том, чтобы разрешить доступ по SSH выбранным нескольким пользователям и, таким образом, ограничить доступ для всех остальных пользователей.

AllowUsers User1 User2

 

Вы также можете добавить выбранных пользователей в новую группу и разрешить только этой группе доступ к SSH.

AllowGroups ssh_group

 

Вы также можете использовать DenyUsers и DenyGroups, чтобы запретить SSH-доступ определенным пользователям и группам.

 

7. Отключите пересылку X11

Сервер дисплея X11 или X является базовой платформой для графической среды. Экспедиторская X11 позволяет использовать приложение GUI через SSH.

По сути, клиент запускает приложение GUI на сервере, но благодаря пересылке X11 между компьютерами открывается канал, и приложения GUI отображаются на клиентском компьютере.

Протокол X11 не ориентирован на безопасность. Если вам это не нужно, вам следует отключить пересылку X11 в SSH.

X11Forwarding no

 

8. Автоматически смягчить атаки грубой силы

Чтобы предотвратить атаки SSH, вы можете использовать инструмент безопасности, такой как Fail2Ban.

Fail2Ban проверяет неудачные попытки входа с разных IP-адресов. Если эти неудачные попытки пересекают пороговое значение в течение установленного интервала времени, это запрещает IP доступ к SSH в течение определенного периода времени.

Вы можете настроить все эти параметры в соответствии с вашими предпочтениями и требованиями.

 

9. Отключить пароль на основе входа в SSH

Независимо от того, сколько вы пытаетесь, вы всегда будете видеть неудачные попытки входа через SSH на вашем сервере Linux. Злоумышленники умны, а используемые ими скрипты часто заботятся о настройках по умолчанию Fail2Ban-подобных инструментов.

Чтобы избавиться от постоянных атак грубой силы, вы можете выбрать только SSH-вход на основе ключей.

При таком подходе вы добавляете открытый ключ удаленных клиентских систем в список известных ключей на сервере SSH. Таким образом, эти клиентские машины могут получить доступ к SSH без ввода пароля учетной записи пользователя.

Когда у вас есть эта настройка, вы можете отключить пароль на основе входа в SSH. Теперь только клиенты, у которых есть указанные ключи SSH, могут получить доступ к серверу через SSH.

Прежде чем перейти к такому подходу, убедитесь, что вы добавили свой открытый ключ на сервер, и он работает. В противном случае вы заблокируете себя и можете потерять доступ к удаленному серверу, особенно если вы используете облачный сервер, где у вас нет физического доступа к серверу.

 

10. Двухфакторная аутентификация по SSH

Чтобы поднять безопасность SSH на следующий уровень, вы также можете включить двухфакторную аутентификацию. При таком подходе вы получаете одноразовый пароль на свой мобильный телефон, электронную почту или через стороннее приложение для аутентификации.

Вы можете прочитать о настройке двухфакторной аутентификации с помощью SSH здесь.

 

Вывод

Вы можете увидеть все параметры вашего SSH-сервера с помощью этой команды:

sshd -T

 

Таким образом, вы можете легко увидеть, если вам нужно изменить какой-либо параметр для повышения безопасности сервера SSH.

Вы также должны поддерживать SSH и обновлять систему.

Мы перечислили некоторые практические способы укрепления SSH. Конечно, может быть несколько других способов защитить SSH и ваш сервер Linux. Невозможно перечислить их все в одной статье.

Мы надеемся, что вы найдете эти советы полезными. Дайте нам знать, какие советы вы найдете полезными.

Знаете ли вы какие-либо дополнительные советы по безопасности SSH? Почему бы не поделиться им с нами в разделе комментариев?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close