dbg

(no subject)

Jun 04, 2007 13:15

Нынче модная тема в жж - блокировка слов ru_politics, ru_nbp и еще нескольких.

Цензура, гэбня, удушение свободы слова ...

Некоторые "проводят исследования" и "выясняют масштабы" (на самом деле глупо пиарятся, собирая ссылки на свой журнал): http://insie.livejournal.com/231258.html?style=mine.

Раздаются здравые голоса, что это борьба с DDoS'ом и "цензуру" проводит простой пакетный фильтр, который просто сбрасывает пакеты с ключевыми словами: http://zhuzh.livejournal.com/365653.html.

Разберемся.

Вот baseline:

$ tcptraceroute -n -w1 -m32 204.9.177.18 80
Selected device eth0, address 89.108.83.67, port 33940 for outgoing packets
Tracing the path to 204.9.177.18 on TCP port 80 (www), 32 hops max
1 * * *
2 88.212.194.49 0.274 ms 0.249 ms 0.248 ms
3 88.212.192.65 1.045 ms 0.546 ms 0.312 ms
4 217.150.45.194 0.712 ms 0.659 ms 0.542 ms
5 213.248.72.161 58.356 ms 58.470 ms 58.904 ms
6 80.91.254.6 56.990 ms 59.335 ms 56.187 ms
7 213.248.65.157 66.138 ms 64.982 ms 63.803 ms
8 80.91.249.251 130.342 ms 128.359 ms 125.505 ms
9 213.248.80.73 150.702 ms 159.382 ms 148.196 ms
10 213.248.80.26 208.132 ms 194.752 ms 196.654 ms
11 63.65.130.45 195.336 ms 197.092 ms 196.518 ms
12 152.63.56.174 200.267 ms 196.824 ms 197.076 ms
13 152.63.88.138 214.208 ms 213.019 ms 210.511 ms
14 152.63.72.197 226.025 ms 225.946 ms 225.685 ms
15 157.130.173.50 225.469 ms 226.575 ms 225.318 ms
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 204.9.177.18 [open] 224.118 ms 228.352 ms 227.686 ms

Звездочки с 16 по 29 хоп (у других количество этих звездочек будет другим) - явление само по себе довольно интересное и объяснимое, но не про них сейчас речь.

Проверяем гипотезу о пакетной фильтрации:

# cat rubeer
ru_beer
# cat rupol
ru_politics
#
# hping2 -S -p 80 -d 100 -E rubeer 204.9.177.18
HPING 204.9.177.18 (eth0 204.9.177.18): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can't disable memory paging!
len=140 ip=204.9.177.18 ttl=35 id=11233 sport=80 flags=SA seq=0 win=512 rtt=224.0 ms
len=140 ip=204.9.177.18 ttl=35 id=61206 sport=80 flags=SA seq=1 win=512 rtt=223.8 ms
len=140 ip=204.9.177.18 ttl=35 id=52314 sport=80 flags=SA seq=2 win=512 rtt=223.5 ms

--- 204.9.177.18 hping statistic ---
4 packets transmitted, 3 packets received, 25% packet loss
round-trip min/avg/max = 223.5/223.8/224.0 ms
#
# hping2 -S -p 80 -d 100 -E rupol 204.9.177.18
HPING 204.9.177.18 (eth0 204.9.177.18): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can't disable memory paging!

--- 204.9.177.18 hping statistic ---
4 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

Обратите внимание, мы цепляли payload к SYN-пакетам. Приложение этих данных увидеть не может, следовательно, это действительно пакетный фильтр.

Выясняем где фильтр:

# hping2 -n --ttl 15 -S -p 80 -d 100 -E rupol 204.9.177.18
HPING 204.9.177.18 (eth0 204.9.177.18): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can't disable memory paging!
TTL 0 during transit from ip=157.130.173.50
TTL 0 during transit from ip=157.130.173.50
TTL 0 during transit from ip=157.130.173.50

--- 204.9.177.18 hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
#
# hping2 -n --ttl 64 -S -p 80 -d 100 -E rupol 204.9.177.18
HPING 204.9.177.18 (eth0 204.9.177.18): S set, 40 headers + 100 data bytes
[main] memlockall(): Success
Warning: can't disable memory paging!

--- 204.9.177.18 hping statistic ---
3 packets transmitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms

Несложно видеть, что фильтр у самого ЖЖ. Единственное разумное объяснение этому - борьба с DDoS'ом, особенностью которого является присутствие ключевых слов в запросах к ЖЖ.
Previous post Next post
Up