12.07.2015 Views

img - Xakep Online

img - Xakep Online

img - Xakep Online

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SYN/ACKЕвгений Зобнин j1m@synack.ruСквозь защитныепорядкиПРОБРАСЫВАЕМ ПОРТЫ В ОКНАХ, НИКСАХ И КИСКАХУ этой технологии есть множество названий — это и трансляция портадреса,и проброс портов, и перенаправление, и буржуйские порт-форвардинг/порт-маппинг,и сокращенные DNAT/PAT. Но как бы она ниназывалась, о ее полезности спорить не приходится. Проброс портов —просто спасательный круг для тех, кто хочет показать свой сервер из-завысокой и крепкой стены под названием NAT.Íåäîñòàòîê ñåòåâûõ àäðåñîâ ñòàíäàðòà IPv4 îñòàâèë ñâîé îòïå÷àòîê íàòîïîëîãèè ñîâðåìåííûõ ñåòåé. Áåëûå àäðåñà ñëèøêîì äîðîãè, ÷òîáûíàäåëÿòü èìè âñåõ, êîãî ïîïàëî, ïîýòîìó ïðîñòûì ñìåðòíûì ïðèõîäèòñÿþòèòüñÿ â íåáîëüøèõ ÷àñòíûõ ïîäñåòÿõ, à â èíòåðíåò âûõîäèòü÷åðåç îäèí îáùèé ñåðâåð, íà êîòîðîì íàñòðîåí NAT. Áëàãîäàðÿ òàêîéñõåìå ïîëüçîâàòåëè öåëîé ïîäñåòè ìîãóò èñïîëüçîâàòü îäèí âíåøíèéIP-àäðåñ, à îáùàÿ èíôðàñòðóêòóðà èíòåðíåòà ïðîäîëæàåò æèòü, äàæåíåñìîòðÿ íà î÷åâèäíóþ íåõâàòêó IP-àäðåñîâ. Íî ÷òî åñëè ðå÷ü èäåò íå îêëèåíòàõ ïðîâàéäåðà, ñèäÿùèõ çà NAT'îì, à î ëîêàëüíîé ñåòè íåáîëüøîéêîìïàíèè, ìíîãèå ìàøèíû êîòîðîé äîëæíû èãðàòü ðîëü íå òîëüêîêëèåíòîâ, íî è ñåðâåðîâ. Íàïðèìåð, íà îäíîé èç ìàøèí ìîæåò íàõîäèòüñÿâåá-ñåðâåð, à äðóãàÿ äîëæíà îáñëóæèâàòü SMTP- è FTP-êëèåíòîâ, íîâûäåëÿòü êàæäîé èç íèõ áåëûé IP-àäðåñ — êàê-òî óæ ñëèøêîì ðàñòî÷èòåëüíî.Âîò çäåñü íàì íà ïîìîùü è ïðèõîäèò DNAT èëè, ïî-ïðîñòîìó —ïðîáðîñ ïîðòîâ. Ñ ïîìîùüþ ýòîé òåõíîëîãèè ìîæíî ñäåëàòü òàê, ÷òîáûâõîäÿùèé íà øëþç òðàôèê ïåðåíàïðàâëÿëñÿ ê îäíîé èç âíóòðåííèõìàøèí ñåòè íà îñíîâå ïîðòà íàçíà÷åíèÿ. Äðóãèìè ñëîâàìè, ïðîáðîñïîðòîâ ïîçâîëÿåò âûñòàâèòü âî âíåøíèé ìèð ñåðâèñû ëîêàëüíûõ ðåñóðñîâè ñîçäàòü èëëþçèþ òîãî, ÷òî îíè íàõîäÿòñÿ íà øëþçå.ПЕРЕД ТЕМ, КАК НАЧАТЬÝòà ñòàòüÿ ðàññêàçûâàåò î íàñòðîéêå ïðîáðîñà ïîðòîâ â ñàìûõ ðàçíûõîïåðàöèîííûõ ñèñòåìàõ, íà÷èíàÿ ñ Windows è çàêàí÷èâàÿ ÎÑ,óñòàíîâëåííûìè íà ñåòåâîì îáîðóäîâàíèè.  áîëüøèíñòâå ñëó÷àåâäëÿ ðåàëèçàöèè ïðîáðîñà ïîðòîâ èñïîëüçóþòñÿ ñïåöèàëüíûå ïðàâèëàáðàíäìàóýðà, è çäåñü ÿ äîëæåí ñäåëàòü ïåðâîå ïðåäîñòåðåæåíèå.Äåëî â òîì, ÷òî ëþáîé áðàíäìàóýð âûïîëíÿåò òðàíñëÿöèþ ñåòåâûõàäðåñîâ äî èõ ôèëüòðàöèè, ïîýòîìó îïèñàííûå â ñòàòüå ïðàâèëàäîëæíû íàõîäèòüñÿ â íà÷àëå. Âòîðîå: äëÿ óñïåøíîãî ïðîõîæäåíèÿîòòðàíñëèðîâàííûõ ïàêåòîâ äîëæíû áûòü äîáàâëåíû ïðàâèëà, ðàçðåøàþùèåâõîäÿùèå ïîäêëþ÷åíèÿ íà öåëåâîé ïîðò øëþçà, à òàêæåïðàâèëà, ðàçðåøàþùèå îáìåí äàííûìè ìåæäó âíóòðåííåé öåëåâîéìàøèíîé è øëþçîì.WINDOWSÍà÷íåì, êàê ãîâîðèòñÿ, ñ àçîâ. Ïðîùå âñåãî ïðîáðîñ ïîðòîâ íàñòðîèòüâ îïåðàöèîííûõ ñèñòåìàõ ñåìåéñòâà Windows. Çäåñü âñå ýòî äåëàåòñÿ â«Ñâîéñòâàõ NAT»:1221. Çàõîäèì â «Àäìèíèñòðèðîâàíèå -> Ìàðøðóòèçàöèÿ», âûáèðàåìëîêàëüíóþ ìàøèíó, äàëåå «IP-ìàðøðóòèçàöèÿ -> NAT».2. Âêëþ÷àåì NAT äëÿ ëîêàëüíîãî èíòåðôåéñà.3. Ïåðåõîäèì ê âêëàäêå «Ñëóæáû è ïîðòû», âûáèðàåì èíòåðåñóþùóþíàñ ñëóæáó èëè äîáàâëÿåì ñâîþ.4.  îòêðûâøåìñÿ îêíå âûáèðàåì ïðîòîêîë, âõîäÿùèé ïîðò (òîò, êîòîðûéáóäåò âèäåí èçâíå), àäðåñ ìàøèíû âíóòðåííåé ñåòè è åå ïîðò.LINUX Linux âñå íàìíîãî ñëîæíåå, çäåñü íåîáõîäèìî îïåðèðîâàòü ïðàâèëàìèiptables/netfilter, áåç çíàíèÿ îñíîâ êîòîðîãî ïðîñòî íå îáîéòèñü. Äëÿîñóùåñòâëåíèÿ ïðîáðîñà ïîðòîâ ïðåäóñìîòðåíà öåëü DNAT, êîòîðóþíåîáõîäèìî èñïîëüçîâàòü â ïðàâèëàõ öåïî÷êè PREROUTING.  ñàìîìïðîñòåéøåì ñëó÷àå ïðàâèëî áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:iptables -t nat -A PREROUTING -p tcp --dst $GATE \--dport $PORT -j DNAT --to-destination $SERVER:$PORTÃäå $GATE — ýòî àäðåñ øëþçà, $PORT — ïðîáðàñûâàåìûé ïîðò, à ñâÿçêà$SERVER:$PORT — ýòî àäðåñ è ïîðò âíóòðåííåãî ñåðâåðà. Åñòåñòâåííî,÷òîáû ïðàâèëî ñðàáîòàëî, äîëæåí áûòü âêëþ÷åí ôîðâàðäèíã (õîòÿ íàøëþçå îí â ëþáîì ñëó÷àå âêëþ÷åí):# echo 1 > /proc/sys/net/ipv4/ip_forwardÏðîáðîñ ïîðòîâ âîçìîæåí è ñ äðóãîé ìàøèíû:$IPTABLES -t nat -A PREROUTING -p tcp --dst $IP \--dport $PORT -j DNAT --to-destination $SERVER:$PORT$IPTABLES -t nat -I POSTROUTING -p tcp --dst $SERVER \--dport $PORT -j SNAT --to $IPÝòî âïîëíå ëåãàëüíî, à èíîãäà è ïðîñòî íåîáõîäèìî.Ðàçëè÷íûå ïðåêîíôèãóðèðîâàííûå iptables-ñêðèïòû, òàêèå êàê,íàïðèìåð, çíàêîìûé ïîëüçîâàòåëÿì Debian, arno-iptables-firewall,òàêæå ìîæíî èñïîëüçîâàòü äëÿ áîëåå ïðîñòîé íàñòðîéêè ïðîáðîñàïîðòîâ. Íàïðèìåð, åñëè òû õî÷åøü ïðîáðîñèòü ïîðò 80 íà ìàøèíó192.168.0.100, äëÿ ýòîãî äîñòàòî÷íî äîáàâèòü ñòðîêó NAT_TCP_XÀÊÅÐ 08 /139/ 10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!