Налага ни се скоро да мигрираме един web server. Но с цел по-лесно и сигурно мигриране решихме, че няма да сменяме DNS записите преди да са минали 24-48h. Това обаче наложи един нерпиятен проблем със статистиките за трафика към сайта :)
Всички request-и започват да идват от един адрес заради NAT-а който правим за да закараме трафика към новият сървър.
След доста мислене се отказах да правя каквото и да било за да реша този проблем…

Но вчера по случайност ми хрумна една идея която изглежда много добре.

Ако приемем, че имаме машина X, машина Y и в момента сайта се намира на машина X, то неможе просто да закараме целия трафик от един порт на машина X до същият порт на машина Y и връзката да се осъществи… Затова на мен ми хрумна следната гениално тъпа идея :). На машина X се пуска man-in-the-middle proxy което хваща http & https заявките, и във всяка заявка слага един допълнителен header със IP-то на посетителят. След това на машина У се слага още едно малко по-сложно man-in-the-middle proxy, то хваща дошлият пакет, маха header-а с IP-то и генерира пакет със Spoofed адрес към web server-а все едно е от съответното IP :) След това с 2 NAT-а закарваме отговорът от web server-а обратно на клиента :) Готиното на тази ситуация е, че ние си имаме сертификатите и просто използваме атаката за да си свършим работата :)

Като цяло решението е сложничко за реализация и затова не сме го правили… но идеята ми се струва доста добра :)


2 Responses to “How to use network attacks for good”

  1. Васил Колев Says:

    Хм. А не е ли по-лесно да направиш един тунел от едната до другата, да правиш DNAT, и на другата с policy routing да казваш “всичко дошло от тоя интерфейс да се връща обратно през него”… Няма нужда от сложни упражнения на layer7 :)

  2. admin Says:

    Благодаря за идеята… ще пробваме следващият път :)

Posted by HackMan
Dated: 11th January 2009
Filled Under: Technology