Защита системы Linux: 11 советов по безопасности

1
10465

Защита системы – важная составляющая работы. В статье 11 полезных советов, которые помогут сделать вашу UNIX-систему более защищённой.

защита системы

Ежедневно обнаруживаются десятки уязвимостей, создаются сотни эксплоитов. Не исключено, что уязвимость может быть найдена и в UNIX-системах, поэтому, вам стоит обезопасить себя от “нежелательного вторжения”, даже если вы периодически обновляете ОС.

Защитите терминал

Вы можете защитить консоль, ограничив права root на использование определённых терминалов. Сделать это можно, указав терминалы, которые будет использовать root в /etc/securetty.

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

Всегда меняйте пароль

В наши дни просто необходим сильный пароль, но чтобы добавить ещё один слой защиты, следует время от времени его менять.

Вы можете забывать о смене пароля, поэтому должно быть что-то, что будет вам напоминать об этом.

Есть два способа добиться этого:

  1. Использование chage
  2. Установка значений по умолчанию в /etc/login.defs

Мы используем параметр -M для установки срока пароля. Вы можете использовать chage без параметров, и тогда система попросит ввести вас значение.

Вы также можете перейти в /etc/login.defs и поменять значения в соответствии с вашими потребностями.

Имейте в виду, что вам следует заставить других пользователей создавать надёжные пароли, используя pam_cracklib.

Как только вы его установите, перейдите в /etc/pam.d/system-auth и введите что-то вроде этого:

Оповещения sudo

sudo-команды значительно облегчают жизнь, однако могут привести к проблемам безопасности Linux, которые могут испортить вам жизнь.

Все конфигурации sudo лежат в /etc/sudoers.

Вы можете запретить пользователям выполнять команды как root. Вы можете сделать так, чтобы во время использования sudo, приходило письмо с оповещением на почту. Добавьте эти строки в конец файла:

Защита системы: SSH

Если мы говорим о Linux, то стоит упомянуть SSH. SSH — это протокол прикладного уровня, позволяющий удалённо управлять операционной системой. Это очень важная вещь, и если вы используете SSH, необходимы хотя бы минимальные настройки безопасности.

Файл конфигурации лежит в /etc/ssh/sshd_config.

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

Вы также можете запретить вход с root’а: обновите значение PermitRootLogin, поставив ‘no’

И, конечно же, замените обычный пароль на открытый и закрытый ключи:

Что касается тайм-аутов SSH, эта распространённая проблема может быть решена путём настройки перечисленных ниже параметров.

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

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

Вы также можете указать пользователей или группы, которым разрешено пользоваться SSH:

Защита системы: SSH + Google Authenticator

Кроме указанного способа вы также можете использовать двухфакторную аутентификацию для SSH, например Google Authenticator.

Далее запустите, чтобы установить.

На вашем телефоне должно быть установлено приложение Google Authenticator. Отредактируйте файл /etc/pam.d/sshd, добавив следующую строку:

Последнее, что необходимо сделать – сообщить SSH об установленном аутентификаторе, добавив следующую строку в /etc/ssh/sshd_config:

Теперь перезапустите SSH.

Теперь, когда вы будете входить в систему, используя SSH, вас попросят ввести код подтверждения. Ваш SSH стал более защищённым и надёжным.

Защита системы посредством обнаружения вторжений с помощью Tripwire (мониторинг файловой системы)

Tripwire – один из лучших инструментов для обеспечения безопасности Linux. Это система обнаружения вторжений (HIDS). Задача Tripwire – мониторинг файловой системы и фиксирование изменений файлов.

Для того, чтобы установить Tripwire, нужен доступ к репозиторию EPEL.

Как только вы установили EPEL, можете установить Tripwire:

Во-первых, создайте ключевые файлы:

Вам будет предложено ввести парольную фразу для этих файлов. Используйте сильный пароль.

Теперь вы можете настроить Tripwire, отредактировав файл /etc/tripwire/twpol.txt. Файл очень легко редактировать, потому что каждая строка имеет пояснения в виде комментариев.

Как только закончите, инициализируйте Tripwire:

Процесс сканирования займёт некоторое время, это зависит от размера и количества хранящихся файлов. Любые изменения в файловой системе считаются вторжением. Администратор будет уведомлён, затем ему нужно будет восстановить систему с файлами, которым можно доверять.

По этой причине любые системы должны проверяться через Tripwire. Для этого используйте следующую команду:

Последнее, что касается Tripwire, я бы порекомендовал вам защитить файлы twpol.txt и twcfg.txt для создания ещё одного слоя безопасности. У Tripwire очень много опций и настроек, вы можете посмотреть их с помощью man tripwire.

Защита системы с помощью Firewalld(CentOS)

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

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

linux security firewall-cmd state

Вы можете вывести предопределенные зоны вот так:

linux security firewall-cmd --get-zones

Каждая из этих зон имеет “уровень доверия”. Значение может быть обновлено так:

Вы можете получить всю информацию о конкретной зоне следующим образом:

Также вы можете вывести все поддерживаемые службы:

linux security firewall get services

Затем вы можете включить в список дополнительные службы или удалить конкретные:

Вывести открытые порты для конкретной зоны:

Удалить или добавить порты в зону:

Добавить или удалить переброску портов для зоны:

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

Возвращаемся к Iptables

Некоторые люди предпочитают iptables firewall Firewalld’у, вы можете с лёгкостью вернуться к iptables, если раньше использовали Firewalld.

Первым делом, отключите Firewalld:

Установите iptables:

Теперь запустите:

В конце перезагрузите систему.

Неизменяемые файлы (запрет на модификацию файла)

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

Вы можете защитить любой файл, который захотите. Используем команду chattr.

linux security immutable files

Неизменяемость файла можно убрать:

linux security remove immutalbe flag

Управление SELinux с помощью aureport

Отключённый SELinux – обычная вещь, если вы используете хостинговые панели управления.

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

Утилита aureport разработана для создания табличных отчётов для логов аудита.

linux security aureport

Вы можете создать список исполняемых файлов:

linux security aureport -x Кроме того, aureport можно применять для генерации полного отчёта об аутентификациях.

linux security aureport -au

Также вы можете вывести список неудачных попыток аутентификации:

linux security aureport failed summery

Или, может быть, итог успешных аутентификаций:

linux security aureport success summery

Используем sealert

В добавок к aureport, вы можете использовать инструмент sealer. Установка:

Теперь у нас есть инструмент, возвращающий объявления из файла /var/log/audit/audit.log и дающий нам понять о проблемах SELinux, если таковые возникают.

Вы можете использовать это примерно так:

linux security sealert -a

Лучше всего в генерируемых отчётах то, что, если обнаружена проблема, вы с лёгкостью сможете найти способ её решения.

Заключение

В этой статье мы рассмотрели только некоторые из трюков для обеспечения безопасности Linux. Однако существует ещё множество различных способов для множества популярных инструментов, которые нуждаются в усилении защиты.
Надеемся, вы узнали что-то новое из статьи и сочли это полезным.

Оригинал

Статьи по теме:

Интересуетесь Linux?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




1 комментарий

Оставьте комментарий