Обычно пользователи веб-сервера Apache обнаруживают его уязвимости, когда он был взломан. Хотя большинство его уязвимостей — это простая невнимательность и недоработка самих пользователей. И для того чтобы защитить свой сервер, нужно предпринять ряд простых действий, о которых мы поговорим чуть ниже.
Веб-сервер Apache — это программное обеспечение, которое хранит какие-то файлы (очень часто это файлы веб-ресурсов) и открывает доступ к этим файлам другим пользователям интернета. Обычно веб-сервер состоит из двух основных частей:
аппаратная часть — это компьютер (жесткие диски), на котором сохраняется информация;
программная часть — это ПО, которое устанавливается на компьютер, чтобы наладить работу с файлами.
В основном киберпреступники и хакеры нацеливаются на программное обеспечение сервера, чтобы получить к нему доступ. Для этих действий они используют уязвимости любых серверов, в том числе и Apache.
Распространенные уязвимости Apache
Когда злоумышленник ищет способ взломать сервер, он будет искать любые возможности это сделать. Отследить весь комплекс его действий не представляется возможным, потому что злоумышленники тоже умные и прагматичные и не всегда действуют по шаблону. Однако злоумышленники тоже люди, поэтому они так же ленивы, как и все. Свой взлом они всегда начинают с поиска простых, но распространенных уязвимостей, чтобы сильно не заморачиваться над взломом. От них-то вы просто обязаны уберечь свой сервер, чтобы путь злоумышленника не был таким легким. Тогда, вполне вероятно, он отступит.
К числу распространенных уязвимостей серверов Apache относятся:
Настройки сервера по умолчанию. К сожалению, это самая распространенная уязвимость всех серверов. В этом случае злоумышленникам не составит труда узнать логин и пароль пользователя и открыть себе доступ к серверу.
Ошибки в операционной системе или в веб-сервере. Любая обнаруженная ошибка в самом сервере или в операционной системе — это небольшая форточка для злоумышленников.
Отсутствие систем защиты серверов. Очень часто пользователи не устанавливают дополнительные системы защиты: антивирусы, брандмауэры, экраны, сканеры и т. д. А если нет преград, то и взлом становится проще.
В эти три пункта распространенных уязвимостей входит большое количество недоработок пользователей, о которых мы поговорим чуть ниже.
Вообще, использование собственных веб-серверов Apache идет на убыль. Это раньше считалось вполне нормальным организовывать на собственном компьютере локальный сервер и размещать там свой сайт. Но со временем понимание, что по собственному компьютеру «ходят» люди со всего интернета, наводило ужас, поэтому пользователи стали активнее пользоваться виртуальным хостингом. То есть начали арендовать «часть» компьютера у профессиональных компаний, которые обеспечивают должную защиту своим серверам. Поэтому пользователям стало ненужным заботиться о защите своего сервера. Это актуально, когда нужно разместить в интернете один или несколько сайтов.
Если же вам все равно нужно наладить работу своего собственного сервера, тогда нужно прочитать наши рекомендации, как его можно по максимуму обезопасить.
Как избежать уязвимости сервера Apache
Все описанные ниже рекомендации не дают гарантии, что ваш сервер будет защищен на 100%. Как мы уже говорили, злоумышленники тоже не дремлют, поэтому вполне вероятно, что прямо сейчас рождается новый способ взламывать серверы, о котором мы пока еще не знаем.
Проверьте актуальность версии вашего сервера. Обновления — это хорошо. Очень часто в обновлениях устраняют открывшиеся уязвимости. Если вы не устанавливаете обновления, то эти уязвимости у вас остаются открытыми, и ими могут воспользоваться злоумышленники. Актуальность обновлений касается не только самого сервера, но и всего программного обеспечения, которое его окружает.
Не забудьте про установку дополнительных средств защиты: антивирус, брандмауэр, сканер и др. Также настройте шифрование SSH.
Измените настройки по умолчанию: идентификатор, пароль, номера портов и др.
Скрывайте информацию о сервере. По умолчанию вся информация о серверах находится в открытом доступе, и любой пользователь может прочитать версию самого сервера, версию операционной системы, на которой он работает, какие модули установлены на вашем сервере и др. Любую такую информацию злоумышленник может использовать для взлома. Например, ваш сервер хорошо защищен, но есть брешь в операционной системе — вот именно ее и будет использовать киберпреступник. Все это можно отключить в файлах конфигурации вашего сервера.
Нужно убедиться, что ваш Apache обслуживает файлы только в пределах своего веб-каталога.
Выключите просмотр директорий.
Отключите у вашего Apache функцию перехода по символьным ссылкам.
Отключите поддержку файлов .htaccess.
Отключите все неиспользуемые модули, оставив только те, которые необходимы для обеспечения защиты вашего сервера.
Нужно проконтролировать, чтобы только у администратора сервера были root-права для корректирования конфигурационных файлов.
Уменьшите значение Timeout — это понизит воздействие потенциальных DDoS-атак.
Поставьте ограничение на длинные запросы.
Ограничьте доступ к вашему ресурсу, расположенному на сервере, по IP, если это актуально.
Запустите Apache в Chroot-среде. Модуль Chroot дает возможность запускать серверные процессы в изолированной среде. Это означает, что если один процесс будет взломан, то остальные останутся целыми.
Отключите удаленное администрирование сервера.
Заключение
Основные уязвимости Apache закрываются более тонкой настройкой работы сервера. Поэтому лучше уделить этому время, чем потом страдать от рук злоумышленников.
Web