Как я могу убедиться, что моя конфигурация apache безопасна? я имею ввиду против атак и так далее ...
Если ваша операционная система поддерживает это, конфигурация и контент должны быть доступны только для чтения для идентификатора пользователя, под которым работает сервер. Только каталоги, которые, как известно, необходимы для динамического содержимого, генерируемого Apache, должны быть доступны для записи Apache. Ограничьте типы файлов, обслуживаемые из этих каталогов.
Некоторые общие (не только для Apache) подсказки:
Лучшее решение - убедиться, что вы действительно понимаете все, что есть в вашем файле конфигурации. Apache httpd не очень помогает, так как его синтаксис и логика файла конфигурации намного сложнее, чем могло бы быть. В любом случае, старайтесь не использовать повторно (вырезать и вставить) конфигурацию, которую вы не понимаете, особенно в системах, сильно отличающихся от вашей. Не загружайте и не включайте модули, которые вам не нужны для работы вашего сервера. И при включении дополнительных привилегий для некоторых клиентов или ресурсов постарайтесь сохранить правила как можно более конкретными.
При использовании файлов конфигурации по умолчанию, которые поставляются с вашим дистрибутивом, вы обычно можете считать, что это безопасно, даже если вы не совсем понимаете это. Тем не менее, вы должны позаботиться о добавлении своего кода, чтобы он взаимодействовал с конфигурацией по умолчанию - например, даже если вы не предоставляете доступ к какому-либо каталогу (например, some / cgi-bin /), он может быть предоставлен по умолчанию.
Нетривиальный вопрос - нужно учитывать так много факторов, и это также зависит от ваших настроек и требований.
Сначала вам нужно прочитать справочную информацию и изучить.
Также может быть полезно, чтобы уточнить ваше понимание, запустить какой-то сканер в ВАШЕЙ системе - например, Nikto или один из коммерческих сканеров PCI, например McAfee's (http://www.mcafeesecure.com/us/technology-intro.jsp). Я использую оба.
Конфигурация по умолчанию в большинстве дистрибутивов будет довольно безопасной. Вам решать, как поступить иначе. ;)
Поэтому перед внедрением пользовательских правил htaccess, включением поддержки символических ссылок, добавлением новых модулей и т. Д. Обязательно спросите себя, как это изменение связано с безопасностью. Изучите эту конкретную директиву в контексте безопасности через google и apache.org.
Конфигурация Apache по умолчанию, хотя и безопасна, может содержать модули и функции, которые вам не требуются. Таким образом, вы можете отключить ненужные модули, поддержку cgi, поддержку ssi, просмотр каталогов и т. Д. Есть множество статей, доступных для поиска по «усилению защиты Linux» и начинающих с тех, которые не включают mod_security или повторную компиляцию. Я рекомендую тестировать каждое изменение по мере его внесения, чтобы знать, какие из них нарушают работу вашего сайта.
Кроме того, зачастую более важной задачей защиты самого Apache является защита содержимого, которое обслуживает Apache. Прочтите о надлежащих разрешениях сайта и файлах конфигурации, связанных с используемыми языками (php.ini).
Извините, без более конкретного вопроса сложно говорить более конкретно. Я явно не хочу дублировать результаты поиска Google.
По моему опыту, безопасность apache зависит от содержимого, которое он обслуживает. Обычно этот контент создается приложением (очень популярен php). Вот где все действительно усложняется. Один из способов защитить Apache в таких ситуациях - это Mod Security. http://www.modsecurity.org/
Однозначного ответа нет, поскольку нет единой конфигурации. Убедитесь, что вы очень осторожны с любыми данными, полученными от клиента.
Следующие руководства по настройке Apache могут быть полезны, но вам решать, какое приложение вы запускаете: