Разделы

Rambler's Top100
LibeX: книжный магазин. Купите подержанные книги или продайте свои
Карта Блоггеров

Сайт сделанный на Joomla могут испортить горе-хакеры. Для защиты от разных способов взлома, написаны компоненты типо: Defender, RS Firewall, X-Defender и т.д.  Все они не гарантируют 100% защиты , хотя увеличивают защищённость во много раз и справляются со многими попытками взлома.
Ниже перечислю несколько шагов которые помогут защитить ваш сайт от многих видов атак.

1. Защита с помощью .htaccess

В корне сайта лежит файл htacces.txt , переименуйте его в .htaccess и сделайте следущие изменения:

<Filesmatch ".(php)$">
order deny,allow
deny from all
</Filesmatch>

<Filesmatch "^index.php">
order allow,deny
allow from all
</Filesmatch>

<Filesmatch "^index2.php">
order deny,allow
allow from all
</Filesmatch>

<Filesmatch "^index3.php">
order deny,allow
allow from all
</Filesmatch>

<Filesmatch "^livezilla.php">
order deny,allow
allow from all
</Filesmatch>

<Filesmatch "^phpinfo.php">
order deny,allow
allow from all
</Filesmatch>

Эти изменения запретят запуск любых PHP файлов кроме index.php. Если хакер и сможет загрузить файл на сайт , то он всёравно не сможет запустить его.

Если хакер сможет загрузить файл с именем index.php и поместить в другой каталог на сайте, то он будет доступен. Для этого надо поместить файл  .htaccess во все первые от корня сайта поддиректории со следующим кодом.

<Files ~ ".(php)$">
Deny from all
</Files>

Это запретит запуск любых PHP файлов напрямую.

В директорию администратора надо поместить следующий .htaccess файл

<Filesmatch ".(php)$">
order deny,allow
deny from all
</Filesmatch>

<Files index.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>

<Files index2.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>

<Files index3.php>
order deny,allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
</Files>

Где 11.22.33.44 это ИП адрес с которого разрешён доступ к админке. Если хакер и узнает пароли от админки , он всёравно не получит доступ.

Также надо поместить файл  .htaccess во все первые от корня админки поддиректории со следующим кодом.

<Files ~ ".(php)$">
Deny from all
</Files>

Защита по .htaccess настроена

2. Защита ФТП доступа


Вы знаете что  Joomla сохраняет информацию  в  configuration.php. Если хакер прочитает этот файл , то получит много дополнительной информации. Нам надо защитить ФТП  и разрешить доступ только с определённых АйПи адресов. Даже если хакер получит ФТП логин , то он не сможет зайти на ФТП. Если вы используете на сервере  proftpd, то вот пример защиты в конфиге.

В /etc/proftpd.conf добавте следующий код:

 

<Limit LOGIN>
Order allow,deny
Allow from 11.22.33.44
Allow from 127.0.0.1
Deny from all
</Limit>

Где 11.22.33.44 - это IP с которого разрешен логин на FTP. Не забудте добавить 127.0.0.1 , это IP сервера позволит вашей Joomla через PHP  зайти на FTP и получить доступ к файлам.

3. Блокирование IP пользователей , запрещая  доступ на сервер

Если вы используете личный сервер и имеете доступ к шелу , то можете блокировать некоторые IP или целые страны , запрещая им доступ к вашему сайту. Это можно сделать с помощью iptables. Для этого нужен SSH. Если у вас нет доступа , то можно спросить доступ у администратора сервера. Запустите эту команду в шеле.

 

/sbin/iptables -I INPUT -s 88.147.196.0/88.147.253.255 -j DROP


4. Права доступа на директории и файлы

Следующий шаг , это защита файлов и дерикторий. Обычно настройки сделаны так , что права принадлежат FTP пользователю. Права доступа на директории 755 и на файлы 644 . Если у вас есть доступ через  SSH , то выполните следующуу команду.

Перейдите в корневую директорию Joomla 
chown -R user:group ./
chmod -R 0644 ./
find . -type d -exec chmod 755 {} ;

Если вы выполните эти команды , то директории и файлы будут не доступны для записи через  PHP.

Незабудте, что для директории  cache и  backups , надо сделать права  777 потом вручную.

5. Установить компоненты защиты написаные для Joomla

Если у вас ограниченные права управления сервером , то можно купить и установить компоненты написанные для защиты типо : Defender, RS Firewall, X-Defender и т.д. Эти компоненты защищают доступ к  Joomla через index.php и дают возможность контролировать некоторые происходящие процессы работы в Joomla.

Заключение

Выполнив эти 5 шагов вы можете предотвратить  99.9% атак.



Комментарии  

 
0 #5 Free Rage 17.04.2012 12:29
Цитата:
Прописываю то что находится под пунктом 1 в файл .htaccess а у меня потом сервер выдает ошибку 500, что эт и как это исправить?
У вас проблема в том что вы не удалили старый файл htaccess.txt у вас сейчас он выглядит вот так .htaccess.txt а выше есть такойже но без .txt
Цитировать
 
 
0 #4 25.06.2011 15:53
Что делать в случае взлома CMS Joomla
Цитировать
 
 
0 #3 25.06.2011 15:53
Что делать в случае взлома CMS Joomla
http://forjoomla.ru/kak-vibrat-xosting-dlya-cms-joomla.html
Цитировать
 
 
0 #2 21.02.2011 10:19
Цитирую Алексей:
Прописываю то что находится под пунктом 1 в файл .htaccess а у меня потом сервер выдает ошибку 500, что эт и как это исправить?


Судя по всему, Ваш сервер ругается на одну из директив. Попробуйте комментить их по одной и смореть, что будет дальше, так "вшивая" и выплывет.
Цитировать
 
 
0 #1 02.11.2010 10:22
Прописываю то что находится под пунктом 1 в файл .htaccess а у меня потом сервер выдает ошибку 500, что эт и как это исправить?
Цитировать
 

Добавить комментарий


Защитный код
Обновить