Блокирование апачского доступа через строку агента пользователя

Для получения более определенной разбивки трафика я использую tcpdump и передаю дамп wireshark. Затем используйте меню статистики. Но для ssh, будет трудно видеть то, что продолжается, так как это уже шифруется. Вы просто хотите к скорости Ваших передач? rsync --progress -av srouce/ dest/ сделает это.

Или возможно Вы хотите: основанный на IP/процессе инструмент статистики использования пропускной способности для Linux?


Если Вы не хотите устанавливать что-нибудь, Вы можете cat /proc/net/dev по интервалу (Возможно, в цикле со сном), и затем просто берут различие отправления и получают байты между двумя опросами.

Для программы мне понравилось apt-get install bmon. bmon является миленькой программой проклятий терминала.

8
задан 14 September 2012 в 22:04
2 ответа

можно запретить доступа BrowserMatch и Отклонить от Примера SetEnvIf:

SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
<Directory "/var/www">
        Order Allow,Deny
        Allow from all
        Deny from env=bad_bot
</Directory>

К permanenly блоку их необходимо записать пользовательский файл журнала и использовать fail2ban, например, для запрета их с iptables

Например, создайте LogFormat

LogFormat "%a %{User-agent}i" ipagent

Добавьте вход к своему vhost/server-wide

CustomLog /var/log/apache2/useragent.log ipagent

/etc/fail2ban/filter.d/baduseragent.conf

[Definition]
failregex = ^<HOST> Mozilla/4\.0 \(compatible; MSIE 7\.0; Windows NT 5\.1; SV1; \.NET CLR 2\.0\.50727\) Havij$

/etc/fail2ban/jail.conf

[apache-bad-user-agent]

enabled  = true
port     = 80,443
protocol = tcp
filter   = baduseragent
maxretry = 1
bantime  = 86400
logpath  = /var/log/apache2/useragent.log
18
ответ дан 2 December 2019 в 22:43

Думаю, я понял ваш вопрос. Я дам более подробное объяснение, если это именно то, что вы ищете. (это будет работать как ловушка и для других вещей)

  • Включите движок mod_rewrite в apache2
  • Создайте trap.php, посетители могут делать все, что захотите. Например, я добавил IP всех посетителей в черный список, который запрещает доступ к моей сети.
  • Создайте файл с пользовательскими агентами, которые вам не нравятся, по одному на строку вроде этого
    bas_useragent [tab] black
    useragent_bad [tab} black
  • Теперь добавьте ваш mod_rewrite, который соответствует карте от плохих юзерагентов то требует к вашей ловушке, если есть карта. Правило может выглядеть так:

    RewriteMap badlist txt: ~ / bad_useragent_list
    RewriteCond% {HTTP_USER_AGENT}. * [NC]
    RewriteCond $ {badlist:% 1 | white} ^ black $ [NC]
    RewriteRule (. *) " php, который делает все, что вам нравится.
  • Некоторые возможные идеи. Попросите другой сценарий следить за общим файлом, в который trap.php записывает IP. Если этот общий файл изменяется, этот наблюдатель считывает новую информацию, анализирует IP-адреса и добавляет правило в IP-таблицы, которое блокирует весь трафик с этого адреса. php, который делает все, что вам нравится.
  • Некоторые возможные идеи. Попросите другой сценарий следить за общим файлом, в который trap.php записывает IP. Если этот общий файл изменяется, этот наблюдатель считывает новую информацию, анализирует IP-адреса и добавляет правило в таблицы IP, которое блокирует весь трафик с этого адреса. Надеюсь, это поможет! Опять же, если вы хотите получить более подробную информацию, просто ответьте здесь.
6
ответ дан 2 December 2019 в 22:43

Теги

Похожие вопросы