Обложка статьи «Как защитить веб-сервер: базовые советы»

Как защитить веб-сервер: базовые советы

Кристина Анохина

Кристина Анохина, руководитель проектов по информационной безопасности компании BPS

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

При условии, что у вас «белый» IP, к вашему веб-серверу может подключиться из интернета любой пользователь. Также, если вы, подключены к локальной сети, то опять же к вашему веб-серверу может подключиться любой компьютер из этой локальной сети.

По этой причине необходимо правильно настроить компоненты веб-сервера.

Запрет доступа извне к MariaDB/MySQL

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

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

  • сам веб-сервер, который прослушивает 80 порт (HTTPS — 443 порт),
  • сетевая служба системы управления базами данных, MariaDB/MySQL – 3306.

Чтобы MariaDB/MySQL принимали подключения только от веб-приложений, работающих на localhost, исправьте конфигурационный файл my.cnf.

Выглядеть он должен следующим образом:

[mysqld]
datadir="c:/Server/data/DB/data/"
bind-address = 127.0.0.1

После изменения конфигурационного файла, перезапустите службу.

net stop mysql
net start mysql

Теперь никто извне не сможет подключится к MariaDB/MySQL, кроме компьютера, на котором работает веб-сервер.

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

Устанавливайте пароль на MariaDB/MySQL

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

Зачищайте

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

Блокируйте доступ к резерву

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

Прячьте версию веб-сервера

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

Установите файрвол

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

Для веб-серверов c ОС Linux — Apache или nginx — рекомендуются следующие меры защиты:

  1. Необходимо проводить регулярные обновления серверного ПО. Это один из самых простых и действенных способов защиты. Рекомендуется проверять наличие обновлений не реже 1 раза в 1-2 недели.
  2. При установке серверного ПО проводится его диагностика и задаются дефолтные настройки. Эти настройки могут являться «лазом» для злоумышленников. После проверки работоспособности сервера следует удалять дефолтные настройки. Это еще одна не сложная мера по обеспечению безопасности серверов с ОС Linux.
  3. Обсудите с коллегами, какие именно модули вам необходимы для работы, остальные ненужные модули закомментируйте. В случае необходимости вы всегда сможете вернуть модуль, который закомментировали.
  4. Рекомендуется отключить все доступы к сайтам по IP-адресу. Злоумышленники сканируют именно их, а пользователи «ходят» по доменному имени.
  5. Обязательно защитите сервера от DoS и DDoS-атак. Подробные инструкции по защите от данного вида атак можно найти в открытом доступе в интернете. В случае же покупки, все детали защиты должны объяснять компании-продавца. Эта мера безопасности актуальна для всех типов серверов: как Linux, так и Windows.
  6. Необходимо вести запись логов, чтобы в случае возникновения ошибок или какой-то нештатной ситуации можно было проследить, источник. Вести подобные журналы необходимо всегда и это один из важнейших элементов обеспечения защиты.

 

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Honor Cup, бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации