Безопасность · 4 min read · Jan 08, 2026
Защита сервера CentOS с помощью Bastille и PSAD
Эта статья показывает, как защитить сервер CentOS с помощью psad, Bastille и некоторых других настроек. psad — это инструмент, который помогает обнаруживать сканирование портов и другой подозрительный трафик, а программа жесткой настройки Bastille блокирует операционную систему, проактивно настраивая систему для повышения безопасности и уменьшая ее уязвимость к компрометации.
Создание дополнительной учетной записи для системного администрирования
Команда “adduser” создаст учетную запись.
adduser serviceКоманда “passwd” установит пароль для учетной записи “service”.
passwd serviceСоздание каталога для загрузок.
Это создаст каталог для загрузки RPM и других файлов.
mkdir /downloads
cd /downloadsУстановка PSAD
psad — это набор из трех легковесных системных демонов (двух основных демонов и одного вспомогательного демона), которые работают на машинах с Linux и анализируют сообщения журнала Netfilter для обнаружения сканирования портов и другого подозрительного трафика. Дополнительную информацию можно найти здесь.
wget http://www.cipherdyne.com/psad/download/psad-2.4.6.tar.gz
tar xfz psad-2.4.6.tar.gz
cd psad-2.4.6
./install.plУстановка Bastille
Программа жесткой настройки Bastille “блокирует” операционную систему, проактивно настраивая систему для повышения безопасности и уменьшая ее уязвимость к компрометации. Bastille также может оценить текущее состояние жесткой настройки системы, детализированно сообщая о каждом из параметров безопасности, с которыми она работает. Дополнительную информацию можно найти здесь.
wget https://downloads.sourceforge.net/project/bastille-linux/bastille-linux/3.2.1/Bastille-3.2.1-0.1.noarch.rpm
rpm -ivh Bastille-3.2.1-0.1.noarch.rpm Запуск Bastille
Это запустит интерактивный интерфейс.
/usr/sbin/bastille -cОтвет на интерактивный запрос
Эти настройки являются рекомендациями для установки Perfect Setup. Может быть, некоторые значения нужно будет изменить, если было установлено другое программное обеспечение или пакеты.
accept
Хотите ли вы установить более строгие разрешения на утилиты администрирования? -> YES
Хотите ли вы отключить статус SUID для mount/umount? -> YES
Хотите ли вы отключить статус SUID для ping? -> YES
Хотите ли вы отключить статус SUID для at? -> YES
Хотите ли вы отключить r-tools? -> YES
Хотите ли вы отключить статус SUID для usernetctl? -> YES
Хотите ли вы отключить статус SUID для traceroute? -> YES
Должен ли Bastille отключить открытые текстовые r-протоколы, использующие аутентификацию на основе IP? -> YES
Хотите ли вы применить ограничения на срок действия пароля? -> YES
Хотите ли вы установить значение umask по умолчанию? -> YES
Какое значение umask вы хотите установить для пользователей в системе? -> 007
Должны ли мы запретить вход root на tty's 1-6? -> NO
Должен ли Bastille спросить вас о лишних учетных записях для удаления? -> NO
Хотите ли вы защитить парольом GRUB? -> NO
Хотите ли вы отключить перезагрузку CTRL-ALT-DELETE? -> YES
Хотите ли вы защитить парольом режим единственного пользователя? -> NO
Хотите ли вы установить значение по умолчанию для TCP Wrappers и xinetd? -> NO
Хотите ли вы отображать сообщения "Авторизованное использование" во время входа? -> YES
Кто отвечает за предоставление разрешения на использование этой машины? -> YOUR COMPANY NAME
Хотите ли вы установить ограничения на использование системных ресурсов? -> YES
Должны ли мы ограничить доступ к консоли небольшой группе учетных записей пользователей? -> YES
Какие учетные записи должны иметь возможность входа в консоль? -> root
Хотите ли вы настроить учет процессов? -> NO
Хотите ли вы отключить acpid и/или apmd? -> YES
Хотите ли вы отключить услуги PCMCIA? -> YES
Хотите ли вы отключить GPM? -> YES
Хотите ли вы деактивировать скрипт HP OfficeJet (hpoj) на этой машине? -> YES
Хотите ли вы деактивировать скрипт ISDN на этой машине? -> YES
Хотите ли вы деактивировать запуск kudzu при загрузке? -> YES
Хотите ли вы остановить sendmail от работы в режиме демона? -> YES
Хотите ли вы деактивировать named, по крайней мере на данный момент? -> NO
Хотите ли вы деактивировать веб-сервер Apache? -> NO
Хотите ли вы привязать веб-сервер к прослушиванию только на localhost? -> NO
Хотите ли вы привязать веб-сервер к конкретному интерфейсу? -> NO
Хотите ли вы деактивировать следование символическим ссылкам? -> YES
Хотите ли вы отключить печать? -> YES
Хотите ли вы установить скрипты TMPDIR/TMP? -> NO
Хотите ли вы запустить скрипт фильтрации пакетов? -> YES
Вам нужны расширенные параметры сети? -> NO
DNS-серверы: [0.0.0.0/0] -> ОСТАВИТЬ ПО УМОЛЧАНИЮ
Общественные интерфейсы: -> eth+
TCP-сервисы для аудита: -> telnet ftp imap pop3 finger sunrpc exec login linuxconf ssh
UDP-сервисы для аудита: -> 31337
ICMP-сервисы для аудита: -> ПУСТО
Имена TCP-сервисов или номера портов, разрешенных на общественных интерфейсах: -> 21 22 25 53 80 110 111 143 443 631 953 993 995 3306
Имена UDP-сервисов или номера портов, разрешенных на общественных интерфейсах: -> ПУСТО
Принудительный пассивный режим? -> YES
TCP-сервисы для блокировки: -> 2049 2065:2090 6000:6020 7100
UDP-сервисы для блокировки: -> 2049 6770
Разрешенные типы ICMP: -> destination-unreachable echo-reply time-exceeded
Включить проверку адреса источника? -> YES
Метод отклонения: -> DENY
Интерфейсы для DHCP-запросов: -> ПУСТО
NTP-серверы для запроса: -> ПУСТО
ICMP-типы, которые следует запретить на выход: -> destination-unreachable time-exceeded
Должен ли Bastille запускать брандмауэр и включать его при загрузке? -> YES
Хотите ли вы настроить psad? -> YES
Интервал проверки psad: -> 15
Порог сканирования диапазона портов: -> 1
Включить постоянство сканирования? -> NO
Тайм-аут сканирования: -> 3600
Показать все подписи сканирования? -> NO
Уровни опасности: -> 5 50 1000 5000 10000
Электронные адреса: -> root@localhost
Уровень опасности для уведомления по электронной почте: -> 1
Уведомлять о всех новых пакетах? -> YES
Включить автоматическую блокировку сканирующих IP? -> NO
Должен ли Bastille включить psad при загрузке? -> YES
Вы закончили отвечать на вопросы, т.е. можем ли мы внести изменения? -> YES
Редактирование конфигурации SSH
Это потребует дополнительного шага для защиты SSH. Следующие настройки:
- обеспечивают использование SSHv2
- пользователь root не может войти напрямую через SSH
- учетные записи без паролей не будут допущены к входу
- будет отображен баннер входа.
vi /etc/ssh/sshd_configОтредактируйте следующие строки и удалите примечание. Не забудьте сохранить и выйти.
#Protocol 2,1 -> Protocol 2
#PermitRootLogin yes -> PermitRootLogin no
#PermitEmptyPasswords no -> PermitEmptyPasswords no
#Banner /some/path -> Banner /etc/issueПерезагрузка системы
Пожалуйста, перезагрузите систему в качестве окончательной проверки. Убедитесь, что все запускается правильно.
rebootGet new posts in your inbox
No spam. Unsubscribe anytime.