Мой сайт взломали

Материал из DiPHOST.Ru wiki system

(Различия между версиями)
Перейти к: навигация, поиск
(Как ломают)
(Что можно и _нужно_ сделать самостоятельно)
Строка 18: Строка 18:
== Что можно и _нужно_ сделать самостоятельно ==
== Что можно и _нужно_ сделать самостоятельно ==
-
# Найти все места, где точно не может быть скриптов PHP (например /js/, /css/, /upload/, /images/) и запретить там исполняться файлам с расширением  ''.php''. Сделать это следует аккуратно и точно всё проверить. Как запретить? В каталоге, где мы хотим запретить исполнять файлы ''.php'', создаем файл ''.htaccess'' с такими директивами (можно просто copy-paste отсюда):
+
* Найти все места, где точно не может быть скриптов PHP (например /js/, /css/, /upload/, /images/) и запретить там исполняться файлам с расширением  ''.php''. Сделать это следует аккуратно и точно всё проверить. Как запретить? В каталоге, где мы хотим запретить исполнять файлы ''.php'', создаем файл ''.htaccess'' с такими директивами (можно просто copy-paste отсюда):
  <FilesMatch \.php$>
  <FilesMatch \.php$>
  ForceType text/html
  ForceType text/html
  SetHandler default-handler
  SetHandler default-handler
  </FilesMatch>
  </FilesMatch>
-
 
+
* Использовать (там где это возможно и корректно) наши рецепты nginx:
-
# Использовать (там где это возможно и корректно) наши рецепты nginx:
+
http://wiki.diphost.ru/Cookbook_nginx
http://wiki.diphost.ru/Cookbook_nginx
-
 
+
* В места, которые авторизуют пользователя на сайт вставить проверку перебора
-
 
+
-
3. В места, которые авторизуют пользователя на сайт вставить проверку перебора
+
пароля. и давать прогрессирующую задержку на попытку логина.
пароля. и давать прогрессирующую задержку на попытку логина.
-
4. Регулярно использовать: https://revisium.com/ai/ Мы всё внедрить хотим (кпили
+
* Регулярно использовать: https://revisium.com/ai/ Мы всё внедрить хотим (кпили
давно уже), но там с отчетами беда. Запугаем всех пользователей. И диск конечно он
давно уже), но там с отчетами беда. Запугаем всех пользователей. И диск конечно он
в общем случае убивает.
в общем случае убивает.

Версия 11:09, 12 мая 2016

Взлом сайта на сегодняшний день является очень распространенной проблемой. Ломают и самописные сайты, и сайты на CMS с открытым исходным кодом, и коммерческие CMS.

Как ломают

  • Загружают на сайт свой файл с расширением .php (который уже в свою очередь содержит программу, позволяющую получить полный доступ к аккаунту на сервере) и исполняют его. Это самый распространенный способ взлома. Как загружают? Через неаккуратно написанные куски программ, не проверяющих возможность такой загрузки. В большинстве случаев вы даже не подозреваете, что такие места есть.
  • Как и в предыдущем пункте загружают куда-то файл .php начинающийся с GIF89. Большинство программ на PHP используют функцию file_info() для проверки типа содержимого файла, и она считает загружаемый картинкой за счет заголовка GIF89. Т.е. даже если проверка подразумевается и разрешены только картинки - сайт будет взломан. Обычно это функции заливки аватарок, смайликов и прочего. Причем, в большинстве случаев вы даже не подозреваете о наличии данного функционала.
  • Подбирают пароль к админке. Компьютеры мощные, сеть быстрая, можно делать миллионы попыток много дней - это всё равно делают роботы.
  • Остальные способы достаточно редкие. Взломщикам интересны простые и быстрые способы взлома.

Что может сделать хостинг

  • Используется автоматическая блокировка IP по статистике обращений к определенному URL, или статистике ошибок обращений к URL. Например система fail2ban. Статистика собирается по общему журналу обращений ко всем сайтам сервера, что делает её сильно эффективнее статистики, которую может собрать каждый сайт в отдельности.

Что можно и _нужно_ сделать самостоятельно

  • Найти все места, где точно не может быть скриптов PHP (например /js/, /css/, /upload/, /images/) и запретить там исполняться файлам с расширением .php. Сделать это следует аккуратно и точно всё проверить. Как запретить? В каталоге, где мы хотим запретить исполнять файлы .php, создаем файл .htaccess с такими директивами (можно просто copy-paste отсюда):
<FilesMatch \.php$>
ForceType text/html
SetHandler default-handler
</FilesMatch>
  • Использовать (там где это возможно и корректно) наши рецепты nginx:

http://wiki.diphost.ru/Cookbook_nginx

  • В места, которые авторизуют пользователя на сайт вставить проверку перебора

пароля. и давать прогрессирующую задержку на попытку логина.

  • Регулярно использовать: https://revisium.com/ai/ Мы всё внедрить хотим (кпили

давно уже), но там с отчетами беда. Запугаем всех пользователей. И диск конечно он в общем случае убивает.

Источник — «https://wiki.diphost.ru/Hack»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: [email protected]
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru