Dersom man ønsker af beskytte sine maskiner med en firewall, kan det anbefales at anvende programmet PF under OpenBSD på en almindelig PC. Man kan vælge at opsætte firewallen som en bro eller en router. Det anbefales at benytte en bro, idet man så kan sætte sin firewall til og fra uden at skulle skifte IP numre på sine maskiner. Nedenfor beskrives den nødvendige procedure, som kan klares på mindre end en time. Hertil komme så "tuningen" af filterfunktionen, som kan tage flere dage.
Maskinel
Anvend en ca 1 GHz Pentium
maskine med 256 Mbyte, 4 Gbyte disk og 2 stk 100 Mb/s netkort. CPU behovet
afhænger naturligvis helt af trafikmængden og antallet af regler i filtret. Der
er stort set ingen diskaktivitet.
Tilslut skærm og tastatur (mus er
overflødig).
Tilslut den ene netforbindelse.
Bootdiskette
Der skal først laves en boot
diskette. Hvis man råder over en Windows2000/NT maskine, så hentes filen
http://ftp.sunet.se/pub/os/OpenBSD/3.4/tools/ntrw.exe
Hvis man råder over en
Windows 95/98 hentes i stedet filen
http://ftp.sunet.se/pub/os/OpenBSD/3.4/tools/rawrite.exe
Derpå hentes
filen http://ftp.sunet.se/pub/os/OpenBSD/3.4/i386/floppy34.fs
En 1.4 Mb
diskette formateres så den er helt tom. Derpå kopieres floppy34.fs til disketten
med kommandoen: "ntrw floppy34.fs a:" eller "rawrite floppy34.fs
a:"
Programmel
Boot fra den nye
diskette:
Vælg Install, terminaltypen vt220 er normalt OK
Keyboard encoding table sættes til: dk (hvis man har dansk tastatur).
Benyt hele disken til OpenBSD
Delete partition a med kommandoen: d
a
Så oprettes 6 partitions: a b d e f g
I alle tilfælde benyttes de
foreslåede offset og FS type. Oprettelsen af hver partition sker med kommandoen:
a. Partition c omfatter hele disken og skal ikke defineres.
Opret partion
a med size = 128000, FS type = 4.2BSD og mount point /
Opret partion b med
size = 1024000, FS type = swap
Opret partion d med size = 1024000, FS type =
4.2BSD og mount point /usr
Opret partion e med size = 1024000, FS type =
4.2BSD og mount point /tmp
Opret partion f med size = 2048000, FS type =
4.2BSD og mount point /var
Opret partion g med size = 1024000, FS type =
4.2BSD og mount point /home
Ændringerne gemmes med kommandoen:
q
Derpå svares på en række simple spørgsmål.
Det ene netværkskort
konfigureres, f.eks. via DHCP. Det andet netværkskort ignoreres.
Der
svares nej til X-windows.
Derefter vælges FTP til installation. Her fås
en list over steder. Vælg ftp.sunet.se (som pt er nummer 52). Herved benyttes
automatisk kataloget /pub/os/OpenBSD/3.4/i386.
Fra ftp.sunet.se vælges de
5 filesets: base34.tgz, etc34.tgz, man34.tgz, bsd.rd og bsd. Ved at sætte
et - foran filnavnet kan et filsæt fjernes. Kommandoen: done anvendes når
filvalget er færdigt. Herefter hentes ca 45 Mbyte.
Tidszones sættes til:
Europe/Copenhagen
Herefter fjernes boot disketten og maskinen genstartes
med kommandoen: halt
Konfigurationsfiler
Hvis netkortene hedder fxp0 og xl0, skal følgende filer
oprettes med det viste indhold (justeret med de rigtige IP numre og domæne). Det
er uden betydning om IP nummeret er defineret på inder- eller ydersiden af broen
(bortset fra filtre vedr. eksterne opkoblinger til selve OpenBSD
maskinen).
/etc/hostname.fxp0
inet 192.168.127.91
255.255.255.0
up
/etc/hostname.xl0
up
/etc/mygate
192.168.127.1
/etc/resolv.conf
search
xadm.ku.dk
nameserver 192.168.127.5
nameserver 192.168.127.34
En
bro-koblet forbindelse oprettes med følgende fil og
indholdet:
/etc/bridgename.bridge0
add fxp0
add xl0
maxaddr
1024
up
Her skal maxaddr mindst sættes til antallet af maskiner i den
anvendte IP nummerserie plus andet udstyr i det brokoblede netværk.
Disse konfigurationsfiler bliver aktive efter næste reboot.
For at sætte tiden korrekt en gang i døgnet, så installeres ntp pakken med
kommandoen:
pkg_add
ftp://ftp.sunet.se/pub/OpenBSD/3.4/packages/i386/ntp-4.1.74.tgz
Herefter
indlægges kommandoen:
/usr/local/sbin/ntpdate -bs garm.adm.ku.dk
i
bunden af filen /etc/daily
I filen /etc/mail/aliases indsættes en mail
adresse for root. Derefter udføres kommandoen: newaliases
For at hindre fremmede SSH opkald til selve BSD maskinen bør man indsætte følgende linier i filen /etc/hosts.allow:
SSHD: 130.225.0.0/255.255.0.0
SSHD: 192.38.0.0/255.255.128.0
og følgende linie i filen /etc/hosts.deny:
ALL: ALL
Når PCen tilsluttes til de to net efter den indledende opsætningen, vil den
et stykke tid blokere for alle de ethernet adresser, som er skiftet fra det ene
interface til det andet. For at undgå dette, kan man samtidig med tilslutningen
af det andet interface benytte kommandoen: brconfig bridge0
flush
Filtrering
Filtreringen startes
hvis følgende linie er indsat i
filen:
/etc/rc.conf
pf=YES
Konfigurationsfilen for PF er
/etc/pf.conf
Efter rettelser i denne fil genstartes PF med kommandoen: pfctl -f /etc/pf.conf (Bemærk, at man nu skal anvende option -f, mens version 3.1 og tidligere anvendte -R).
Man skal være opmærksom på at PF vil blokere for alle igangværende sessioner, når den startes første gang pga "keep state" funktionen. En genstart med ny konfigurationsfil giver derimod ikke problemer, idet alle "states" videreføres under en genstart.
Kataloget /var/log indeholder PFs logfiler i mange generationer i binær form. Hver gang en fil når en vis størrelse påbegyndes en ny generation. Den binære fil pflog kan udskrives med kommandoen: tcpdump -n -e -ttt -r /var/log/pflog
Antal og størrelsen af logfiler styres af den generelle konfigurationsfil /etc/newsyslog.conf
Status
Følgende kommandoer benyttes til
status:
pfctl -s state viser hvilke states som er
aktive.
pfctl -s rules viser nummereringen af reglerne.
Ved at tilføje et -v vises endvidere brugen af de forskellige filtre siden
sidste reload af filtre.
brconfig bridge0 viser
ethernetadresserne og hvorledes de er fordelt på de to brokoblede
interfaces.
ifconfig -a viser status for de to
ethernetkort.
Dokumentation
Dokumentation findes på
www.openbsd.org. Specielt anbefales:
http://ftp.sunet.se/pub/OpenBSD/3.4/i386/INSTALL.i386
http://www.openbsd.org/faq/
http://www.openbsd.org/security.html
Man siderne: AFTERBOOT,
PF(8) og PF(5)
Siden version 3.3 af PF er der kommet en ny funktion med tabeller. Herved kan mange identiske regler, hvor der kun er IP numre til forskel, samles i en enkelt regel.
Håndtering af FTP er et specielt problem, se http://www.deadly.org/article.php3?sid=20020130012631
Andet
Nye brugere oprettes med
kommandoen: adduser
Husk at sætte brugere i gruppe wheel, hvis de skal lave
su til root.
Det er ikke umiddelbart muligt at lave en Telnet opkobling til OpenBSD (det er en del af sikkerheden). Man er derfor nødt til at anvende en SSH klient til dette formål (f.eks. TeraTerm).
I filen /etc/inetd.conf kan man fjerne: daytime, time og comsat
Skrivning på en diskette kan ske med kommandoen:
tar cvf /dev/fd0c
filnavn
Hvis der anvendes dansk tastatur på konsollen, skal man anvende kommandoen:
kbd dk. Bemærk dog at dette normalt sættes under installation.
Der må
ikke være en diskette i maskinen ved normal boot.
BIOS skal opsættes så maskinen ikke standser disken efter en periode med
inaktivitet.
IT-afdelingen | E-mail: IT-info @ adm.ku.dk |
Nørregade 10 | Fax 35 32 27 07 |
1165 København K | Opdateret 22. dec. 2003 af |
Tlf. 35 32 27 00 | Jan.P.Sorensen @ adm.ku.dk |