Avatar billede janorakel Nybegynder
01. januar 2009 - 23:27 Der er 12 kommentarer og
1 løsning

iptables er 'glemt' ved reboot på Centos

I forlængelse af mit spm. http://www.eksperten.dk/spm/858010 har jeg lavet nogle reboots af maskinen, men det lader som om af min konfiguration bliver "glemt" for jeg bliver nødt til at lave dem igen efterfølgende.

# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Load some kernel modules
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# Enable Masquerade and statefull inspection all forwarding
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -m state –-state ESTABLISHED,RELATED -j ACCEPT

# Open ports on router pc for server/services
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 24 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 21 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 110 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 25 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 143 -j ACCEPT

# STATE RELATED for local processes on firewall machine
iptables -A INPUT -m state –-state ESTABLISHED,RELATED -j ACCEPT
Avatar billede lassebm Nybegynder
02. januar 2009 - 12:39 #1
Hvis du rebooter så flusher den din konfigation. Du skal sørge for at scriptet bliver startet ved bootup.
Avatar billede langbein Nybegynder
02. januar 2009 - 20:21 #2
Hvis man redigerer firewall konfigureringen inn i stadard scriptet /etc/rc.d/rc.local (Tror jeg det var) saa vil den settes opp automatisk ved reboot. Dette virker for de aller fleste distroer.

Det finnes ogsaa en annen metode som er "native" for redhat/centos, men den husker jeg ikke her og nu.
Avatar billede langbein Nybegynder
02. januar 2009 - 20:25 #3
Firewall konfigureringen skal vel som default ligge lagret her:
/etc/sysconfig/iptables
Mulig det ogsaa kan fungere med aa redigere om denne. (Har ikke testet det for det skal finnes en annen maate ogsaa.)
Avatar billede langbein Nybegynder
02. januar 2009 - 20:28 #4
Tror den tredje mulighet som vil lagre naavarende konfigurering er denne kommando:

"service iptables save"
Avatar billede langbein Nybegynder
02. januar 2009 - 20:33 #5
Sjekket litt om jeg husket rett:

http://www.linuxforums.org/forum/redhat-fedora-linux-help/47871-etc-rc-d-rc-local-about.html

/etc/rc.d/rc.local ser ut til aa vare den rette adresse for aa legge inn det start script som man maatte oenske.

Det staar tre forskjellige maater over, men brukes selv for det meste /etc/rc.d/rc.local metoden fordi den fungerer likt paa nesten alle linux distroer i denne verden.
Avatar billede lassebm Nybegynder
03. januar 2009 - 13:00 #6
Du kan vist også kopiere filen til /etc/init.d/ og så lave en /etc/init.d/filnavn

Så vil den også starte ved reboot.
Avatar billede janorakel Nybegynder
05. januar 2009 - 18:47 #7
Ej, jeg beklager fraværet de sidste par dage.

Jeg prøvede "the quick and dirty way" og smed komandoerne ind i "bootup and shutdown" som et actionscript. De virker fint - bortset fra jeg ikke kan bruge "state" argumentet her..

Hvordan lukker jeg for portene 139 (samba) på ydersiden (eth1)?

Ellers mange tak for hjælpen!
Avatar billede janorakel Nybegynder
05. januar 2009 - 18:48 #8
"bootup and shutdown" - altså i webmin :-)
Avatar billede janorakel Nybegynder
05. januar 2009 - 18:49 #9
Jeg prøvede med:

iptables -A INPUT -i eth1 -p udp --dport 139 -j DROP
iptables -A OUTPUT -i eth1 -p udp --sport 139 -j DROP

Men de virker ikke i min iptables version - fortælles der.
Avatar billede janorakel Nybegynder
05. januar 2009 - 18:51 #10
iptables v1.3.5: Can't use -i with OUTPUT
Avatar billede langbein Nybegynder
05. januar 2009 - 20:56 #11
Skriptet øverst inneholder en generaltabbe !

Det inneholder ikke kommando for å flushe ut de gamle reglene og det inneholder ikke regler for å sette policieas. Det betyr at firewall kan bli stående helt åpen.

Det skal sånn sett ikke være noe behov for å sette en regel av typen:
iptables -A INPUT -i eth1 -p udp --dport 139 -j DROP

.. fordi port 139 og alle andre porter som ikke spesielt er satt til åpen vil være lukket, så sant policy eller default regel er satt til lukket (DROP).

Med flushing og riktig policy:

# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# Load some kernel modules
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

#Flushing old rules
iptables -F
iptables -X
iptables -Z

#Setting policies
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP


# Enable Masquerade and statefull inspection all forwarding
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -m state –-state ESTABLISHED,RELATED -j ACCEPT

# Open ports on router pc for server/services
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 24 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 21 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 110 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 25 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –-dport 143 -j ACCEPT

# STATE RELATED for local processes on firewall machine
iptables -A INPUT -m state –-state ESTABLISHED,RELATED -j ACCEPT

Beklager at jeg ikke så dette tidligere. Når man må lukke 139 med en ekstra regel så viser dette en grunnleggende feilfunksjon som skyldes manglende setting av policy.
Avatar billede langbein Nybegynder
05. januar 2009 - 20:58 #12
NY tabbe .. dette vil jo lukke firewall på den måte at dne ikke vil kjøre som gateway.

Da kan for eksempel FORWARD policy settes til ACCEPT:

iptables -P FORWARD ACCEPT

(Det finnes også mange andre måter å løse dette på som gir litt mer "grundigere" firewalling. Dette blir på aller enkleste måte.)
Avatar billede janorakel Nybegynder
06. januar 2009 - 00:14 #13
Hehe, der var lige flere ting som drillede. Min PBX havde sørget for at maskinen kørte iptables med en anden fil under bootup - iptables-pbx... :-(
Derefter var der nogle småting med min copy-paste som ikke var helt godt. F.eks. linjen "iptables -A FORWARD -m state –-state ESTABLISHED,RELATED -j ACCEPT" omkring "–-state" - det er en streg og et minustegn. Det ville maskinen ikke godtage.

Så kom scriptet til at se således ud fra webmin under "bootup og shutdown":

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 139 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p tcp --dport 139 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p udp --dport 445 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p tcp --dport 445 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p udp --dport 3306 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 3306 -j DROP
iptables -A INPUT -i eth1 -p udp --dport 4445 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p tcp --dport 4445 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i eth1 -p udp --dport 111 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 111 -j DROP

Mange tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester