Försöker ta fram ett filter som ska tillåta en del och blocka resten. Servern har ipnummer 192.168.0.3 (men kommer ändras senare). Den kommer inte agera som någon gateway.
Som jag har det nu:
- Trafik ut port 67,68 tillåts (DHCP Server, Bootstrap Protocol Server)
- Trafik ut port 20,21 samt 1024 och uppåt tillåts (ftp)
- Trafik ut port 80 tillåts (webbsurfning, fetch/wget etc)
- Trafik ut port 443 tillåts (säker webbsurfning)
- Trafik ut port 110, 143, 25 tillåts (pop3/imap/smtp)
- Trafik ut port 22 tillåts (ssh)
- Trafik ut port 53 tillåts (dns lookups)
- Trafik ut port 5999 tillåts (CVSUP)
- Trafik ut port 37,123 tillåts (datum/klockserver)
- Trafik ut port 43 tillåts (whois)
- Trafik ut ICMP tillåts (ping)
- Trafik ut IGMP tillåts ej
Bör man reglera trafiken på detta sätt eller är det ingen säkerhetsrisk att tillåta all trafik innefrån ut?
Sedan trafiken utifrån som jag vill tillåta in är för www/mysql/ftp/ssh/mailserver. Jag vet att det är en säkerhetsrisk att tillåta ssh utifrån men jag har tänkt mig reglera det till ett visst ipnummer (som jag inte vet ännu). Hur brukar man göra med ftpservrar, låter man port 21 vara öppen samt en viss serie portar, t.ex. 49151 till 65535?
Ser detta filter ok ut annars? :)
Hojta gärna till om det är något som är knas.
###################################################
#
# OUTGOING DATA
#
###################################################
# DHCP Server, Bootstrap Protocol Server
pass out quick on rl0 proto udp from any to any port = 67 keep state
pass out quick on rl0 proto udp from any to any port = 68 keep state
# Tillåt ftp ut
pass out quick on rl0 proto tcp from any to any port = 20 flags S keep frags keep state
pass out quick on rl0 proto tcp from any to any port = 21 flags S keep frags keep state
pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep frags keep state
# Tillåt webbsurfning ut
pass out quick on rl0 proto tcp from any to any port = 80 flags S keep frags keep state
pass out quick on rl0 proto tcp from any to any port = 443 flags S keep state
# Tillåt pop3/imap/smtp ut
pass out quick on rl0 proto tcp from any to any port = 110 flags S keep frags keep state
pass out quick on rl0 proto tcp from any to any port = 143 flags S keep frags keep state
pass out quick on rl0 proto tcp from any to any port = 25 flags S keep frags keep state
# Tillåt ssh ut
pass out quick on rl0 proto tcp from any to any port = 22 flags S keep frags keep state
# Tillåt DNS lookups ut
pass out quick on rl0 proto udp from any to any port = 53 keep state keep frags
# Tillåt CVSUP ut
pass out quick on rl0 proto tcp from any to any port = 5999 flags S keep state
# Tillåt datum/klockserver ut
pass out quick on rl0 proto tcp from any to any port = 37 keep state
pass out quick on rl0 proto udp from any to any port = 123 keep state
# Tillåt whois lookups ut
pass out quick on rl0 proto tcp from any to any port = 43 keep state
# Blocka IGMP
block out quick on rl0 proto igmp all
# Tillåt/Blocka ICMP
#block out quick on rl0 proto icmp from any to any keep state
pass out quick on rl0 proto icmp from any to any icmp-type 8 keep state
######################################
# EGRESS filtering
######################################
# Det nät som server ligger på just nu
block out quick on rl0 from !192.168.0.0/16 to any
# Blocka alla andra
block out quick on rl0 from any to 0.0.0.0/7
block out quick on rl0 from any to 2.0.0.0/8
block out quick on rl0 from any to 5.0.0.0/8
block out quick on rl0 from any to 10.0.0.0/8
block out quick on rl0 from any to 23.0.0.0/8
block out quick on rl0 from any to 27.0.0.0/8
block out quick on rl0 from any to 31.0.0.0/8
block out quick on rl0 from any to 69.0.0.0/8
block out quick on rl0 from any to 70.0.0.0/7
block out quick on rl0 from any to 72.0.0.0/5
block out quick on rl0 from any to 82.0.0.0/7
block out quick on rl0 from any to 84.0.0.0/6
block out quick on rl0 from any to 88.0.0.0/5
block out quick on rl0 from any to 96.0.0.0/3
block out quick on rl0 from any to 127.0.0.0/16
block out quick on rl0 from any to 128.0.0.0/16
block out quick on rl0 from any to 128.66.0.0/16
block out quick on rl0 from any to 169.254.0.0/16
block out quick on rl0 from any to 172.16.0.0/12
block out quick on rl0 from any to 191.255.0.0/16
block out quick on rl0 from any to 192.0.0.0/19
block out quick on rl0 from any to 192.0.48.0/20
block out quick on rl0 from any to 192.0.64.0/18
block out quick on rl0 from any to 192.0.128.0/17
block out quick on rl0 from any to 192.168.1.0/24
block out quick on rl0 from any to 197.0.0.0/8
block out quick on rl0 from any to 201.0.0.0/8
block out quick on rl0 from any to 204.152.64.0/23
block out quick on rl0 from any to 206.112.0.0/16
block out quick on rl0 from any to 224.0.0.0/3
# Blocka allt annat
block out log quick on rl0 all
###################################################
#
# INCOMING DATA
#
###################################################
######################################
# Våra tjänster
######################################
# FTP-Server
pass in quick on rl0 proto tcp from any to any port = 21 flags S keep state keep frags
pass in quick on rl0 proto tcp from any to any port 49151 >< 65535 flags S keep state
# WEBB-Server
pass in quick on rl0 proto tcp from any to any port = 80 flags S keep state keep frags
# Inloggning via SSH
pass in quick on rl0 proto tcp from any to any port = 22 flags S keep state keep frags
# SMTP/POP/IMAP
pass in quick on rl0 proto tcp from any to any port = 25 keep state
pass in quick on rl0 proto tcp from any to any port = 110 flags S keep frags keep state
pass in quick on rl0 proto tcp from any to any port = 993 flags S keep state
pass in quick on rl0 proto tcp from any to any port = 143 keep state
######################################
# Blocka allt annat
######################################
# Blocka all trafik in från nät som inte används eller är reserverade.
block in quick on rl0 from 192.168.1.0/24 to any #RFC 1918 private IP
block in quick on rl0 from 172.16.0.0/12 to any #RFC 1918 private IP
block in quick on rl0 from 10.0.0.0/8 to any #RFC 1918 private IP
block in quick on rl0 from 127.0.0.0/8 to any #loopback
block in quick on rl0 from 0.0.0.0/8 to any #loopback
block in quick on rl0 from 169.254.0.0/16 to any #DHCP auto-config
block in quick on rl0 from 192.0.2.0/24 to any #reserved for docs
block in quick on rl0 from 204.152.64.0/23 to any #Sun cluster interconnect
block in quick on rl0 from 224.0.0.0/3 to any #Class D & E multicast
# Blocka AMAVISD
block in quick on rl0 proto tcp from any to any port = 10024 keep state
# Blocka ICMP
block in quick on rl0 proto icmp all icmp-type 8
# Blocka IGMP
block in quick on rl0 proto igmp all
# Blocka IDENT
block in quick on rl0 proto tcp from any to any port = 113
# Blocka Netbios på port 137 (name), 138 (datagram), 139 (session)
block in quick on rl0 proto tcp/udp from any to any port = 137
block in quick on rl0 proto tcp/udp from any to any port = 138
block in quick on rl0 proto tcp/udp from any to any port = 139
# Blocka MS/windows hosts2 på port 81
block in quick on rl0 proto tcp/udp from any to any port = 81
# Blocka skumma paket
block in quick on rl0 all with ipopts
block in quick on rl0 all with frags
block in quick on rl0 all with short
block return-rst in quick on rl0 proto tcp all flags FUP
block return-rst in quick on rl0 proto tcp from any to any
block return-icmp-as-dest(port-unr) in quick on rl0 proto udp from any to any
# Blocka paket som är för små
block in log quick on rl0 all with opt lsrr
block in log quick on rl0 all with opt ssrr
# Blocka resten
block in log quick on rl0 all
###################################################
#
# Tillåt allt till och från localhost
#
###################################################
pass in quick on lo0 all
pass out quick on lo0 all
Ja, det finns anledning att blockera trafik innefrån att gå ut. Nu vet inte jag vilka som kommer nyttja din server men om man inte har fullständig koll på alla så finns det idé att blockera trafik ut precis som du gör.
Varför blockerar du specifika tjänster för att sista blockera allt? Blir ju bara onödigt arbete.
Ja, det finns anledning att blockera trafik innefrån att gå ut. Nu vet inte jag vilka som kommer nyttja din server men om man inte har fullständig koll på alla så finns det idé att blockera trafik ut precis som du gör.
Varför blockerar du specifika tjänster för att sista blockera allt? Blir ju bara onödigt arbete.
Den manualen jag läste (fbsdhandboken och en pdf om säkerhetstänkande) gjorde på det sättet och förklarade det med att först filtrera bort vanlig trafik och den trafik som trots det finns kvar loggas så att man kan se det. Vet inte om det är nödvändigt iofs.