A SecureFilter tűzfal rendszer
Tartalomjegyzék Bevezetés...............................................................................................3 Támogatott hardverkonfiguráció.............................................................3 Telepítési útmutató.................................................................................3 A telepítésre kerülő kernel......................................................................5 A telepítésre kerülő szoftverek...............................................................5 Az essence rendszer...............................................................................5 Hivatkozások..........................................................................................5 1.Melléklet: a támogatott hálózati interfészek listája.............................6 2.Melléklet: tűzfal rendszerekre kerülő Debian csomagok listája...........9 3.Melléklet: naplózó rendszerekre kerülő Debian csomagok listája.......9
Bevezetés A SecureFilter tűzfal rendszer egy LIDS-el megerősített Debian alapú rendszer, amely speciálisan tűzfal célokra lett kialakítva: a Linux kernel csak a feladat számára fontos modulokat és funkcionalitásokat tartalmazza, a telepített rendszerre csak a cél számára fontos szoftverek kerülnek fel, valamint az egész rendszert egy bekonfigurált LIDS védi. A tűzfal konfigurálását az essence rendszer támogatja. Az installáló CD lehetőséget nyújt mind dedikált tűzfal rendszer, mind dedikált naplózó rendszer telepítésére. A SecureFilter rendszer a Linux kernel jelenlegi felépítésének következtében az alábbi kernel-változatokat és hálózati protokollokat támogatja:
Kernel verzió
IP protokollok
2.4-es kernel NAT támogatással
IPv4
2.6-os kernel NAT támogatással
IPv4
2.6-os kernel NAT támogatás nélkül
IPv4 és IPv6
Támogatott hardverkonfiguráció A minimálisan támogatott rendszer egy i386 PC 8 Mb memóriával, 250 MB merevlemezzel, valamint (a telepítéshez) CD-ROM-al. E fölött minden i386 architektúrájú rendszer támogatott. A telepítés során a processzorra optimalizált kernel kerül föl, ahol a következő processzorokhoz készültek kernel image-k: 386 486 586/K5/5x86/6x86/6x86MX Pentium-Classic Pentium-MMX Pentium-Pro/Celeron/Pentium-II Pentium-III/Celeron(Coppermine) Pentium-4 K6/K6-II/K6-III Athlon/Duron/K7 Opteron/Athlon64/Hammer/K8 Elan Crusoe Winchip-C6 Winchip-2 Winchip-2A/Winchip-3 CyrixIII/VIA-C3 VIA-C3-2
Telepítési útmutató A BIOS-ban állítsuk be, hogy a rendszer CD-ről bootoljon, majd a telepítő CD-t behelyezve indítsuk el a rendszert.
A '
', '' és '' billentyűk megnyomására segítség olvasható. A boot során az alábbi extra paraméterek adhatók meg: 'fd0' : bootolás az első floppy meghajtóról 'hd0' : bootolás az első merevlemez meghajtóról 'next' : bootolás a soron következő meghajtóról (BIOS szerint) 'memtest' : Memtest86+ 1.11 futtatása 'linux' : live rendszer indítása és a telepítés megkezdése A boot során az alábbi opciók adhatók meg: 'cdrom=/dev/meghajtó' : cdrom meghajtó manuális választása 'swap=/dev/meghajtó' : swap aktiválása (a live rendszeren) 'tmpfs={méret[:opciók]} : tmpfs viselkedésének befolyásolása opciók: 'nr_blocks', 'nr_inodes' 'vga=MODE' : speciális VGA mód választása (pl. vga=788, 800x600@64k) TIPP: kevés (pl. 4Mb) memória esetén lehet próbálkozni az alábbi sorral: 'linux tmpfs=3m:nr_inodes=6000' A telepítés folyamán a TTY2, TTY3 és a TTY4-es konzolokon az <ENTER> billentyű leütésével lehet aktiválni a shellt. A telepítés menete az alábbi lépéseket követi: 1. Célpartíciók kiválaszása 2. Célmeghajtó kiválasztása 3. Partícionálás (automatikus vagy manuális): • automatikus: • a '/' partíció a meghajtó összméretének 20%-a, de minimum 250Mb illetve maximum 4Gb • a '/var' partíció a meghajtó összméretének 20%-a, de maximum 4Gb • a 'swap' partíció 1Gb • a '/' és '/var' partíciókon a filerendszerek ext3-ként jönnek létre • manuális: • fdisk segítségével manuális partícionálás • a filerendszer típusának (ext2 illetve ext3 támogatott) valamint a mountolási pontok manuális kiválasztása 4. Telepítés típusának kiválasztása: • Tűzfal rendszer: LIDS + netfilter + essence • Naplózó rendszer: LIDS + mysqld 5. Formattálás, telepítés végrehajtása 6. Rendszer konfigurálása: • Jelszavak (root, LIDS) beállítása • Időzóna beállítása • Billentyűzet beállítása • Hálózati beállítások: • Host neve • Domain neve
Névszerver ip címe(i): több cím esetén szóközzel választandóak el Ki kapja a 'root' user leveleit Hálózati kártyák konfigurációjának típusa: • Automata (PCI kártyák esetén): a detektált meghajtók közül lehet választani • Manuális: az összes lehetséges meghajtó közül lehet választani (1. melléklet) • Hálózati kártyák száma • Hálózati kártyánként: • IP cím • Netmask (hálózati maszk) • Külső interfész esetén: default gateway (alapértelmezett átjáró) • IPv6 IP cím • IPv6 Netmask (hálózati maszk) • Külső interfész esetén: default IPv6 gateway (alapértelmezett átjáró) Kernel kiválasztása LILO telepítése Kilépés • LIDS konfiguráció kiírása (lids.conf, lids.net) • • •
• • •
A telepítésre kerülő kernelek A SecureFilter 2.3 a Linux 2.4-es, vagy 2.6-os kernelen alapul. Az általunk fordított 2.4.26-os kernel az alábbi patcheket tartalmazza: lids-1.1.2p2-2.4.24 netfilter patch-o-matic-ból: pending/40_nf-log pending/40_nf-log-ipv6 pending/59_ip_nat_h-unused-var pending/60_ecn_raw_unclone pending/62_masquerade-oif Az általunk fordított 2.6.17.8-as kernel az alábbi patcheket tartalmazza: lids-2.2.2-2.6.14.patch A kernel forrása a CD kernel/src alkönyvtárában található.
A telepítésre kerülő szoftverek A telepítésre kerülő szoftverek függenek attól, hogy egy tűzfal vagy egy naplózó rendszert kívánunk telepíteni. A tűzfal rendszerekre kerülő programok listáját a 2., míg a naplózó rendszerekre kerülőkét a 3. számú melléklet tartalmazza.
Az essence rendszer A tűzfal konfigurálását az essence rendszer támogatja, amelynek a leírása pod formában magában a programban található. Az essence és a fw scriptek leírása a http://www.kfki.hu/cnc/projekt/securefilter weboldalról letölthető pdf formátumban. A telepített rendszereken az aktuális dokumentáció a következő parancsokkal nézhető meg:
perldoc /etc/fw/essence perldoc /etc/fw/fw
Hivatkozások • • • •
SecureFilter: http://www.kfki.hu/cnc/projekt/securefilter Debian: http://www.debian.org Netfilter: http://www.netfilter.org LIDS: http://www.lids.org
1.Melléklet: a támogatott hálózati interfészek listája 3c359 - 3Com 3C359 Velocity XL Token Ring Adapter Driver 3c501 3c503 - 3Com ISA EtherLink II, II/16 (3c503, 3c503/16) driver 3c505 3c507 3c509 - 3Com Etherlink III (3c509, 3c509B) ISA/PnP ethernet driver 3c515 - 3Com 3c515 Corkscrew driver 3c523 3c527 3c574_cs - 3Com 3c574 series PCMCIA ethernet driver 3c589_cs - 3Com 3c589 series PCMCIA ethernet driver 3c59x - 3Com 3c59x/3c9xx ethernet driver LK1.1.18-ac 1 July 2002 8139too - RealTek RTL-8139 Fast Ethernet driver 82596 - i82596 driver 8390 ASLX - Aurora Multiport Multiprotocol Serial Driver abyss ac3200 - Ansel AC3200 EISA ethernet driver acenic - AceNIC/3C985/GA620 Gigabit Ethernet driver act200l - ACTiSYS ACT-IR200L dongle driver actisys - ACTiSYS IR-220L and IR-220L+ dongle driver airo - Support for Cisco/Aironet 802.11 wireless ethernet cards. Direct support for ISA/PCI cards and support for PCMCIA when used with airo_cs. airo_cs - Support for Cisco/Aironet 802.11 wireless ethernet cards. This is the module that links the PCMCIA card with the airo module. aironet4500_card aironet4500_core aironet4500_cs aironet4500_proc ali-ircc - ALi FIR Controller Driver amd8111e - AMD8111 based 10/100 Ethernet Controller. Driver Version 3.0.3 arc-rawmode arc-rimi arcnet arlan-proc arlan at1700 atp - RealTek RTL8002/8012 parallel port Ethernet driver axnet_cs - Asix AX88190 PCMCIA ethernet driver b44 - Broadcom 4400 10/100 PCI ethernet driver bonding - Ethernet Channel Bonding Driver, v2.2.14 bsd_comp c101 - Moxa C101 serial port driver com20020-isa com20020-pci com20020 com20020_cs com90io com90xx -
cosa - Modular driver for the COSA or SRP synchronous card cs89x0 cyclomx - Cyclom 2X Sync Card Driver. cycx_drv - Cyclom 2x Sync Card Driver de4x5 de600 de620 defxx depca dgrs dl2k - D-Link DL2000-based Gigabit Ethernet Adapter dlci - Frame Relay DLCI layer dmfe - Davicom DM910X fast ethernet driver donauboe - Toshiba OBOE IrDA Device Driver dscc4 - Siemens PEB20534 PCI Controler dummy e100 - Intel(R) PRO/100 Network Driver e1000 - Intel(R) PRO/1000 Network Driver e2100 - Cabletron E2100 ISA ethernet driver eepro - Intel i82595 ISA EtherExpressPro10/10+ driver eepro100 - Intel i82557/i82558/i82559 PCI EtherExpressPro driver eexpress epic100 - SMC 83c170 EPIC series Ethernet driver eql es3210 - Racal-Interlan ES3210 EISA ethernet driver esi - Extended Systems JetEye PC dongle driver eth16i - ICL EtherTeam 16i/32 driver ethertap ewrk3 farsync - FarSync T-Series X21 driver. FarSite Communications Ltd. fealnx - Myson MTD-8xx 100/10M Ethernet PCI Adapter Driver fmvj18x_cs - fmvj18x and compatible PCMCIA ethernet driver girbil - Greenwich GIrBIL dongle driver hamachi - Packet Engines 'Hamachi' GNIC-II Gigabit Ethernet driver hdlc - HDLC support module hermes - Low-level driver helper for Lucent Hermes chipset and Prism II HFA384x wireless MAC controller hostess_sv11 - Modular driver for the Comtrol Hostess SV11 hp-plus - HP PC-LAN+ ISA ethernet driver hp - HP PC-LAN ISA ethernet driver hp100 - HP CASCADE Architecture Driver for 100VG-AnyLan Network Adapters ibmlana ibmtr ibmtr_cs iph5526 irda-usb - IrDA-USB Dongle Driver irport - Half duplex serial driver for IrDA SIR mode irtty - IrDA TTY device driver lance lanstreamer lapbether - The unofficial LAPB over Ethernet driver litelink - Parallax Litelink dongle driver lmc lne390 - Mylex LNE390A/B EISA Ethernet driver lp486e - Intel Panther onboard i82596 driver
madgemc mcp2120 - Microchip MCP2120 mii - MII hardware support library n2 - RISCom/N2 serial port driver natsemi - National Semiconductor DP8381x series PCI Ethernet driver ne - NE1000/NE2000 ISA/PnP Ethernet driver ne2 ne2k-pci - PCI NE2000 clone driver ne3210 - NE3210 EISA Ethernet driver netwave_cs ni5010 ni52 ni65 nmclan_cs - New Media PCMCIA ethernet driver ns83820 - National Semiconductor DP83820 10/100/1000 driver nsc-ircc - NSC IrDA Device Driver old_belkin - Belkin (old) SmartBeam dongle driver olympic - Olympic PCI/Cardbus Chipset Driver orinoco - Driver for Lucent Orinoco, Prism II based and similar wireless cards orinoco_cs - Driver for PCMCIA Lucent Orinoco, Prism II based and similar wireless cards orinoco_pci - Driver for wireless LAN cards using direct PCI interface orinoco_plx - Driver for wireless LAN cards using the PLX9052 PCI bridge pcnet32 - Driver for PCnet32 and PCnetPCI based ethercards pcnet_cs - NE2000 compatible PCMCIA ethernet driver plip ppp_async ppp_deflate ppp_generic ppp_synctty pppoe - PPP over Ethernet driver pppox - PPP over Ethernet driver (generic socket layer) r8169 - RealTek RTL-8169 Gigabit Ethernet driver ray_cs - Raylink/WebGear wireless LAN driver rcpci rfc1051 rfc1201 rrunner - Essential RoadRunner HIPPI driver sb1000 - General Instruments SB1000 driver sdla sdladrv sealevel - Modular driver for the SeaLevel 4021 shaper sis900 - SiS 900 PCI Fast Ethernet driver sk98lin - SysKonnect SK-NET Gigabit Ethernet SK-98xx driver sk_mca skfp slhc slip smc-ircc - SMC IrCC controller driver smc-mca smc-ultra - SMC Ultra/EtherEZ ISA/PnP Ethernet driver smc-ultra32 - SMC Ultra32 EISA ethernet driver smc9194 smc91c92_cs - SMC 91c92 series PCMCIA ethernet driver
smctr starfire - Adaptec Starfire Ethernet driver strip - Starmode Radio IP (STRIP) Device Driver sundance - Sundance Alta Ethernet driver sungem - Sun GEM Gbit ethernet driver sunhme syncppp tekram - Tekram IrMate IR-210B dongle driver tg3 - Broadcom Tigon3 ethernet driver tlan - Driver for TI ThunderLAN based ethernet PCI adapters tms380tr tmsisa tmspci tulip - Digital 21*4* Tulip ethernet driver tun typhoon - 3Com Typhoon Family (3C990, 3CR990, and variants) via-rhine - VIA Rhine PCI Fast Ethernet driver vlsi_ir - IrDA SIR/MIR/FIR driver for VLSI 82C147 w83977af_ir - Winbond W83977AF IrDA Device Driver wanpipe wavelan wavelan_cs wd - ISA Western Digital wd8003/wd8013 ; SMC Elite, Elite16 ethernet driver winbond-840 - Winbond W89c840 Ethernet driver x25_asy xirc2ps_cs - Xircom PCMCIA ethernet driver xircom_cb - Xircom Cardbus ethernet driver xircom_tulip_cb - Xircom CBE-100 ethernet driver yellowfin - Packet Engines Yellowfin G-NIC Gigabit Ethernet driver z85230 - Z85x30 synchronous driver core
2.Melléklet: tűzfal rendszerekre kerülő Debian csomagok listája adduser apt apt-utils aptitude at base-config base-files base-passwd bash binutils bsdmainutils bsdutils bzip2 console-common console-data console-tools coreutils cpio cpp cpp-3.3 cpp-3.4 cron debconf debconf-i18n debianutils dhcp-client diff dpkg dselect e2fslibs e2fsprogs ed fdutils findutils ftp gcc gcc-3.3 gcc-3.3-base gcc-3.4 gcc3.4-base gettext-base grep groff-base gzip hostname ifrename ifupdown info initscripts iproute iptables iputils-ping ipvsadm joe keepalived less libacl1 libatm1 libattr1 libblkid1 libbz2-1.0 libc6 libc6-dev libcap1 libcomerr2 libconsole libdb1compat libdb3 libdb4.2 libdevmapper1.01 libgcc1 libgcrypt11 libgdbm3 libgnutls11 libgpg-error0 libgpmg1 libiw27 libldap2 liblocale-gettext-perl liblockfile1 liblua40 liblualib40 liblzo1 libncurses5 libncurses5-dev libnewt0.51 libopencdk8 libpammodules libpam-runtime libpam0g libpcap0.7 libpcap0.8 libpcre3 libpopt0 libreadline4 libsasl2 libsensors3 libsigc++-1.2-5c102 libsnmp-base libsnmp4.2 libsnmp5 libss2 libssl0.9.7 libstdc++5 libtasn1-2 libtext-charwidth-perl libtext-iconvperl libtext-wrapi18n-perl libtextwrap1 libuuid1 libwrap0 lidstools0 lidstools2 lilo links linux-kernel-headers login logrotate lsof mailx make makedev man-db manpages mawk module-init-tools modutils mount nano ncurses-base ncurses-bin net-tools netbase netkit-inetd ntpdate nvi passwd patch pciutils perl perl-base perl-modules postfix postfix-ldap postfix-pcre ppp pppconfig pppoe pppoeconf procps psmisc quagga radvd rsync sed slang1a-utf8 ssh syslog-ng sysv-rc sysvinit tar tasksel tcpd tcpdump telnet ulogd util-linux vim vim-common wget whiptail zlib1g
3.Melléklet: naplózó rendszerekre kerülő Debian csomagok listája adduser apt apt-utils aptitude at base-config base-files base-passwd bash binutils bsdmainutils bsdutils bzip2 console-common console-data console-tools coreutils cpio cpp cpp-3.3 cpp-3.4 cron debconf debconf-i18n debianutils dhcp-client diff dpkg dselect e2fslibs e2fsprogs ed fdutils findutils ftp gcc gcc-3.3 gcc-3.3-base gcc-3.4 gcc3.4-base gettext-base grep groff-base gzip hostname ifrename ifupdown info initscripts iproute iptables iputils-ping joe less libacl1 libatm1 libattr1 libblkid1 libbz21.0 libc6 libc6-dev libcap1 libcomerr2 libconsole libdb1-compat libdb3 libdb4.2 libdbdmysql-perl libdbi-perl libdevmapper1.01 libgcc1 libgcrypt11 libgdbm3 libgnutls11 libgpg-error0 libgpmg1 libiw27 libldap2 liblocale-gettext-perl liblockfile1 liblua40 liblualib40 liblzo1 libmysqlclient10 libmysqlclient12 libncurses5 libncurses5-dev libnet-daemon-perl libnewt0.51 libopencdk8 libpam-modules libpam-runtime libpam0g libpcap0.7 libpcap0.8 libpcre3 libplrpc-perl libpopt0 libreadline4 libsasl2 libsigc++-1.2-5c102 libss2 libssl0.9.7 libstdc++5 libtasn1-2 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libtextwrap1 libuuid1 libwrap0 lidstools0 lidstools2 lilo links linux-kernel-headers login logrotate lsof mailx make makedev mandb manpages mawk module-init-tools modutils mount mysql-client mysql-common mysql-server nano ncurses-base ncurses-bin net-tools netbase netkit-inetd ntpdate nvi passwd patch pciutils perl perl-base perl-modules postfix postfix-ldap postfix-pcre ppp pppconfig pppoe pppoeconf procps psmisc radvd rsync sed slang1a-utf8 ssh syslog-ng sysv-rc sysvinit tar tasksel tcpd tcpdump telnet util-linux vim vim-common wget whiptail zlib1g