Безопасность веб-сервера


9

Я проводил «обширные» исследования по защите веб-сервера Linux. Помимо того, что считается «основами» (удаление неиспользуемых служб, усиление безопасности ssh, iptables и т. Д.), Целесообразно ли включать антируткиты (Tripwire) и антивирус (ClamAV)? Это просто перебор для веб-сервера? Я знаю, что это очень расплывчатый вопрос, но мне любопытно мнение других.

Моя будущая среда: - ubuntu 10.04 - fail2ban - nginx 0.8.x - php 5.3.x (suhosin, apc, memcached) - mongodb 1.6.x

Возможные приложения: - веб-сервисы - веб-приложения с пользовательской загрузкой (изображения, PDF-файлы и т. Д.) - типичные веб-сайты (формы и т. Д.)

Если у вас есть какие-либо другие советы, пожалуйста, не стесняйтесь добавлять!

Спасибо

Ответы:


8

Для общедоступного сервера я бы сказал, что установка чего-то вроде tripwire не является излишней.

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

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

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


2
Не забывайте, что LMD (Linux Malware Detection), rfxn.com/projects/linux-malware-detect - сканирует вредоносные программы, которые заражают веб-приложения (HTML, PHP, изменения файлов JavaScript), чтобы использовать ваш сайт для SEO спам, фишинг, заражение компьютеров посетителей и т. Д.
RichVel

3

Нет, ты не зашел достаточно далеко.

1) Вам нужен брандмауэр веб-приложения, такой как mod_security, и убедитесь, что он настроен на блокировку атак, а не только на их регистрацию.

2) Блокировка php с помощью phpsecinfo .

3) Заблокируйте учетную запись MySQL вашего веб-приложения, убедитесь, что у вашего приложения нет FILEпривилегий, это, безусловно, самый опасный в MySQL.

4) Брандмауэр отключен от всех UDP и всех TCP, которые вам не нужны. Подумайте об использовании стука портов для SSH. Отказ от бана не так хорош, как получение нулевых попыток.


1) У меня сложилось впечатление, что ModSecurity может быть упакован только с Apache (я использую nginx). Но, видимо, он может работать автономно? Я должен разобраться в этом спасибо! Я следовал за calomel.org/nginx.html для нескольких функций.
Аарон

4) Я использую iptables для блокировки всего входящего и исходящего трафика, если это не мой ssh-порт, https или https (входящий, исходящий). Я открою больше, как я иду вперед. Стук порта - интересное дополнение для SSH! Еще раз спасибо!.
Аарон

@ Аарон, я не уверен, почему ты использовал nginx. Вы можете использовать apache + mod_security в качестве прокси с любым странным и безликим httpd, который вам требуется.
Ладья

2

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

Но то, о чем многие руководства по безопасности веб-серверов не упоминают, - это то, что вы должны включить noexec в вашем разделе / ​​tmp в / etc / fstab. Если вы предлагаете хостинг для широкой публики, немало людей установят небезопасные веб-приложения без вашего ведома (и сами не будут иметь знаний, чтобы поддерживать свои приложения в актуальном состоянии), и вы в основном выслеживаете эти ошибки навсегда. Если вы убедитесь, что единственное место, в котором злоумышленник может сохранить программное обеспечение, - это домашний каталог клиента и каталог / tmp, то злоумышленник рискует показать вам, где он взломал файл, если он не может использовать каталог / tmp. Им не нравится это делать.

Это позволило решить большинство проблем безопасности на нашем сервере веб-хостинга.


2

«Добро пожаловать на борт! На борту нашего нового авиалайнера вы можете наслаждаться рестораном, кино, тренажерным залом, сауной и бассейном. Теперь пристегните ремни безопасности, наш капитан постарается доставить все это дерьмо в воздух».

  1. mod_security - это боль как для вас, так и для сервера. Это требует ресурсов, и его правила нуждаются в серьезной поддержке, и это будет бесконечная задача. И нет, он не работает отдельно или с Nginx. Если вам кажется, что вам это действительно нужно, настройте отдельный прокси-сервер (Apache, mod_proxy, mod_security). Он также работает как DMZ, ваши реальные серверы могут быть полностью закрыты для внешнего мира, и если прокси-сервер будет взломан, все равно ничего не будет.

  2. ClamAV тоже очень тяжелый, если он запускается как демон. Лучше периодически запускать clamscan в неактивные часы из Cron.

  3. Tripwire - это излишне, ИМХО. Но что-то, способное выследить руткиты, было бы полезно, есть много скриптов (rkhunter, chkrootkit).

  4. Я полагаю, что по крайней мере 90% руткитов и т. Д. Попадают на серверы с помощью загрузок с машин Windows. Нет действительно хорошего способа предотвратить это, кроме, возможно, принуждения разработчиков никогда не использовать Windows. Большинство троянов ищут учетные данные FTP, поэтому никогда не используют FTP.


Полезно знать ... Учитывая, что я не собираюсь идти по пути Apache, я буду придерживаться любых аспектов безопасности, которые я могу найти для nginx. Я, вероятно, в конечном итоге тоже пойду по маршруту clamscan / rkhunter. Спасибо за советы!
Аарон

0

Считается ли использование защиты форм с помощью капчи в популярном движке CMS (Wordpress, Jomlaa, Drupal) практикой безопасности? Если да, то вы можете использовать это:


Анти-спам защита ? Да. Но здесь автор хочет заблокировать свой сервер от неавторизованных пользователей, с которыми капча не имеет никакого отношения.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.