пт, 27/09/2013 - 21:40
В сети появился ресурс, с помощью которого можно просмотреть все используемые модули на рабочем сайте Drupal. А такую информацию не стоит показывать кому попало...
В этой статье я приведу 3 самых простых способа, как закрыть доступ к сайту определённым ip адресам.
1. Nginx
Для Nginx в конфиг. файл виртуального хоста в секцию http нужно добавить следующие строки:
## deny access from http://drupalxray.com/
deny 173.255.230.40;
Подробнее можно почитать тут
2. Varnish
Для Varnish в его файл конфигурации в разделе sub vcl_recv нужно добавить
sub vcl_recv {
# Block access from these hosts
if (173.255.230.40 ~ forbidden) {
error 403 "Forbidden";
}
}
Более подробно можно посмотреть тут.
3. Apache
Для Apache в файле виртуального хоста нужно добавить:
<Directory />
Order Allow,Deny
Allow from all
Deny from 173.255.230.40 ## или Deny from http://drupalxray.com/
</Directory>
подробнее можно узнать тут.
Такими образом мы запрещаем доступ к сайту конкретному IP адресу или доменному имени.
Комментарии
Немного оффтоп, но я не
Немного оффтоп, но я не понимаю паранойи, связанной с тем, что например, сайт NASA использует Panels, Calendar или Views Slideshow. Я это вижу (как и Bootstrap и AngularJS) из исходного кода страницы. Здесь нет никакой дыры безопасности. См. пункт 1 здесь: http://drupalspb.org/articles/kalabro/top-10-populyarnyh-voprosov-i-otve...
Да, на сайте NASA подключен jQuery и GA, а ещё эти бесшабашные ребята использует HTML и CSS. И что?
Мне как разработчику интересно, например, что они используют связку Panels + Omega, но это 1) видно просто по вёрстке 2) не гостайна США.
Этот сервис у меня показал
Этот сервис у меня показал даже отключенные модули.
А ограничить доступ можно еще и с помощью модуля https://drupal.org/project/badbehavior прописав в черном списке, к примеру, только этот айпишник.
В твоем случае запрос придет
В твоем случае запрос придет в Drupal, а в случае Павла обрежется на стороне сервера.
Еще ефективнее заблокировать запросы с определенного IP, используя файрвол на стороне операционной системы, тогда даже веб-сервер будет спать спокойно.
Мы, к сожалению, живем не в
Мы, к сожалению, живем не в идеальном мире, и многие сайты до сих пор на D6, а то и на D5. А там, как известно, обновления бесопасности выпускаются не так быстро.
Кроме того, некоторые сайты не имеют возможности накатить апдейты безопасности, например из-за кастомизаций в коде как ядра, так и контрибов. Апдейт упирается в деньги, часто в большие. Здесь не надо искать виноватого, надо искать выход. А выход - минимизировать возможность атаки на известные дыры. Способ, который описал Павел, я и сам использую.
Добавлю к основной теме статьи. Если вы используете связку Varnish(:80) и Nginx/Apache(:8080), то потрудитесь заблокировать доступ к обоим.
Константин, способы
Константин, способы «сканирования» друпал-сайтов (как и сайтов на других CMS) известны и общедоступны. Ими может воспользоваться любой желающий с любого IP.
Александр, скрипт потыкался в папки sites/all/modules/%whatever%/README.txt и нашёл то, что спрятано-то и не было :)
Александр, скрипт потыкался в
Спасибо! Совсем забыл про права доступа:)
способы «сканирования» друпал
И как жить дальше :)
Это только пример как можно
Это только пример как можно по быстрому закрыть доступ, а причины могут быть любые, может кто то не хочет, что бы я с домашнего ПК заходил на его сайт, да и самому не забыть как это быстро сделать...
Вдогонку статье ссылка на
Вдогонку статье ссылка на новость о создании модуля для Nginx, который позволяет запретить доступ к сайту по доменному имени. Ссылка
Вот бы они еще Nginx научили
Вот бы они еще Nginx научили подцеплять модули без пересборки.