Вы находитесь на странице: 1из 15
ipfw+dummynetipfw+dummynet длядля WindowsWindows 77 ПортПорт длядля Win7Win7 изиз FreeBSDFreeBSD
ipfw+dummynetipfw+dummynet
длядля WindowsWindows 77
ПортПорт длядля Win7Win7 изиз FreeBSDFreeBSD ((ipfwipfw))
ПрезентацияПрезентация русрус
ДенисДенис ЗабиякоЗабияко
КиевКиев,, 20112011гг
ЦелиЦели •• 1.1. ОбеспечитьОбеспечить надежныйнадежный
ЦелиЦели
•• 1.1. ОбеспечитьОбеспечить надежныйнадежный уровеньуровень
защитызащиты ОСОС семействасемейства WindowsWindows нана базебазе
UnixUnix--технологийтехнологий ((сетевогосетевого экранаэкрана))
•• 2.2. ОбеспечитьОбеспечить защитузащиту мобильныхмобильных
рабочихрабочих местмест ((ноутбуковноутбуков,, нетбуковнетбуков))
•• 3.3. ОбеспечитьОбеспечить надежныйнадежный уровеньуровень
защитызащиты клиентаклиента WiWi--fifi ((++шейпингшейпинг))
МетодыМетоды достижениядостижения целицели ••
МетодыМетоды достижениядостижения целицели
•• ВиртуальныйВиртуальный драйвердрайвер NDISNDIS
//работающийработающий вв ядреядре ((kernelkernel--driver)driver)
•• РаботаРабота сс проектомпроектом ipfw+dummynetipfw+dummynet
•• НеобходимоНеобходимо установитьустановить виртуальныйвиртуальный
фильтрующийфильтрующий драйвердрайвер вв системусистему,,
добавивдобавив новуюновую службуслужбу вв свойствахсвойствах
адаптераадаптера
ПравилаПравила IPFWIPFW (1)(1) •• •• ## udpudp accessaccess controlcontrol (all(all
ПравилаПравила IPFWIPFW (1)(1)
••
••
## udpudp accessaccess controlcontrol (all(all adaptors)adaptors)
ipfwipfw addadd 0200002000 allowallow udpudp fromfrom anyany toto anyany 10241024--
65535,domain,daytime,time,echo,discard,chargen65535,domain,daytime,time,echo,discard,chargen
••
## allowallow udpudp accessaccess toto anyany portport whenwhen thethe packetpacket isis outgoingoutgoing oror 'fragment''fragment'
••
••
ipfwipfw addadd 0200102001 allowallow udpudp fromfrom anyany toto anyany outout
ipfwipfw addadd 0250002500 allowallow udpudp fromfrom anyany toto anyany fragfrag
••
••
••
••
## tcptcp accessaccess controlcontrol -- notenote thatthat 'ftp'ftp--data'data' mustmust bebe specifiedspecified byby portport numbernumber '20''20'
ipfwipfw addadd 0300003000 allowallow tcptcp fromfrom anyany toto anyany http,https,ftp,20http,https,ftp,20
ipfwipfw addadd 0300003000 allowallow tcptcp fromfrom anyany toto anyany 10241024--65535,ssh,domain,telnet65535,ssh,domain,telnet
ipfwipfw addadd 0300003000 allowallow tcptcp fromfrom anyany toto anyany daytime,time,echo,discarddaytime,time,echo,discard
••
••
••
## ifif youyou wantwant servicesservices suchsuch asas 'auth''auth' 'pop3''pop3' oror ''smtpsmtp'' toto bebe accessedaccessed byby thethe outsideoutside
## world,world, considerconsider uncommentinguncommenting thethe followingfollowing lineline
## ipfwipfw addadd 0300003000 allowallow tcptcp fromfrom anyany toto anyany auth,pop3,smtpauth,pop3,smtp
ПравилаПравила IPFWIPFW (2)(2) •• •• ## outgoingoutgoing TCPTCP packetspackets -- nono
ПравилаПравила IPFWIPFW (2)(2)
••
••
## outgoingoutgoing TCPTCP packetspackets -- nono filteringfiltering atat allall
ipfwipfw addadd 0300103001 allowallow tcptcp fromfrom anyany toto anyany outout
••
## icmpicmp packetspackets (ping).(ping). ''icmptypesicmptypes'' areare listedlisted basedbased onon recommendationsrecommendations fromfrom
••
••
## thethe FreeBSDFreeBSD handbookhandbook onon ipfwipfw
ipfwipfw addadd 0400004000 allowallow icmpicmp fromfrom anyany toto anyany icmptypesicmptypes 0,3,8,11,12,13,140,3,8,11,12,13,14
••
••
••
••
## TheseThese nextnext 44 entriesentries areare neededneeded forfor VPN.VPN. TheyThey cancan bebe removedremoved ifif youyou won'twon't bebe usingusing itit
ipfwipfw addadd 0450004500 allowallow espesp fromfrom anyany toto anyany
ipfwipfw addadd 0450104501 allowallow gregre fromfrom anyany toto anyany
ipfwipfw addadd 0450204502 allowallow udpudp fromfrom anyany toto anyany 500500
••
••
ipfwipfw addadd 0450304503 allowallow tcptcp fromfrom anyany toto anyany 1023,17231023,1723
## notenote thatthat '1723''1723' waswas stillstill mentionedmentioned here.here. ThatThat isis inin casecase youyou filterfilter itit elsewhereelsewhere
••
••
## logginglogging andand denyingdenying
ipfwipfw addadd 0599905999 denydeny loglog ipip fromfrom anyany toto anyany fragfrag
••
••
••
## thisthis nextnext oneone isis byby defaultdefault thethe lastlast one.one. YouYou cancan choosechoose aa LALARGERGE numbernumber ifif youyou
## like.like. II chosechose '6000','6000', youyou cancan pickpick anythinganything upup toto 65535.65535. InIn FreeBSDFreeBSD thethe rulerule
## forfor '65535''65535' isis initiallyinitially defineddefined asas 'deny'deny allall fromfrom anyany toto any'any' whenwhen youyou loadload ipfwipfw
ПравилаПравила IPFWIPFW (3)(3) •• ipfwipfw addadd 0600006000 denydeny allall fromfrom anyany toto
ПравилаПравила IPFWIPFW (3)(3)
••
ipfwipfw addadd 0600006000 denydeny allall fromfrom anyany toto anyany
••
АльтернативныйАльтернативный наборнабор правилправил::
••
••
••
••
••
••
••
••
••
••
@echo@echo onon
@set@set CYGWIN=CYGWIN=nodosfilewarningnodosfilewarning
D:D:\\binarybinary\\ipfwipfw --qq flushflush
ipfwipfw --qq --ff flushflush
D:D:\\binarybinary\\ipfwipfw addadd denydeny protoproto icmpicmp
##loopbackloopback
D:D:\\binarybinary\\ipfwipfw addadd allowallow allall fromfrom anyany toto anyany viavia lo0lo0
D:D:\\binarybinary\\ipfwipfw addadd denydeny allall fromfrom anyany toto 127.0.0.0/8127.0.0.0/8
D:D:\\binarybinary\\ipfwipfw addadd denydeny allall fromfrom 127.0.0.0/8127.0.0.0/8 toto anyany
D:D:\\binarybinary\\ipfwipfw addadd denydeny tcptcp fromfrom anyany toto anyany fragfrag
••
••
••
••
••
## statefullstatefull
D:D:\\binarybinary\\ipfwipfw addadd checkcheck--statestate
D:D:\\binarybinary\\ipfwipfw addadd allowallow tcptcp fromfrom anyany toto anyany establishedestablished
D:D:\\binarybinary\\ipfwipfw addadd allowallow allall fromfrom anyany toto anyany outout keepkeep--statestate
D:D:\\binarybinary\\ipfwipfw addadd allowallow icmpicmp fromfrom anyany toto anyany
••
••
••
••
••
••
## openopen portport ftpftp (20,21),(20,21), sshssh (22),(22), mailmail (25)(25)
## httphttp (80),(80), dnsdns (53)(53) etcetc
D:D:\\binarybinary\\ipfwipfw addadd allowallow tcptcp fromfrom anyany toto anyany 6767 inin
D:D:\\binarybinary\\ipfwipfw addadd allowallow tcptcp fromfrom anyany toto anyany 6767 outout
D:D:\\binarybinary\\ipfwipfw addadd allowallow tcptcp fromfrom anyany toto anyany 6868 inin
D:D:\\binarybinary\\ipfwipfw addadd allowallow tcptcp fromfrom anyany toto anyany 6868 outout
••
••
••
••
D:D:\\binarybinary\\ipfwipfw addadd denydeny tcptcp fromfrom anyany toto anyany 11--6553565535 inin
@echo@echo ---- droppingdropping allall packetspackets ofof aa specificspecific protocolprotocol ----
#D:#D:\\binarybinary\\ipfwipfw --cc showshow
#pause#pause
ТестированиеТестирование защитызащиты ••
ТестированиеТестирование защитызащиты
•• ПротестироватьПротестировать уровеньуровень защитызащиты ПКПК
можноможно припри помощипомощи бесплатныхбесплатных
онлайновыхонлайновых сканеровсканеров портовпортов
•• NmapNmap--online.comonline.com
•• PCFlank.comPCFlank.com
•• GRC.comGRC.com
DummynetDummynet шейпершейпер •• МожноМожно использоватьиспользовать
DummynetDummynet шейпершейпер
•• МожноМожно использоватьиспользовать шейпершейпер трафикатрафика,,
входящийвходящий вв пакетпакет dummynetdummynet
•• ДостигаемДостигаем этоэто конструкциейконструкцией PIPEPIPE
•• СмотритеСмотрите документациюдокументацию попо FreeBSDFreeBSD
ФиктивнаяФиктивная сетьсеть •• dummynetdummynet такжетакже можетможет
ФиктивнаяФиктивная сетьсеть
•• dummynetdummynet такжетакже можетможет использоватьсяиспользоваться
длядля тестированиятестирования сетевыхсетевых протоколовпротоколов
•• ДляДля определенияопределения пакетовпакетов,,
пересылаемыхпересылаемых попо каналамканалам pipepipe,,
используетсяиспользуется командакоманда
•• ipfwipfw addadd pipepipe NNNNNN ……
КонфигурацияКонфигурация каналовканалов pipepipe •• ipfwipfw pipepipe NNNNNN
КонфигурацияКонфигурация каналовканалов pipepipe
•• ipfwipfw pipepipe NNNNNN configconfig bwbw BB delaydelay DD queuequeue
QQ plrplr PP
УстановкаУстановка драйверадрайвера
УстановкаУстановка драйверадрайвера
УстановкаУстановка драйверадрайвера
УстановкаУстановка драйверадрайвера
УстановкаУстановка драйверадрайвера
УстановкаУстановка драйверадрайвера
ФинальныйФинальный этапэтап
ФинальныйФинальный этапэтап
ВопросыВопросы?? •• EE--mail:mail: zabiyakod@mail.ruzabiyakod@mail.ru •• 050050 967967 5656 5353
ВопросыВопросы??
•• EE--mail:mail: zabiyakod@mail.ruzabiyakod@mail.ru
•• 050050 967967 5656 5353
ДенисДенис ИгоревичИгоревич ЗабиякоЗабияко