20 полезных функций и инструментов безопасности для администраторов Linux

1. Управление пользователями и группами на Linux

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

Обратите внимание, что пользователем может быть человек или программный объект, например, владелец процессов и файлов веб-сервера.

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

2. Linux PAM

PAM (Pluggable Authentication Modules) – это мощный и гибкий набор библиотек для общесистемной аутентификации пользователей.

Каждая библиотека функций, поставляемая вместе с PAM, может быть использована приложением для запроса аутентификации пользователя.

Это позволяет системному администратору Linux определять, как приложения аутентифицируют пользователей.

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

3. Брандмауэр на базе сервера/хоста

Linux поставляется с подсистемой Netfilter, которая предлагает функции фильтрации пакетов, все виды трансляции сетевых адресов и портов, многоуровневые API для сторонних расширений и многое другое.

Все современные брандмауэры Linux, такие как UFW (Uncomplicated Firewall), firewalld, nftables (наследник iptables) и другие, используют эту подсистему для фильтрации пакетов, чтобы помочь регулировать, защищать и блокировать сетевой трафик, идущий в или из системы Linux.

4. Linux SELinux

Проект, изначально разработанный Агентством национальной безопасности США (АНБ), Secure Enhanced Linux (или сокращенно SELinux) – это усовершенствованная функция безопасности Linux.

Это архитектура безопасности, интегрированная в ядро Linux с помощью модулей безопасности Linux Security Modules (LSM).

Она дополняет традиционную модель дискреционного контроля доступа (DAC) в Linux, обеспечивая обязательный контроль доступа (MAC).

Она определяет права доступа и перехода каждого пользователя, приложения, процесса и файла в системе; она регулирует взаимодействие этих объектов с помощью политики безопасности, которая определяет, насколько строгой или мягкой должна быть данная установка системы Linux.

SELinux поставляется предустановленным в большинстве, если не во всех дистрибутивах на базе RHEL, таких как Fedora, CentOS-stream, Rocky Linux, AlmaLinux и др.

5. AppArmor

Подобно SELinux, AppArmor также является модулем безопасности Mandatory Access Control (MAC), который обеспечивает эффективную и простую в использовании систему безопасности приложений Linux.

Многие дистрибутивы Linux, такие как Debian, Ubuntu и openSUSE, поставляются с установленным AppArmor.

6. Fail2ban

Fail2ban – это широко используемый инструмент безопасности сервера, который сканирует логи на наличие IP-адресов, демонстрирующих вредоносную активность, такую как постоянные неудачные попытки входа в систему и т.д., и обновляет правила брандмауэра для запрета таких IP-адресов на определенное время.

7. ModSecurity (WAF)

ModSecurity, разработанный в лаборатории SpiderLabs компании Trustwave, является бесплатным и открытым исходным кодом, мощным и многоплатформенным механизмом WAF.

Он работает с веб-серверами Apache, NGINX и IIS.

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

8. Журналы безопасности

Журналы безопасности помогают отслеживать события, связанные с безопасностью всей вашей IT-инфраструктуры или отдельной Linux-системы.

Эти события включают успешные и неудачные попытки доступа к серверу, приложениям и т.д., активацию IDS, срабатывание предупреждений и многое другое.

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

9. OpenSSH

OpenSSH – это ведущий инструмент для удаленного входа в систему с помощью сетевого протокола SSH.

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

10. OpenSSL

OpenSSL – это популярная криптографическая библиотека, доступная в виде инструмента командной строки, которая реализует сетевые протоколы Secure Sockets Layer (SSL v2/v3) и Transport Layer Security (TLS v1) и связанные с ними стандарты криптографии.

Он обычно используется для генерации закрытых ключей, создания CSR (запросов на подписание сертификата), установки SSL/TLS-сертификата, просмотра информации о сертификате и многого другого.

11. Система обнаружения вторжений (IDS)

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

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

Существует множество программных IDS для Linux, таких как Tripwire, Tiger, AIDE и другие.

12. Инструменты мониторинга Linux

Чтобы обеспечить доступность различных систем, сервисов и приложений в ИТ-инфраструктуре вашей организации, вам необходимо следить за этими объектами в режиме реального времени.

И лучший способ добиться этого — через Icinga 2 и не только.

13. Инструменты VPN для Linux

VPN (сокращение от Virtual Private Network) – это механизм шифрования вашего трафика в незащищенных сетях, таких как Интернет.

Он обеспечивает безопасное подключение к сети вашей организации через публичный интернет.

14. Средства резервного копирования и восстановления системы и данных

Резервное копирование данных гарантирует, что ваша организация не потеряет важные данные в случае каких-либо незапланированных событий.

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

15. Средства шифрования данных на Linux

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

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

16. Lynis – инструмент аудита безопасности

Lynis – это бесплатный, с открытым исходным кодом, гибкий и популярный инструмент для аудита безопасности хоста и сканирования и оценки уязвимостей.

Он работает на системах Linux и других Unix-подобных операционных системах, таких как Mac OS X.

17. Nmap – сетевой сканер

Nmap (сокращение от Network Mapper) – это широко используемый, бесплатный, с открытым исходным кодом и многофункциональный инструмент безопасности для исследования сети или аудита безопасности.

Он является кроссплатформенным, поэтому работает на Linux, Windows и Mac OS X.

18. Wireshark

Wireshark – это полнофункциональный и мощный анализатор сетевых пакетов, который позволяет захватывать пакеты в реальном времени.

Он также является кроссплатформенным и работает на Unix-подобных системах, таких как операционные системы на базе Linux, Mac OSX, а также Windows.

19. Nikto

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

Он пытается идентифицировать установленные веб-серверы и программное обеспечение перед выполнением любых проверок.

20. Обновление Linux

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

Вот список основных команд, которые помогут убедиться в наличии последних изменений вашей ОС:

  • sudo apt update [На Debian, Ubuntu and Mint];
  • sudo yum update [На RHEL/CentOS/Fedora и Rocky Linux/AlmaLinux];
  • sudo emerge – sync [На Gentoo Linux];
  • sudo pacman – Syu [На Arch Linux];
  • sudo zypper update [На OpenSUSE].