Редактирование моего /etc/hosts.deny

Меня трогают Китай, и я не знаю, почему я не могу заблокировать их запрос на моем сервере.

//host.deny

ALL: item.taobao.com ALL: 117.25.128.* 

Но когда я смотрю журнал ошибок на моем веб-сервере tail -f /var/log/apache2/error.log запросы до сих пор разрешены.

Вопрос: Почему моя конфигурация /etc/hosts.deny не работает?

2 Solutions collect form web for “Редактирование моего /etc/hosts.deny”

  1. Файл называется /etc/hosts.deny , а не host.deny

  2. Не все службы используют tcp-wrappers. Например, sshd не по умолчанию. Также не apache.

  3. Вы можете использовать iptables для блокировки всех пакетов от 117.25.128 / 24, например:

      iptables -I INPUT -s 117.25.128.0/24 -j DROP 
  4. Еще лучше, вы можете использовать fail2ban для мониторинга файла журнала (например, access.log apache и / или error.log) и автоматически блокировать IP-адреса, пытающиеся атаковать ваш сервер.

Из fail2ban пакета debian fail2ban :

Fail2ban контролирует файлы журнала (например, /var/log/auth.log, /var/log/apache/access.log) и временно или постоянно запрещает непристойные адреса, обновляя существующие правила брандмауэра.

Fail2ban позволяет легко специфицировать различные действия, которые необходимо предпринять, например, запретить использование IP-адресов с помощью правил iptables или hosts.deny или просто отправить уведомление по электронной почте.

По умолчанию в него входят выражения фильтров для различных служб (sshd, apache, qmail, proftpd, sasl и т. Д.), Но конфигурация может быть легко расширена для мониторинга любого другого текстового файла. Все фильтры и действия приводятся в конфигурационных файлах, поэтому fail2ban можно использовать для использования с различными файлами и брандмауэрами.

Что касается вашего первоначального вопроса. Мой Apache в debian не настроен с libwrap, поэтому он не проконсультирует hosts.deny. [предыдущий ответ уже упоминает об этом – реальность такова, что tcpwrappers не является олицетворением безопасности, как это было в 90-е годы, особенно когда дело доходит до черных списков]. Вам придется запускать его не как демона, а из (x) inetd, что замедлит его (значительно).

Вы можете блокировать / разрешать доступ на уровне Apache и не нуждаться в tcp-обертках для Apache [и iptables, если на то пошло]. Вы не упомянули ssh, однако я никогда не оставляю ssh-серверы открытыми наружу напрямую. Однако продолжайте читать.

У нас есть хост с более чем 300 доменами, а также схожие проблемы с таобао, байду и часто даже с пауками google. В частности, пауки байду могут быть довольно агрессивными и настойчивыми.

Как вы уже выяснили, у них есть фермы серверов, и даже если вы заблокируете IP-адрес, они снова появятся снова из некоторых других IP-адресов.

Практически нецелесообразно пытаться вести списки IP-адресов / netblocks вручную.

То, что это работает для нас довольно хорошо, – это modsecurity, блокирующий строки пользовательского агента навсегда, в то время как mod_evasive блокирует временные IP-адреса, которые являются оскорбительными.

Эта настройка, помимо замедления пауков от поисковых систем, также имеет преимущество дросселирования зомби, пытающихся угадать пароли на CMS.

Соответствующая часть нашего modsecurity.conf

 SecRule REQUEST_HEADERS:User-Agent "Yandex" phase:1,deny,nolog,id:'6972' SecRule REQUEST_HEADERS:User-Agent "ichiro" phase:1,deny,nolog,id:'6973' SecRule REQUEST_HEADERS:User-Agent "Baiduspider" phase:1,deny,nolog,id:'6974' SecRule REQUEST_HEADERS:User-Agent "Baiduspider/.*" phase:1,deny,nolog,id:'6975' SecRule REQUEST_HEADERS:User-Agent "Baiduspider-video" phase:1,deny,nolog,id:'6976' SecRule REQUEST_HEADERS:User-Agent "Baiduspider-image" phase:1,deny,nolog,id:'6977' SecRule REQUEST_HEADERS:User-Agent "sogou spider" phase:1,deny,nolog,id:'6978' SecRule REQUEST_HEADERS:User-Agent "YoudaoBot" phase:1,deny,nolog,id:'6979' SecRule REQUEST_HEADERS:User-Agent "bingbot(at)microsoft.com" phase:1,deny,nolog,id:'6980' SecRule REQUEST_HEADERS:User-Agent "msnbot(at)microsoft.com" phase:1,deny,nolog,id:'6981' SecRule REQUEST_HEADERS:User-Agent "BLEXBot/1.0" phase:1,deny,nolog,id:'6982' SecRule REQUEST_HEADERS:User-Agent "Bot.*" phase:1,deny,nolog,id:'6984' SecRule REQUEST_HEADERS:User-Agent "AhrefsBot.*" phase:1,deny,nolog,id:'6985' 

И наш mod-evasive.conf

 DOSHashTableSize 2048 DOSPageCount 10 DOSSiteCount 300 DOSPageInterval 2.0 DOSSiteInterval 1.0 DOSBlockingPeriod 600.0 DOSLogDir /var/log/apache2/evasive DOSWhitelist 127.0.0.1 DOSWhitelist 1xx.xxx.xxx.xx 

Я тоже забыл очень реальную возможность. Если вы не имеете дело с Китаем или работаете на своем домашнем сервере, просто заблокируйте всю страну. Уровень атак и вредоносных программ, которые исходят от них, оправдал многих профессионалов для этого.

http://www.cyberciti.biz/faq/block-entier-country-using-iptables/

Я также забыл добавить к этому довольно длинному ответу сноску. Часто люди предлагают мне на работе использовать robots.txt для подобных проблем. Дело в том, что robots.txt – это всего лишь предложение для удаленных программ. Актеры Rogue, безусловно, игнорируют их, и не гарантируется, что другие веб-роботы почитают их в наши дни. Из наших тестов, например, Baidu, кажется, не соблюдает их. (robots.txt это равносильно спросить гангстера, пожалуйста, щекочу меня, а не ударить меня)

Linux и Unix - лучшая ОС в мире.