Мой сайт взломали
Материал из DiPHOST.Ru wiki system
Schors (Обсуждение | вклад) (→Что может сделать хостинг) |
Schors (Обсуждение | вклад) (→Что можно и _нужно_ сделать) |
||
Строка 16: | Строка 16: | ||
* Используется автоматическая блокировка IP по статистике обращений к определенному URL, или статистике ошибок обращений к URL. Например система [http://www.fail2ban.org fail2ban]. Статистика собирается по общему журналу обращений ко всем сайтам сервера, что делает её сильно эффективнее статистики, которую может собрать каждый сайт в отдельности. | * Используется автоматическая блокировка IP по статистике обращений к определенному URL, или статистике ошибок обращений к URL. Например система [http://www.fail2ban.org fail2ban]. Статистика собирается по общему журналу обращений ко всем сайтам сервера, что делает её сильно эффективнее статистики, которую может собрать каждый сайт в отдельности. | ||
- | == Что можно и _нужно_ сделать == | + | == Что можно и _нужно_ сделать самостоятельно == |
- | + | # Найти все места, где точно не может быть скриптов PHP (например /js/, /css/, /upload/, | |
- | /images/) и запретить там исполняться .php. Сделать это аккуратно и точно всё | + | /images/) и запретить там исполняться файлам с расширением ''.php''. Сделать это следует аккуратно и точно всё |
проверить. Как запретить? А вот так: http://wiki.diphost.ru/PHPDisable | проверить. Как запретить? А вот так: http://wiki.diphost.ru/PHPDisable | ||
+ | |||
2. Использовать (там где это возможно и корректно) наши рецепты nginx: | 2. Использовать (там где это возможно и корректно) наши рецепты nginx: | ||
http://wiki.diphost.ru/Cookbook_nginx | http://wiki.diphost.ru/Cookbook_nginx |
Версия 11:06, 12 мая 2016
Взлом сайта на сегодняшний день является очень распространенной проблемой. Ломают и самописные сайты, и сайты на CMS с открытым исходным кодом, и коммерческие CMS.
Как ломают
- Загружают на сайт свой файл с расширением .php (который уже в свою очередь содержит программу, позволяющую получить полный доступ к аккаунту на сервере) и исполняют его. Это самый распространенный способ взлома. Как загружают? Через неаккуратно написанные куски программ, не проверяющих возможность такой загрузки. В большинстве случаев вы даже не подозреваете, что такие места есть.
- Как и в предыдущем пункте загружают куда-то файл .php начинающийся с GIF89. Большинство программ на PHP используют функцию file_info() для проверки типа содержимого файла, и она считает загружаемый картинкой за счет заголовка GIF89. Т.е. даже если проверка подразумевается и разрешены только картинки - сайт будет взломан. Обычно это функции заливки аватарок, смайликов и прочего. Причем, в большинстве случаев вы даже не подозреваете о наличии данного функционала.
- Подбирают пароль к админке. Компьютеры мощные, сеть быстрая, можно делать миллионы попыток много дней - это всё равно делают роботы.
- Остальные способы достаточно редкие. Взломщикам интересны простые и быстрые способы взлома.
Что может сделать хостинг
- Используется автоматическая блокировка IP по статистике обращений к определенному URL, или статистике ошибок обращений к URL. Например система fail2ban. Статистика собирается по общему журналу обращений ко всем сайтам сервера, что делает её сильно эффективнее статистики, которую может собрать каждый сайт в отдельности.
Что можно и _нужно_ сделать самостоятельно
- Найти все места, где точно не может быть скриптов PHP (например /js/, /css/, /upload/,
/images/) и запретить там исполняться файлам с расширением .php. Сделать это следует аккуратно и точно всё проверить. Как запретить? А вот так: http://wiki.diphost.ru/PHPDisable
2. Использовать (там где это возможно и корректно) наши рецепты nginx: http://wiki.diphost.ru/Cookbook_nginx 3. В места, которые авторизуют пользователя на сайт вставить проверку перебора пароля. и давать прогрессирующую задержку на попытку логина. 4. Регулярно использовать: https://revisium.com/ai/ Мы всё внедрить хотим (кпили давно уже), но там с отчетами беда. Запугаем всех пользователей. И диск конечно он в общем случае убивает.