Руководство по усилению защиты вашего веб-сервера

Опубликовано: 2022-03-15

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

Под усилением защиты системы понимается процесс улучшения защиты системы таким образом, чтобы хакеру-злоумышленнику было труднее взломать эту систему и закрепиться в сети.

Процесс усиления защиты веб-сервера, конечно же, будет зависеть от типа используемого вами веб-сервера (например, HTTP-сервер Apache, Nginx, Microsoft IIS…), однако существует ряд основных принципов и передовых практик для улучшения вашего безопасности веб-сервера, о которых вы должны помнить, независимо от того, какой веб-сервер вы используете.

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

1. Обновляйте свой веб-сервер

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

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

Лучший способ убедиться, что программное обеспечение вашего веб-сервера постоянно обновляется, — это найти систему или процедуру, которая подходит вам или тому, кому поручено обновлять программное обеспечение вашего веб-сервера и операционной системы. В большинстве случаев это сводится к периодическим напоминаниям (например, о настройке повторяющегося события календаря), для которых вы будете выделять время.

2. Удалите ненужный софт и модули

Хотя это не всегда может показаться так, веб-серверы — это сложные части программного обеспечения. Некоторые веб-серверы, такие как HTTP-сервер Apache, поставляются с рядом «модулей» (аналогично плагинам для WordPress), которые вы можете включать или отключать в зависимости от вашего варианта использования. Известно, что злоумышленники используют функции и уязвимости модуля веб-сервера для сбора дополнительной информации о вашем веб-сервере. Хотя это может быть не единственной причиной успешной атаки, весь смысл усиления защиты веб-сервера заключается в том, чтобы использовать подход глубокой защиты и затруднить проникновение злоумышленников даже в самые крошечные точки опоры.

Практическим примером этого являются такие модули, как mod_status Apache HTTP Server. Этот модуль предназначен для получения обзора активности и производительности сервера (текущие хосты, количество обрабатываемых запросов, количество бездействующих рабочих и загрузка ЦП) через URL-адрес /server-status. Такая функция может предоставить злоумышленнику довольно хорошее представление о том, насколько хорошо работает ваш веб-сервер — довольно полезный инструмент в случае атаки типа «отказ в обслуживании» (DoS).

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

  1. Вы используете FTP-сервер, такой как vsftpd , который вам не нужен?
  2. Есть ли агент передачи почты, такой как Sendmail или Postfix, который вам больше не нужен? Если вы используете сторонний сервис для улучшения доставки электронной почты WordPress, вам не понадобится такой сервис.

Эти приложения/службы и многие другие на сервере являются компонентами, которые имеют свои особенности безопасности, уязвимости и требования к исправлениям.

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

3. Ужесточить контроль доступа

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

  • Не используйте пользователя root. Если вам нужно выполнить административные задачи, используйте вместо этого sudo;
  • Используйте надежные системные (и WordPress) пароли;
  • Используйте ключи SSH вместо пароля при использовании SSH;
  • Рассмотрите возможность ограничения доступа по SSH/RDP с определенных IP-адресов;
  • Включите двухфакторную аутентификацию (2FA) для любых учетных записей облачных провайдеров;
  • Убедитесь, что у каждого человека, обращающегося к веб-серверу, есть собственный пользователь — не делитесь учетными записями пользователей между пользователями;
  • Явно ограничьте доступ к оболочке/SSH/удаленному рабочему столу тем людям, которым это необходимо.

4. Настройка мониторинга целостности файлов (FIM)

Мониторинг целостности файлов (FIM) помогает системным администраторам определять, когда файлы изменяются на веб-сервере. Хотя некоторые файлы изменяются довольно часто в рамках обычных операций веб-сервера, файлы, такие как установка WordPress, никогда не должны изменяться, если только администратор не вносит изменения (например, обновляет файл wp-config.php) или не обновляет сам WordPress.

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

5. Используйте защиту от DDoS и службу WAF

Вместо того, чтобы открывать свой веб-сервер напрямую в Интернет, вам следует рассмотреть возможность использования таких сервисов, как Cloudflare, Fastly, Akamai или аналогичных, чтобы защитить себя от широкого спектра атак, включая атаки распределенного отказа в обслуживании (DDoS). Атака типа «отказ в обслуживании» (DoS) — это тип атаки, при которой злоумышленник стремится перегрузить веб-сайт запросами и, как следствие, помешать вашему веб-серверу обслуживать запросы законных пользователей.

В дополнение к смягчению последствий отказа в обслуживании такие облачные сервисы обычно также предлагают возможности брандмауэра веб-приложений (WAF), которые способны остановить многие заурядные атаки на веб-приложения, такие как базовая инъекция SQL (SQLi) и простая межсайтовая атака. Скрипты (XSS). Хотя WAF не являются решением для уязвимостей веб-приложений, они обеспечивают некоторую защиту от эксплуатации, особенно с помощью правил WAF, оптимизированных для веб-сайтов WordPress.

Каковы следующие шаги?

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

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