В логах apache иногда появляются записи вроде:
91.239.24.245 - - [16/Oct/2012:04:10:30 +0600] "POST
http://myinfo.any-request-allowed.com/?strGet=get1823 HTTP/1.1" 200 - "-" "-" --host-name: myinfo.any-request-allowed.com
"--host-name" это хост, на который отправлен запрос. Сделал это для удобства.
Пытался отловить фаерволом, месяц глядел в логи, журналировал все запросы, глядел tcpdump'ом, но всё время ip назначения мой, то есть вроде как запросы все нормальные. Как может в логах появляться запись, что запрос был на тачку с другим ip-адресом? Можно ли как-то блокировать все эти нехорошие запросы?
Пока у меня костыль - скриптом отлавливается нехороший запрос и блокируется фаерволом. Но такой метод мне не нравится. Есть ли какой-то метод блокировать запросы, идущие не на мою машину средствами самого фаервола?
В фаерволе только необходимые правила, у всех цепочек политика DROP.
Установленные соединения пропускаю так:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -d <ip> -j ACCEPT
Новые:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -d <ip> -j ACCEPT
Но даже с этим появляются запросы, вроде показанного выше.
PS: Не обязательно подробно, хватит направления в нужную сторону. Подумать самому даже интересней.
Примечание:
Похоже я понял. Это возможно DNS гугла. Но почему он шлёт запросы только на http-сервер не понятно.
По крайней мере ip 91.239.24.245 гугла, а NDS у меня как раз от гугла. Позмоню прову, поменяю DNS и надеюсь запросы прекратятся.
Сейчас появилась ещё одна запись, похожая, но с другой ссылкой:
95.211.169.163 - - [16/Oct/2012:05:36:14 +0600] "POST
http://yourinfo.allrequestsallowed.net/ HTTP/1.1" 200 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" --host-name: yourinfo.allrequestsallowed.net
Хрень какая-то. Не нравится мне всё это.
Примечание:
Пипендос. С DNS от прова вообще не подключает.
Примечание:
Судя по traceroute и данным WHOIS это ip-адреса каких-то заражённых машин и предназначены для DDOS'а. Возможно с этих сайтов, с определённых страниц настраивается серверная часть, которая потом связывается с заражёнными и DDOS'ит. Хотя это только предположение. Может просто сервер отвечает на тот же порт, с которого я отправлял ему запросы. Я заходил на этот сайт и через некоторое время появлялись эти записи в логах, но почему-то постоянно с разными адресами.
Вот вывод tcpdump в момент запроса:
tcpdump -ttt -n -nn -vvv
00:00:04.081624 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 29385, offset 0, flags [DF], proto TCP (6), length 89)
212.220.113.57.35662 > 173.194.35.223.443: Flags [P.], cksum 0xb837 (correct), seq 3750121557:3750121594, ack 105436615, win 331, options [nop,nop,TS val 725601 ecr 1077803805], length 37
00:00:00.087592 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 56, id 59056, offset 0, flags [DF], proto TCP (6), length 89)
173.194.35.223.443 > 212.220.113.57.35662: Flags [P.], cksum 0x62f9 (correct), seq 1:38, ack 37, win 1002, options [nop,nop,TS val 1077848651 ecr 725601], length 37
00:00:00.000065 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 29386, offset 0, flags [DF], proto TCP (6), length 52)
212.220.113.57.35662 > 173.194.35.223.443: Flags [.], cksum 0xc76b (correct), seq 37, ack 38, win 331, options [nop,nop,TS val 725627 ecr 1077848651], length 0
00:00:02.729765 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 54, id 6871, offset 0, flags [DF], proto TCP (6), length 60)
85.25.226.155.54316 > 212.220.113.57.80: Flags [S], cksum 0x780d (correct), seq 3415353150, win 5840, options [mss 1380,sackOK,TS val 913391081 ecr 0,nop,wscale 7], length 0
00:00:00.000074 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
212.220.113.57.80 > 85.25.226.155.54316: Flags [S.], cksum 0x0d58 (correct), seq 3819000049, ack 3415353151, win 14080, options [mss 1420,sackOK,TS val 726446 ecr 913391081,nop,wscale 7], length 0
00:00:00.128516 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 54, id 6872, offset 0, flags [DF], proto TCP (6), length 52)
85.25.226.155.54316 > 212.220.113.57.80: Flags [.], cksum 0x72c1 (correct), seq 1, ack 1, win 46, options [nop,nop,TS val 913391094 ecr 726446], length 0
Примечание:
00:00:00.002015 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 54, id 6873, offset 0, flags [DF], proto TCP (6), length 413)
85.25.226.155.54316 > 212.220.113.57.80: Flags [P.], cksum 0xe9f8 (correct), seq 1:362, ack 1, win 46, options [nop,nop,TS val 913391094 ecr 726446], length 361
00:00:00.000053 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 17703, offset 0, flags [DF], proto TCP (6), length 52)
212.220.113.57.80 > 85.25.226.155.54316: Flags [.], cksum 0x70e8 (correct), seq 1, ack 362, win 119, options [nop,nop,TS val 726485 ecr 913391094], length 0
00:00:00.000922 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 17704, offset 0, flags [DF], proto TCP (6), length 227)
212.220.113.57.80 > 85.25.226.155.54316: Flags [P.], cksum 0xccb2 (correct), seq 1:176, ack 362, win 119, options [nop,nop,TS val 726486 ecr 913391094], length 175
00:00:00.000091 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 17705, offset 0, flags [DF], proto TCP (6), length 52)
212.220.113.57.80 > 85.25.226.155.54316: Flags [F.], cksum 0x7037 (correct), seq 176, ack 362, win 119, options [nop,nop,TS val 726486 ecr 913391094], length 0
00:00:00.132933 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 54, id 6874, offset 0, flags [DF], proto TCP (6), length 52)
85.25.226.155.54316 > 212.220.113.57.80: Flags [.], cksum 0x706b (correct), seq 362, ack 176, win 54, options [nop,nop,TS val 913391108 ecr 726486], length 0
00:00:00.001946 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 54, id 6875, offset 0, flags [DF], proto TCP (6), length 52)
85.25.226.155.54316 > 212.220.113.57.80: Flags [F.], cksum 0x7069 (correct), seq 362, ack 177, win 54, options [nop,nop,TS val 913391108 ecr 726486], length 0
00:00:00.000055 PPPoE [ses 0xc91b] IP (tos 0x0, ttl 64, id 17706, offset 0, flags [DF], proto TCP (6), length 52)
212.220.113.57.80 > 85.25.226.155.54316: Flags [.], cksum 0x7000 (correct), seq 177, ack 363, win 119, options [nop,nop,TS val 726526 ecr 913391108], length 0
00:00:01.439014 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.28 tell 192.168.1.1, length 46
traceroute:
traceroute to 85.25.226.155 (85.25.226.155), 30 hops max, 60 byte packets
1 212.220.34.210 (212.220.34.210) 47.904 ms 50.292 ms 53.180 ms
2 212.220.34.205 (212.220.34.205) 56.578 ms 59.765 ms 63.660 ms
3 90.150.2.6 (90.150.2.6) 66.571 ms 69.051 ms 72.431 ms
4 ae-1.ebrg-rgr3.ur.ip.rostelecom.ru (188.128.91.89) 77.590 ms 80.021 ms 82.943 ms
5 xe-11-2-1.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.54) 164.447 ms 188.254.44.234 (188.254.44.234) 160.009 ms xe-10-2-0.frkt-ar2.intl.ip.rostelecom.ru (87.226.133.242) 166.866 ms
6 tge-5-1-0-353a.cr2.fra.routeserver.net (80.81.192.21) 170.759 ms 116.851 ms 120.835 ms
7 217.118.16.26 (217.118.16.26) 127.658 ms 121.724 ms 133.775 ms
8 * * *
9 puck825.startdedicated.com (85.25.226.155) 151.108 ms 156.518 ms 150.554 ms
То есть домен puck825.startdedicated.com.
Если верить
http://www.ntunhs.net/cgi-bin/whois20_1_allip3.cgi?HPLang=RU&LV=2&IP=85.25.226.155
то сервер в Германии, провайдер intergenia. Проделав это со всеми нехорошими (на мой взгляд) ip-адресами делаю вывод, что они все из одной сети, они используются для DDOS'а и их нужно блокировать любым способом. Фаерволом как я понял не возможно, не вижу за что зацепиться, по этому пусть будет костыль :).
Примечание:
Опа, на что я наткнулся. Можно оказывается блокировать по URL.
iptables -I INPUT -m string --string "allrequestsallowed.net" --algo kmp --to 65535 -j DROP
Я безумно счастлив, способ работает. Теперь нет возьни с ip-адресами.
24 9912 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 STRING match "allrequestsallowed.net" ALGO name kmp TO 65535
Костыль оставлю на всякий случай.
Проблема решена, любому ответевшему - ЛО.
Примечание:
> man всегда спасет
Нет, не всегда.