Как и в случае с любой другой операционной системой, безопасность сетевого оборудования Linux является главной задачей. В этой статье мы дадим несколько рекомендаций о том, как повысить уровень безопасности ваших серверов Linux. Снимки экрана и примеры синтаксиса относятся к системам, в которых работают дистрибутивы Linux на основе Kali Linux, CentOS, RHEL, Ubuntu и Debian.
Незашифрованные или незашифрованные данные, которые хранятся или передаются по сети, уязвимы для анализа и извлечения пакетов. По крайней мере, передаваемые данные должны быть скремблированы или зашифрованы с использованием надежного протокола шифрования с ключами и/или цифровыми сертификатами.
Передача файлов должна выполняться по защищенным протоколам, таким как scp, ssh, rsync или sftp. OpenSSH, SFTP или FTPS (FTP через SSL) добавляют Secure Sockets Layer (SSL) или шифрование TLS к стандартному протоколу передачи файлов (FTP). Используя специальные инструменты sshfs и fuse, также возможно смонтировать файловую систему удаленного сервера или ваш собственный безопасный домашний каталог.
Вы можете использовать следующий синтаксис для удаления устаревших служб передачи файлов, таких как NIS или rsh, из вашей системы:
# yum erase xinetd ypserv tftp-server telnet-server rsh-server
На серверах Linux на базе Debian или Ubuntu для устранения небезопасных сервисов можно использовать команды apt-get или apt:
$ sudo apt-get –purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server
Для данных в состоянии покоя большинство дистрибутивов Linux позволяют зашифровать жесткие диски перед установкой. В Kali Linux выберите параметры «Управляемое использование всего диска» и «Настроить зашифрованный LVM», чтобы настроить диспетчер зашифрованных логических томов.
Чтобы ограничить количество других служб, которые могут быть скомпрометированы из-за нарушения безопасности, администраторы Linux должны запускать разные сетевые службы на отдельных серверах или экземплярах виртуальных машин (ВМ). Программное обеспечение для виртуализации, такое как OpenVZ, может быть установлено отдельно в дистрибутивах RHEL и CentOS Linux.
Чтобы еще больше защитить вашу хост-сеть в Kali Linux, вы можете предпринять следующие шаги:
Чем больше приложений или веб-служб вы установили, тем выше вероятность стать жертвой уязвимостей программного обеспечения или злоумышленниками, которые могут скомпрометировать ваши программы. Поэтому ограничивайте количество установок, которые вы добавляете в основную систему, только теми приложениями, которые строго необходимы. Команды apt-get и / или dpkg или специальный менеджер пакетов RPM, такой как yum, можно использовать для проверки всего установленного программного обеспечения в вашей системе, и они включают команды для удаления любых нежелательных пакетов или служб.
Вот пример синтаксиса с использованием dpkg и apt-get:
# dpkg –list # dpkg –info packageName # apt-get remove packageName
Также важно регулярно обновлять и исправлять программное обеспечение, чтобы устанавливать последние исправления безопасности и пользоваться новейшими инструментами и функциями ваших приложений. В системах Debian или Ubuntu Linux можно настроить автоматические обновления для вашего серверного программного обеспечения с помощью команд apt-get или apt:
$ sudo apt-get install unattended-updates apt-listchanges bsd-mailx
Linux включает ряд инструментов безопасности, которые могут наложить ограничения на сети и другие программы и защитить от плохо настроенного или скомпрометированного программного обеспечения.
SELinux (Linux с улучшенной безопасностью) предоставляет ряд политик безопасности для ядра Linux, включая гибкий обязательный контроль доступа (MAC). Механизм имеет три режима настройки:
Запуск ядра MAC защищает сервер Linux от вредоносных или некорректных приложений, которые могут повредить или разрушить систему.
Вы можете использовать команды useradd или usermod для создания и поддержки учетных записей пользователей Linux. Как и в любой ИТ-среде, применяются стандартные критерии надежных паролей (восемь или более символов, сочетание букв, цифр и символов, регулярно меняющееся). Вы можете использовать команду изменения, чтобы настроить количество дней между сменой пароля и датой последнего изменения пароля.
Команда passwd может блокировать и разблокировать учетные записи:
# заблокировать аккаунт passwd -l userName # разблокировать аккаунт passwd -u userName
Команда faillog отображает неудачные попытки входа в систему в виде записей журнала сбоев и позволяет администраторам устанавливать пределы ошибок входа в систему.
Чтобы защититься от наличия устаревших учетных данных и забытых учетных записей в сети, используйте централизованную систему аутентификации. Такая служба, как OpenLDAP для клиентов и серверов, позволяет администраторам осуществлять централизованный контроль над учетными записями Linux или UNIX и данными аутентификации. Это также позволяет им синхронизировать данные аутентификации между серверами.
Kerberos выполняет аутентификацию в качестве доверенной сторонней службы аутентификации. Он использует политику «криптографического общего секрета», которая предполагает, что пакеты, проходящие по небезопасной сети, могут быть прочитаны, изменены и повторно вставлены. Удаленный вход в систему, удаленное копирование, безопасное межсистемное копирование файлов и другие задачи с высоким риском могут выполняться с использованием криптографии с симметричным ключом.
Наконец, не забывайте физические аспекты сетевой безопасности Linux. К ним относятся ограничение физического доступа к центрам обработки данных и оборудованию (авторизованные пользователи, проверка, наблюдение и т. д.). Меры физической безопасности также включают специальные протоколы для защиты сетевого оборудования.
Например, вы можете отключить загрузку серверов Linux с внешних устройств, таких как DVD-диски, компакт-диски или USB-накопители. Для этого вы можете установить пароли загрузчика BIOS и grub, чтобы другие пользователи не могли изменять и отменять настройки безопасности сервера. Вы также можете получить доступ к настройкам безопасности на странице администратора любого внутреннего веб-сервера на материнской плате Linux, чтобы изменить пароли и права администратора по умолчанию.