🛡️ Полное руководство по безопасности веб-серверов

Мануал
Многие советы по безопасности, как правило, делятся на два лагеря: предназначенные для предприятий с постоянно работающими командами безопасности и инфраструктуры, или быстрая установка инструментов без контекста для одиночных веб-разработчиков.
В этой статье мы пойдем по среднему пути и рассмотрим некоторые способы безопасного управления веб-сервером для различных распространенных сценариев развертывания.
Цель – обеспечить лучшее понимание инструментария и безопасности для смешанных команд разработчиков и сисадминов, которые часто встречаются в малом бизнесе, стартапах и при создании интересных одиночных проектов.
Для каждой темы мы подробно рассмотрим инструментарий, когда и почему его следует применять (и когда не следует), а также предоставлю пошаговые инструкции по его установке и запуску на веб-сервере Linux.
Они расположены в том порядке, в котором мы предлагаем их применять, исходя из простоты реализации и преимуществ безопасности.
  • Настройка автоматической установки исправлений безопасности
  • Настройка брандмауэра на базе хоста.
  • Установка и настройка брандмауэра веб-приложений.
  • Настройка обнаружения вторжений и активного реагирования на основе хоста.
Я не рассматриваю общие вопросы укрепления серверов и служб.
Каждая ОС, сервер веб-приложений и часть вашего стека, вероятно, имеет свои собственные лучшие практики укрепления, которым также следует следовать отдельно.

Автоматизированное обновление

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

Всегда старайтесь поддерживать все запущенные службы в актуальном состоянии.

К счастью, мы можем автоматически применять исправления безопасности с помощью инструмента, называемого unattended-upgrades

Ранее мы его уже рассматривали:

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

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

Все должны использовать этот метод – к счастью, он безопасен для продакшена!

Обновления на Ubuntu и Debian

Это очень просто!

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

$ sudo apt install unattended-upgrades
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Обновления на RHEL и CentOS

На вариантах Red Hat для включения обновлений нам обычно приходится изменять конфигурационный файл /etc/yum/yum-cron.conf , но это очень просто.
Предпочтительным пакетом является yum-cron.
Ранее уже был рассмотрен:
$ yum install -y yum-cron
$ cat /etc/yum/yum-cron.conf | grep -E 'update_cmd|download_updates|apply_updates'
update_cmd = security
download_updates = yes
apply_updates = yes
$ systemctl start yum-cron.service

Настройка хостового фаерволла

Брандмауэры – это первая линия защиты от сетевых атак и эксплойтов.

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

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

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

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

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

Установка и настройка WAF

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

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

Web application firewall (WAF) может помочь снизить некоторые из этих рисков, отфильтровывая такие распространенные атаки, как SQL Injection и Cross Site Scripting.

Это не безотказная защита – опытные хакеры почти всегда могут обойти ее, но она предотвращает распространенные атаки ботов.

Кому следует избегать WAF?

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

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

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

Обнаружение вторжений и активная защита

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

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

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

По этой причине следует тщательно взвесить затраты усилий и преимущества такой настройки.

Кроме того, журналы, которые генерируются по умолчанию, хранятся на сервере.

В случае компрометации эти логи  уже нельзя считать точными, поскольку злоумышленник может их изменить.

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

Заключение

Существует множество способов обеспечить безопасность сервера.

Автоматическая установка исправлений безопасности и узкий набор правил брандмауэра только начало.

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

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

 

 

Добавить комментарий