Buiten sluiten omdat je een foutje maakt met je firewall is eenvoudig te voorkomen. Ik heb zelf wel eens in die situatie gezeten en daar leer je snel van
. Dit script gebruik ik tegenwoordig als ik een nieuw firewall script laad of m'n huidige script heb geupdate:
#!/bin/bash
# A simple script which calls an iptables config script (given in $1) and then
# sleeps for 30, and then resets iptables config, so you never lock
# yourself out. The firewall is completly open after those 30 seconds.
IPTABLES='/sbin/iptables'
./$1
sleep 30s
$IPTABLES --flush
$IPTABLES --delete-chain
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
Ik heb dat script opgeslagen in het bestand iptables_test en heb ik execute rechten gegeven. Mijn iptables config zet ik altijd in iptables_setup. Om het te testen kom je dus op dit commando uit:
./iptables_test iptables_setup
Als je jezelf dan buiten sluit hoef je alleen maar 30 seconden te wachten en je komt er weer bij. Ik ben al een paar keer erg blij geweest met dit simpele script
.
Misschien is er een kans dat je de variabele IPTABLES moet bijwerken met de lokatie van jouw iptables commando, maar dat verwacht ik niet eigenlijk.
Ennuh, Pascal: ik ben het toch niet helemaal eens met je statement dat een firewall overbodig is. Ik zet op m'n servers altijd een zeer stricte firewall op m'n doos. Ik zet niet alleen verkeer naar binnen 100% dicht, maar ook verkeer naar buiten is 100% geblokkeerd. Daarna ga ik wat gaatjes erin schoppen. TCP80 inkomend moet vaak open. TCP25 inkomend vaak ook. Uitgaand zet ik TCP80 naar ftp.nl.debian.org open en UDP53 naar de DNS server. Op die manier reguleer ik dus, tot in het extreme, wat voor verkeer er komt en gaat vanaf de server. Als er dan eens een veiligheidslek in een PHP app zit die erop draait en een of andere deus probeert allerlei troep te downloaden dan lukt dat gewoon niet. De firewall blokkeert. Uiteraard is dit een van de vele schakels in de security maatregelen. Dingen als fail2ban zijn ook leuk op Apache. Snort kan ook wel wat uitmaken. En uiteraard zinnige permissies op directories en files die binnen de webroot staan.
Laptop: Core 2 Duo T7600. 200 GB (RAID0) voor Windows 7 Professional (Toshiba Qosmio G30-126)
Netbook: Atom N270, 2 GB RAM, 20 GB voor Ubuntu 10.04 (Asus Eee 901)
Desktop: Core 2 Duo E6600 @ 3,3 Ghz, 8 GB RAM, 3 TB (RAID0+RAID6) voor Gentoo, 15 GB voor SUSE 11.1, 1 TB voor Windows 7 Pro 64 bit Dutch (zelfbouw)
Server: 2x Pentium 3 Tualatin 1,13 Ghz, 1 GB RAM, 232 GB (RAID1) voor Gentoo (zelfbouw)