1

Доброго дня
Возник вопрос по iptables, можно ли им как-то отслеживать наличие заголовков по 80 порту и сделать правило, чтоб ip блокировался или целиком пакеты с определенным содержимом заголовков?

Обычный юзер
Mageia 8 x86_64 Plasma

2

Консоль: user
[user@localhost ~]$ iptables -A FORWARD -m string --string "X-Kazaa-" -j REJECT

Пробуй так

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================
Спасибо сказали: BoDun1

3 (2018-12-03 23:43:02 отредактировано BoDun)

XliN, спасибо
В общем суть в том, что дико долбят спамом, редиректами
Обратил внимание, что в заголовках указан не один браузер, а несколько

Spoiler

123.201.208.74 - - [03/Dec/2018:23:28:39 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Fspiralbrushes.us%2F__media__%2Fjs%2Fnetsoltrademark.php%3Fd%3DWww.Urlrehberi.Name.tr%252Findex.php%253Fa%253Dstats%2526u%253Dearlemonte63702%26 HTTP/1.0" 200 559 "http://mobile.previewmymobile.com/site/ … 63702%2526" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"
62.102.148.162 - - [03/Dec/2018:23:28:48 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Fwww.lshbc.co.kr%2Fphp_test.php%3Fa%255B%255D%3D%253Ca+href%253Dhttp%253A%252F%252Fapotekisverige.com%252F%253ECialis+receptfritt%253C%252Fa%253E HTTP/1.0" 200 559 "http://suchereifen.com/redirect/?url=ht … 2Fa%25253E" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.66 Safari/537.36"
85.26.207.155 - - [03/Dec/2018:23:28:50 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Fwikihotels.com%2Findex.php%3Ftitle%3DUsuario%3AMagdaBraxton09 HTTP/1.0" 200 559 "http://bestma.ru/bitrix/redirect.php?ev … aBraxton09" "Mozilla/5.0 (X11; Linux x86_64; rv:3.4) Goanna/20180518 PaleMoon/27.9.2"                                                                                                                                 
177.1.96.79 - - [03/Dec/2018:23:28:57 +0300] "GET /engine.php?do=redirect&url=https://lasixfurosemide.info/indevillers HTTP/1.0" 200 559 "http://xn--b1aeacbk5czc.xn--p1ai/bitrix … ndevillers" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:60.0) Gecko/20100101 Firefox/60.0"                                                                                                                                                                                   
213.6.148.150 - - [03/Dec/2018:23:29:04 +0300] "GET /engine.php?do=redirect&url=http://fereejbinomranforexbrokers.blogspot.com HTTP/1.0" 200 559 "http://www.geokniga.org/ext_link?url=ht … ogspot.com" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.95 Safari/537.36 Core/1.50.1659.400 QQBrowser/9.5.9570.400"                                                                                                                                                       
196.19.48.100 - - [03/Dec/2018:23:29:06 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Ftcapsstudent.net%2F__media__%2Fjs%2Fnetsoltrademark.php%3Fd%3Ddetiksports.com HTTP/1.0" 200 559 "http://www.musabi.com/blog/mt4i.cgi?id= … sports.com" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3355.4 Safari/537.36"                                                     
180.246.18.85 - - [03/Dec/2018:23:29:08 +0300] "GET /engine.php?do=redirect&url=http://serapanmalam.site/careers/ HTTP/1.0" 200 559 "http://info.rzz.ru/re.php?url=http%3A%2 … careers%2F" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"                                                                                                                                                                                                   
177.38.162.32 - - [03/Dec/2018:23:29:10 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Fgo.harijono.nl%2Faffordableseoservices1706 HTTP/1.0" 200 559 "http://chaparralparkgeneralstore.com/ga … rvices1706" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36 OPR/53.0.2907.37"                                                                           
158.255.208.47 - - [03/Dec/2018:23:29:13 +0300] "GET /engine.php?do=redirect&url=http://kfc.sakura.ne.jp/happysong/totobbs/totobbs.cgi/www.gulfncw.com/www.langstonpublishing.com/www.intelligent-digital.com/images/www.elazhar.com/images/www.thepigonthehill.com/www.elazhar.com/www.mlondonfurniture.com/images/example2.asp HTTP/1.0" 200 559 "http://binco.com.ua/bitrix/rk.php?goto= … ample2.asp" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
158.115.248.244 - - [03/Dec/2018:23:29:16 +0300] "GET /engine.php?do=redirect&url=http%3A%2F%2Fwww.icpc-kodning.dadl.cursum.net%2Fdefault.aspx%3FReturnurl%3Dhttp%3A%2F%2Ftappakilon.com%2Fbudolfd2dz%2Fpost-can-gums-grow-30747.html HTTP/1.0" 200 559 "http://polinom03.ru/bitrix/redirect.php … 30747.html" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:56.0) Gecko/20100101 Firefox/56.0"

и если правильно понимаю, нужно что-то вроде этого мне нужно?:

Консоль: user
[user@localhost ~]$ iptables -A FORWARD -m string --string "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36" -j REJECT

Сейчас, поскольку не спец и ни разу не претендую на звание "сис админа" просто парсером определяю ip и блокирую так:

Консоль: user
[user@localhost ~]$ iptables -I INPUT -s $BLOCKIP -j REJECT

Но! Когда в списке бана 34311 ip это уже как-то не вкусно пахнет..

Обычный юзер
Mageia 8 x86_64 Plasma

4

Дополню сам себя
В общем XliN, однозначно большущий респект!
Стало ясно куда смотреть.
Однако моя мысль изложенная выше совершенно не верна.
Весь фокус в том, что к примеру Chromium передаёт в заголоках не только самого себя, но и прочих посмотрел в локальных тестах:

Консоль: user
[user@localhost ~]$ 192.168.0.10 - - [04/Dec/2018:11:54:12 +0300] "GET / HTTP/1.1" 200 18 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

И это не firefox, не safari, а просто Chromuim
А это опера:
Консоль: user
[user@localhost ~]$ 192.168.0.10 - - [04/Dec/2018:11:55:40 +0300] "GET / HTTP/1.1" 200 18 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 OPR/56.0.3051.52"

И firefox:
Консоль: user
[user@localhost ~]$ 192.168.0.10 - - [04/Dec/2018:11:56:43 +0300] "GET / HTTP/1.1" 200 18 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

В добавок, для string требуется алгоритм (с ними не разобрался) но:
Можно блокировать так:

Консоль: user
[user@localhost ~]$ iptables -I INPUT -m string --string "test.php" --algo kmp --to 65535 -j REJECT

Тогда любое обращение к test.php будет блокироваться, но к сожалению, apach (/var/log/httpd/access_log) всё равно ловит это
Но при DROP
Консоль: user
[user@localhost ~]$ iptables -I INPUT -m string --string "test.php" --algo kmp --to 65535 -j DROP

В логах апача уже нет записей о запросах
Вернее есть, но уже после длительного ожидания браузера:
Консоль: user
[user@localhost ~]$ tail /var/log/httpd/access_log
192.168.0.10 - - [04/Dec/2018:12:06:27 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:06:33 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:07:19 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:07:25 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:09:10 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:09:10 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:10:02 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:15:53 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:15:53 +0300] "-" 408 - "-" "-"
192.168.0.10 - - [04/Dec/2018:12:16:45 +0300] "-" 408 - "-" "-"

В общем, пока такие вот дела

Обычный юзер
Mageia 8 x86_64 Plasma