- Советы по усилению защиты Linux сервера
- 2. Удалите устаревшие службы/протоколы связи.
- 3. Закройте неиспользуемые порты на брандмауэре.
- 4. Обезопасте протокол SSH
- 5. Установите и включите Fail2ban/Crowdsec.
- 6. Обеспечьте надежность пароля с помощью модуля PAM.
- 7. Установите сертификат SSL/TLS.
- 8. Отключите слабые протоколы шифрования и ключи шифрования.
Советы по усилению защиты Linux сервера
Обеспечить безопасность вашего Linux-сервера не так сложно, как вы думаете.
Мы составили список лучших политик безопасности, которые вам необходимо реализовать для повышения безопасности вашей системы и поддержания целостности данных.
Продолжение статьи 🐧 LFCA: основные советы по безопасности для защиты системы Linux
Если вы используете системы на основе Ubuntu или Debian, первым шагом обычно является обновление индекса пакетов или репозиториев, как показано далее.
$ sudo apt update
Чтобы проверить наличие всех пакетов с доступными обновлениями, выполните команду:
$ sudo apt list --upgradable
Обновите свои программные приложения до их текущих версий, как показано далее:
$ sudo apt upgrade
Вы можете объединить эти две команды в одну, как показано далее:
$ sudo apt update && sudo apt upgrade
Для RHEL и CentOS обновите свои приложения, выполнив команду:
$ sudo dnf update ( CentOS 8 / RHEL 8 ) $ sudo yum update ( Earlier versions of RHEL & CentOS )
2. Удалите устаревшие службы/протоколы связи.
Несмотря на поддержку множества удаленных протоколов, унаследованные службы, такие как rlogin, telnet, TFTP и FTP, могут создавать огромные проблемы безопасности для вашей системы.
Это старые, устаревшие и небезопасные протоколы, в которых данные отправляются в виде обычного текста.
Если они существуют, рассмотрите возможность их удаления, как показано далее:
$ sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server
В системах на базе RHEL/CentOS выполните:
$ sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv
Ранее мы подробно разобрали сетевые службы:
🐧 Безопасность Linux: как удалить устаревшие сетевые службы
3. Закройте неиспользуемые порты на брандмауэре.
После того, как вы удалили все небезопасные службы, важно просканировать ваш сервер на предмет открытых портов и закрыть все неиспользуемые порты, которые потенциально могут быть использованы хакерами в качестве точки входа.
Предположим, вы хотите заблокировать порт 7070 на брандмауэре UFW.
Команда для этого будет такая:
$ sudo ufw deny 7070/tcp
Затем перезагрузите брандмауэр, чтобы изменения вступили в силу.
$ sudo ufw reload
В случае Firewalld выполните команду:
$ sudo firewall-cmd --remove-port=7070/tcp --permanent
И не забудьте перезагрузить брандмауэр.
$ sudo firewall-cmd --reload
Затем перепроверьте правила брандмауэра, как показано далее:
$ sudo firewall-cmd --list-all
4. Обезопасте протокол SSH
Протокол SSH – это удаленный протокол, который позволяет вам безопасно подключаться к другим устройствам в сети.
Хотя он считается безопасным, настроек по умолчанию недостаточно, и требуются некоторые дополнительные настройки, чтобы еще больше удержать злоумышленников от взлома вашей системы.
У нас есть подробные руководства3 по усилению защиты протокола SSH.
Основные моменты:
- Настройте вход по SSH без пароля и включите аутентификацию с закрытым / открытым ключом.
- Отключите удаленный вход пользователя root по SSH.
- Отключите вход по SSH для пользователей с пустыми паролями.
- Полностью отключите аутентификацию по паролю и придерживайтесь аутентификации с закрытым / открытым ключом SSH.
- Ограничьте доступ определенным пользователям по SSH.
- Настройте ограничение на количество попыток ввода пароля.
5. Установите и включите Fail2ban/Crowdsec.
Fail2ban – это система предотвращения вторжений с открытым исходным кодом, которая защищает ваш сервер от атак брута.
У нас есть руководство по настройке Fail2ban:
- 🕵️ Как установить и настроить Fail2ban на Ubuntu 20.04
- 🔒 Как установить Fail2Ban для защиты SSH на CentOS / RHEL 8
- ♟ Как установить Fail2Ban на CentOS 7
CrowdSec – это инструмент автоматизации безопасности, предназначенный для защиты серверов, служб, контейнеров или виртуальных машин, доступных в Интернете:
🛡️ CrowdSec, открытая, модернизированная и совместная система предотвращения вторжений (fail2ban)
6. Обеспечьте надежность пароля с помощью модуля PAM.
Повторное использование паролей или использование слабых и простых паролей значительно подрывает безопасность вашей системы.
Вы должны применять политику паролей, используя pam_cracklib для установки или настройки требований к надежности пароля.
Используя модуль PAM, вы можете определить надежность пароля, отредактировав файл /etc/pam.d/system-auth.
Например, вы можете установить сложность пароля и предотвратить повторное использование паролей.
7. Установите сертификат SSL/TLS.
Если у вас есть веб-сайт, всегда обеспечивайте безопасность своего домена с помощью сертификата SSL/TLS для шифрования данных, которыми обмениваются браузер пользователя и веб-сервер.
8. Отключите слабые протоколы шифрования и ключи шифрования.
После того, как вы зашифруете соединение с сайтом, подумайте также об отключении слабых протоколов шифрования.
На момент написания этого руководства последним протоколом был TLS 1.3, который является наиболее распространенным и широко используемым протоколом.
Более ранние версии, такие как TLS 1.0, TLS 1.2 и SSLv1 to SSLv3, были связаны с известными уязвимостями.