Поиск по сайту:

20 советов по усилению безопасности сервера CentOS. Часть 1


В этом руководстве рассматриваются только общие советы по безопасности для CentOS 8/7, которые можно использовать для усиления защиты системы. Советы по контрольному списку предназначены для использования в основном на различных типах физических серверов или на машинах (физических или виртуальных), предоставляющих сетевые услуги.

Однако некоторые советы можно успешно применить и к машинам общего назначения, таким как настольные компьютеры, ноутбуки и одноплатные компьютеры размером с карту (Raspberry Pi).

Требования

  • Минимальная установка CentOS 8
  • Минимальная установка CentOS 7

1. Физическая защита

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

Пароли BIOS можно изменить, сбросив перемычки на материнской плате или отсоединив батарею CMOS. Кроме того, злоумышленник может украсть жесткие диски или напрямую подключить новые жесткие диски к интерфейсам материнской платы (SATA, SCSI и т. д.), загрузиться с действующим дистрибутивом Linux и клонировать или копировать данные, не оставляя следов программного обеспечения.

2. Уменьшите влияние шпионажа

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

3. Безопасный BIOS/UEFI

Начните процесс повышения защиты вашего компьютера с обеспечения безопасности настроек BIOS/UEFI, особенно установите пароль BIOS/UEFI и отключите устройства загрузочного носителя (CD, DVD, отключите поддержку USB) в чтобы не допустить изменения неавторизованными пользователями настроек BIOS системы или изменения приоритета загрузочного устройства и загрузки компьютера с альтернативного носителя.

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

4. Безопасный загрузчик

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

5. Используйте отдельные разделы диска

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

/(root) 
/boot  
/home  
/tmp 
/var 

6. Используйте LVM и RAID для резервирования и расширения файловой системы.

Раздел /var — это место, где сообщения журнала записываются на диск. Размер этой части системы может экспоненциально увеличиваться на серверах с интенсивным трафиком, предоставляющих сетевые службы, такие как веб-серверы или файловые серверы.

Таким образом, используйте большой раздел для /var или рассмотрите возможность настройки этого раздела с использованием логических томов (LVM) или объедините несколько физических дисков в одно большее виртуальное устройство RAID 0 для поддержки больших объемы данных. Для обеспечения избыточности рассмотрите возможность использования макета LVM поверх уровня RAID 1.

Для настройки LVM или RAID на дисках следуйте нашим полезным руководствам:

  1. Настройка дискового хранилища с помощью LVM в Linux
  2. Создание дисков LVM с помощью vgcreate, lvcreate и lvextend
  3. Объедините несколько дисков в одно большое виртуальное хранилище
  4. Создайте RAID 1, используя два диска в Linux

7. Измените параметры fstab для защиты разделов данных.

Отдельные разделы предназначены для хранения данных и предотвращения выполнения программ, файлов устройств или бита setuid в разделах этого типа, добавив следующие параметры в файл fstab, как показано ниже. отрывок:

/dev/sda5 	 /nas          ext4    defaults,nosuid,nodev,noexec 1 2

Чтобы предотвратить повышение привилегий и произвольное выполнение сценариев, создайте отдельный раздел для /tmp и смонтируйте его как nosuid, nodev и noexec. .

/dev/sda6  	/tmp         ext4    defaults,nosuid,nodev,noexec 0 0

8. Зашифруйте жесткие диски на уровне блоков с помощью LUKS.

Чтобы защитить конфиденциальные данные от отслеживания в случае физического доступа к жестким дискам машины. Я предлагаю вам узнать, как зашифровать диск, прочитав нашу статью Шифрование данных жесткого диска Linux с помощью LUKS.

9. Используйте PGP и криптографию с открытым ключом

Чтобы зашифровать диски, используйте команду PGP и криптографии с открытым ключом или OpenSSL для шифрования и дешифрования конфиденциальных файлов с помощью пароля, как показано в этой статье «Настройка зашифрованного системного хранилища Linux».

10. Установите только минимально необходимое количество пакетов.

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

11. Часто обновляйте систему

Регулярно обновляйте систему. Синхронизируйте ядро Linux с последними исправлениями безопасности и обновляйте все установленное программное обеспечение до последних версий, введя следующую команду:

yum update

12. Отключить Ctrl+Alt+Del.

Чтобы запретить пользователям перезагружать сервер после того, как они получат физический доступ к клавиатуре, через приложение удаленной консоли или виртуализированную консоль (KVM, интерфейс программного обеспечения виртуализации), вам следует отключить Ctrl+Alt +Del последовательность клавиш, выполнив приведенную ниже команду.

systemctl mask ctrl-alt-del.target 

13. Удалите ненужные пакеты программного обеспечения.

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

Проверьте установленные пакеты с помощью одной из следующих команд:

rpm -qa

Создайте локальный список всех установленных пакетов.

yum list installed >> installed.txt

Просмотрите список ненужного программного обеспечения и удалите пакет, выполнив следующую команду:

yum remove package_name

14. Перезапустите службы Systemd после обновлений демона.

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

systemctl restart httpd.service

15. Удалите ненужные службы

Определите службы, которые прослушивают определенные порты, с помощью следующей команды ss.

ss -tulpn

Чтобы просмотреть все установленные службы с их выходным статусом, введите следующую команду:

systemctl list-units -t service

Например, минимальная установка CentOS по умолчанию включает в себя установленный по умолчанию демон Postfix, который запускается от имени ведущего устройства под портом 25. Удалите сетевую службу Postfix, если ваша машина не будет использоваться в качестве почтового сервера.

yum remove postfix

16. Шифрование передаваемых данных

Не используйте незащищенные протоколы для удаленного доступа или передачи файлов, такие как Telnet, FTP, или другие протоколы с высоким уровнем простого текста, такие как SMTP, HTTP, NFS или SMB, которые по умолчанию не шифрует сеансы аутентификации или отправленные данные.

Используйте только sftp, scp для передачи файлов и SSH или VNC через туннели SSH для подключений к удаленной консоли или доступа к графическому интерфейсу.

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

ssh -L 5902:localhost:5901 remote_machine

На локальном компьютере выполните приведенную ниже команду для виртуального подключения к удаленной конечной точке.

vncviewer localhost:5902

17. Сканирование сетевых портов

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

nmap -sT -O 192.168.1.10

18. Межсетевой экран с фильтрацией пакетов

Используйте утилиту firewalld для защиты системных портов, открытия или закрытия портов определенных служб, особенно общеизвестных портов (<1024).

Установите, запустите, включите и перечислите правила брандмауэра, введя следующие команды:

yum install firewalld
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --list-all

19. Проверьте пакеты протокола с помощью Tcpdump.

Используйте утилиту tcpdump, чтобы локально перехватывать сетевые пакеты и проверять их содержимое на наличие подозрительного трафика (порты источника-назначения, протоколы TCP/IP, трафик второго уровня, необычные запросы ARP).

Для лучшего анализа захваченного файла tcpdump используйте более продвинутую программу, например Wireshark.

tcpdump -i eno16777736 -w tcpdump.pcap

20. Предотвращение DNS-атак

Проверьте содержимое вашего преобразователя, обычно файл /etc/resolv.conf, который определяет IP-адрес DNS-серверов, которые он должен использовать для запроса доменных имен, чтобы избежать вмешательства человека. -средние атаки, ненужный трафик для корневых DNS-серверов, подмена или создание DOS-атаки.

Это только первая часть. В следующей части мы обсудим другие советы по безопасности для CentOS 8/7.