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

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

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

UFW
UFW расшифровывается как «Uncomplicated Firewall» («незамысловатый фаервол»). Его цель – надежно защитить сервер без использования сложного синтаксиса и лишних дополнений.

IPTables
Вероятно, наиболее широко известный фаервол Linux – это IPTables. IPTables – еще один компонент, который используется для управления входящим в состав ядра Linux фаерволом NetFilter. Он существует уже давно и неоднократно подвергался проверкам для обеспечения его надежности. Для создания ограничений трафика IPv6 существует версия IPTables под названием ip6tables.

Безопасное удаленное подключение к системе с помощью SSH
Для управления сервером, к которому нет локального доступа, нужно будет использовать удаленное подключение. Стандартный и достаточно безопасный способ сделать это в системе Linux – использовать протокол SSH, что значит «Secure Shell» (безопасная оболочка).

SSH позволяет выполнить сквозное шифрование, передать незашифрованный трафик по защищенному соединению, использовать X-forwarding (графический интерфейс пользователя по сетевому соединению), и многое другое. В принципе, если нет возможности установить локальное подключение или использовать внеполосное управление, SSH становится главным способом взаимодействия администратора с машиной.

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

Пароль vs вход в систему при помощи SSH-ключей
Вход с помощью пароля используется чаще всего, но он менее безопасен, так как позволяет потенциальному злоумышленнику подбирать пароли до тех пор, пока не будет найдена правильная комбинация. Этот вид атаки называется «прямой подбор», и при помощи современных инструментов его можно легко автоматизировть.

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

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

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

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

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

Tripwire
Tripwire — одна из наиболее известных IDS.

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

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

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

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

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

Обновлено 2 января 2019 г.