Не так давно сайт моего знакомого, развернутого на Joomla 1.5.2 подвергся хакерской атаке, в результате которой с хостинга были снесены все скрипты а так же был осуществлен дефейс. Проанализировав как происходила атака (ну атака это громко сказано, скорее всего скрипткиды баловались) я выработал несколько мер позволяющих усложнить жизнь хакерам и практически со 100% вероятностью обломать скрипткидов. Не так давно сайт моего знакомого, развернутого на Joomla 1.5.2 подвергся хакерской атаке, в результате которой с хостинга были снесены все скрипты а так же был осуществлен дефейс. Проанализировав как происходила атака (ну атака это громко сказано, скорее всего скрипткиды баловались) я выработал несколько мер позволяющих усложнить жизнь хакерам и практически со 100% вероятностью обломать скрипткидов.

Мера №1 Запаролировать директорию ./administrator/ С помощью утилиты htpasswd.exe готовим файл с паролями, например так:

htpasswd.exe –cm .htpasswd admin
При выполнении этой команды будет предложено ввести желаемый пароль. После ввода пароля и подтверждения будет создан файл .htpaswd содержащий пары <пользователь>:<хэш пароля> Файл с паролями .htpaswd заливаем на сервер в директорию, к которой отрублен доступ извне. Делается это добавлением файла .htaccess в корень закрываемой директории с таким содержанием:
deny from all
В папку же ./administrator/ нужно положить .htaccess следующего содержания
AuthType Basic   
AuthName "Private zone. Only for administrator!" 
AuthUserFile  /usr/host/mysite/.htpasswd   
require valid-user 
Всё! После того как все сделано, нам помимо авторизации в системе нужно будет авторизовываться и на сервере ввода созданный ранее пароль. Не очень удобно зато безопасно.

Мера №2
С помощью команды chmod –R <mode> <folder> обрезать права на запись для всего сайта. Исключение могут составлять ограниченное количество директорий, например директория, в которую загружаются аватары, директория с КЭШем

Мера №3 С помощью файла .htaccess заблочить прямой доступ ко всем директориям, кроме корневой и ./administrator/ Все остальные можно блочить. Можно-то конечно можно, но не всегда это получится, например директорию ./images заблочить полностью не получится, т.к. тогда не будет доступа к картинкам. Директорию с JS скриптами и таблицами стилей заблочить не получится по тем же самым причинам. Поэтому в файле .htaccess придется прописывать, файлы с какими расширениями можно отдавать, а с какими нельзя. Делается это так (здесь мы разрешаем доступ к файлам с расширением js и jpg):

<Files ~ "*.js">
  allow from all 
</Files>
<Files ~ "*.jpg">
  allow from all 
</Files>

Вот вкратце и всё. На самом деле можно ещё кучу всего придумать, но этих мер вполне достаточно для большинства сайтов.