Ко вчерашнему.
Некоторые могли обратить внимание, что если пойти на
http://community.livejournal.com/ru_politics, будучи незалогиненым, то ЖЖ честно покажет "This journal has been suspended.". А если пойти залогиненым, то ВСЕ ОПЯТЬ ПОВИСНЕТ, АААА!!!! Псы Тоталитарного Режима отслеживают невинных пользователей, интересующихся крамольным коммьюнити, и берут на карандашик!!! Страшно?
Разберемся.
Когда мы залогиненными идем на
http://community.livejournal.com/ru_politics, ЖЖ нас перенаправит на URL вида
http://community.livejournal.com/ru_politics/__setdomsess?dest=http://community.livejournal.com/ru_politics&k=ljdomsess.community.ru_politics&v= ....
Вот так вот у ЖЖ хитрО устроена схема авторизации.
Попробуем подсократить. Не логинясь, пойдем на
http://community.livejournal.com/ru_politics/ - в конце ULR слеш. Опять все висит. Вот оно. Становится понятней.
Проверям (невалидным HTTP запросом, его валидность нам не важна):
$ telnet 204.9.177.18 80
Trying 204.9.177.18...
Connected to 204.9.177.18.
Escape character is '^]'.
GET /ru_politics
Параллельно запускаем tcpdump:
# tcpdump -S -nl -s0 host 204.9.177.18 and port 80
19:59:58.223493 IP 89.108.83.67.36117 > 204.9.177.18.80: S 516335794:516335794(0)
win 5840
19:59:58.443826 IP 204.9.177.18.80 > 89.108.83.67.36117: S 845985459:845985459(0)
ack 516335795 win 4380
19:59:58.443858 IP 89.108.83.67.36117 > 204.9.177.18.80: . ack 845985460 win 5840
20:00:00.316302 IP 89.108.83.67.36117 > 204.9.177.18.80: P 516335795:516335813(18)
ack 845985460 win 5840
20:00:00.636080 IP 204.9.177.18.80 > 89.108.83.67.36117: . ack 516335813 win 4398
Все пролезло, к нам прилетел ACK.
Пробуем со слешом:
$ telnet 204.9.177.18 80
Trying 204.9.177.18...
Connected to 204.9.177.18.
Escape character is '^]'.
GET /ru_politics/
Опять смотрим tcpdump'ом:
# tcpdump -S -nl -s0 host 204.9.177.18 and port 80
20:00:15.680079 IP 89.108.83.67.36119 > 204.9.177.18.80: S 535122460:535122460(0)
win 5840
20:00:15.900485 IP 204.9.177.18.80 > 89.108.83.67.36119: S 1002706682:1002706682(0)
ack 535122461 win 4380
20:00:15.900507 IP 89.108.83.67.36119 > 204.9.177.18.80: . ack 1002706683 win 5840
20:00:20.709008 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:21.794070 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:23.974075 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:28.334092 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:37.054082 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
А вот и ретрансмиты.
Судя по всему, атака не прекратилась, но ЖЖ стал умнее и теперь режет пакеты по строчкам 'GET /ru_politics/', 'POST /ru_politics/' и т.д. Причем, строчка должна быть в самом начале TCP-payload. Т.е. пост с этими строчками проходит (правда, с накоторой вероятностью может обломаться).
В общем, жжшным сисадминам за борьбу с DDoS'ом четверка. Была бы пятерка, если б они так сделали сразу.