Безопасность · 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

Перезагрузка системы

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

reboot
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.