Hali
A gondom az hogy van egy jo kis iptables scriptem ami tűzfalnak tök jo lenne csak ha elinditom akkor valami hihetetlen hibát generál:
nem tudok grafikus felületre (GDM) bejelentkezni...
Bejön a logo de már alul a kis ikonok amik jeleznék a töltési folyamatot már meg sem jelennek.
Ha grafikus login után futtatom akkor semmi gond.
a rendszert debian sarge 2.4 kernellel hajtja
A segitséget előre is kösz!!
- 1671 megtekintés
Hozzászólások
A Script:
#
#MyFirewall shell script V 0.3
#
# Beállítások
#
LANIFACES="bnep0 eth0"
INPUTTCP="ssh smtp imap http https"
INPUTUDP=""
LOG="off"
PORTSCAN="ALL_ALL ALL_NONE ALL_FIN,URG,PSH ALL_SYN,RST,ACK,FIN,URG SYN,RST_SYN,RST SYN,FIN_SYN,FIN FIN,RST_FIN,RST ACK,FIN_FIN ACK,PSH_PSH ACK,URG_URG"
BLACKLIST="10.0.0.0/8 172.16.0.0/16 224.0.0.0/4 240.0.0.0/5"
###############################################################
## Innentől csak akkor módosíts ha tudod hogy mit csinálsz!! ##
###############################################################
#
#A passziv ftphez szukseges modul betoltese
#
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#
#Valtozok definialasa
#
NETIFACE=eth1
NETIP=`ifconfig $NETIFACE | grep inet | cut -d : -f 2 | cut -d \ -f 1`
NETMASK=`ifconfig $NETIFACE | grep Mask | cut -d : -f 4`
NETBCAST=`ifconfig $NETIFACE | grep inet | cut -d : -f 3 | cut -d \ -f 1`
for i in $LANIFACES;
do
LANIP="$LANIP `ifconfig $i | grep inet | cut -d : -f 2 | cut -d \ -f 1`";
LANMASK="$LANMASK `ifconfig $i | grep Mask | cut -d : -f 4`";
LANBCAST="$LANBCAST `ifconfig $i | grep inet | cut -d : -f 3 | cut -d \ -f 1`";
done
#
#Alapallapot visszaallitasa...
#
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
#
#Uj Lancok letrehorasa
#
CHAINS="ILLEGAL PSDROP ILDROP LANINPUT LANOUTPUT NETINPUT NETOUTPUT"
for i in $CHAINS
do
iptables -N $i;
iptables -F $i;
done
#
#Csomag osztályozás
#
iptables -A INPUT -j ILLEGAL
for i in $LANIFACES;
do
iptables -A INPUT -i $i -j LANINPUT;
iptables -A OUTPUT -o $i -j LANOUTPUT;
done
iptables -A INPUT -i $NETIFACE -j NETINPUT
iptables -A OUTPUT -o $NETIFACE -j NETOUTPUT
#TCP/IP szures
#Syn flood szures
iptables -A ILLEGAL -p tcp --syn -m limit ! --limit 3000/s -j ILDROP
# Lehetseges Port Scanneles
iptables -A ILLEGAL -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
for i in $PORTSCAN
do
iptables -A ILLEGAL -p tcp --tcp-flags `echo $i | sed -e 's/\_/\ /g'` -j PSDROP;
done
# Blacklist IP címek tiltasa
for i in $BLACKLIST
do
iptables -A ILLEGAL -i $NETIFACE -s $i -j PSDROP;
done
iptables -A ILLEGAL -j RETURN
#A lehetséges portscanner logolása
if [ "$LOG" = "on" ];then
echo "Tiltott csomagok naplózása: PSDROP";
iptables -A PSDROP -j LOG --log-level warn --log-prefix "Portscan?: ";
fi
iptables -A PSDROP -j DROP
#IP szűrés logolása
if [ "$LOG" = "on" ];then
echo "Tiltott csomagok naplózása: ILDROP";
iptables -A ILDROP -j LOG --log-level warn --log-prefix "Illegalis csomag: ";
fi
iptables -A ILDROP -j DROP
#
#Frogalom LAN -> FW
#
iptables -A LANINPUT -j ACCEPT
#
#Frogalom FW -> LAN
#
iptables -A LANOUTPUT -j ACCEPT
#
#Frogalom NET -> FW
#
for i in $INPUTTCP;
do
iptables -A NETINPUT -m state --state NEW,ESTABLISHED -p tcp --dport $i -j ACCEPT;
done
for i in $INPUTUDP;
do
iptables -A NETINPUT -m state --state NEW,ESTABLISHED -p udp --dport $i -j ACCEPT;
done
if [ "$LOG" = "on" ];then
echo "Tiltott csomagok naplózása: NETINPUT";
iptables -A NETINPUT -m limit --limit 5/s -j LOG --log-level warn --log-prefix "Tiltott csomag NET->FW: " ;
fi
iptables -A NETINPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A NETINPUT -j DROP
#
#Frogalom FW -> NET
#
iptables -A NETOUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
#Forwarding
#
#Forgalom LAN -> NET
#
for i in $LANIFACES;
do
iptables -A FORWARD -i $i -o $NETIFACE -j ACCEPT;
done
#
# Forgalom NET -> LAN
#
for i in $LANIFACES;
do
iptables -A FORWARD -i $NETIFACE -o $i -m state --state ESTABLISHED,RELATED -j ACCEPT;
done
#
# Maszkolas
#
iptables -t nat -A POSTROUTING -o $NETIFACE -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
Ujabb gond:
nem lehet ssh-zni a belső hálóról(laninput)
- A hozzászóláshoz be kell jelentkezni
Milyen interneted van?
Miért nem indulsz el egy alaptól és szűkíted, bűvíted arra amire szükséged van.
- A hozzászóláshoz be kell jelentkezni
már mindkét irányból megprobáltam de valahogy nem akar összejönni... nem sikerül behatárolni hogy hol a gond
- A hozzászóláshoz be kell jelentkezni
Esetleg exportáld ki az iptables szabályláncokat és abból talán kiderül, hogy sikerült esetleg felélesednie olyasminek, amit nem szerettél volna.
iptables-save >rules.txt
Engem anno az adsl konfiguráló script kergetett őrületbe fedorán azzal, hogy
létrehozott default néhány szabályt (pl. blokkolta az 1024 és afeletti portokat), aztán a saját tűzfal scriptem meg hiába okoskodott, mégsem úgy ment ahogy kellett volna neki.
A ténylegesen futó szabályok exportálása és elemezgetése segített a dolgot felfedni.
Egy misét megér ...
Üdv,
t
- A hozzászóláshoz be kell jelentkezni
Szerintem ebben semmi disznóság nincs, de javitsatok ki ha nem igy van
# Generated by iptables-save v1.2.11 on Wed Apr 5 07:24:14 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Apr 5 07:24:14 2006
# Generated by iptables-save v1.2.11 on Wed Apr 5 07:24:14 2006
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:ILDROP - [0:0]
:ILLEGAL - [0:0]
:LANINPUT - [0:0]
:LANOUTPUT - [0:0]
:NETINPUT - [0:0]
:NETOUTPUT - [0:0]
:PSDROP - [0:0]
-A INPUT -j ILLEGAL
-A INPUT -i bnep0 -j LANINPUT
-A INPUT -i eth0 -j LANINPUT
-A INPUT -i eth1 -j NETINPUT
-A FORWARD -i bnep0 -o eth1 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o bnep0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o bnep0 -j LANOUTPUT
-A OUTPUT -o eth0 -j LANOUTPUT
-A OUTPUT -o eth1 -j NETOUTPUT
-A ILDROP -j DROP
-A ILLEGAL -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 3333/sec -j ILDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags FIN,ACK FIN -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags PSH,ACK PSH -j PSDROP
-A ILLEGAL -p tcp -m tcp --tcp-flags ACK,URG URG -j PSDROP
-A ILLEGAL -s 10.0.0.0/255.0.0.0 -i eth1 -j PSDROP
-A ILLEGAL -s 172.16.0.0/255.255.0.0 -i eth1 -j PSDROP
-A ILLEGAL -s 224.0.0.0/240.0.0.0 -i eth1 -j PSDROP
-A ILLEGAL -s 240.0.0.0/248.0.0.0 -i eth1 -j PSDROP
-A ILLEGAL -j RETURN
-A LANINPUT -j ACCEPT
-A LANOUTPUT -j ACCEPT
-A NETINPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 22 -j ACCEPT
-A NETINPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 25 -j ACCEPT
-A NETINPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 143 -j ACCEPT
-A NETINPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 80 -j ACCEPT
-A NETINPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 443 -j ACCEPT
-A NETINPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A NETINPUT -j DROP
-A NETOUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A PSDROP -j DROP
COMMIT
# Completed on Wed Apr 5 07:24:14 2006
# Generated by iptables-save v1.2.11 on Wed Apr 5 07:24:14 2006
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Wed Apr 5 07:24:14 2006
- A hozzászóláshoz be kell jelentkezni
szerintem keresd meg, melyik lanccal van a baj, ugy, hogy egyenkent a lancok elejere beraksz egy accept-et.
- A hozzászóláshoz be kell jelentkezni
Elég érdekes iptables script.. ezzel igy ilyen formán
alaposan meg fogod szivni előbb utóbb, mert elég rosszul
bontod fel, láncokra.
Ami az ssh-t illeti..
.. az input láncnál engedélyezed az látszik, viszont miután arról
átkerül a frordward lácra nem engedélyezed és a default policy drop
lép érvénybe.
-A INPUT -i bnep0 -j LANINPUT
->
-A LANINPUT -j ACCEPT
->
FORWARD DROP [0:0]
Nincs engedélyezve csak a
-A FORWARD -i bnep0 -o eth1 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
hiányzik a
-A FORWARD -i bnep0 -o eth0 -j ACCEPT
Persze lehet rosszul olvasom.. kicsit tömör.
Fri
- A hozzászóláshoz be kell jelentkezni
Nem igazán értem hogy miért mondod hogy rosszul bontom fel??
Ha kicsit bővebben kifejtenéd...
1. Ami az ssh-t illeti..
Kizárólag akkor használom ha nem vagyok otthon és csak a fw-ra, így jelen tudásom szerint soha nem fog még csak bekacsintani sem a forward láncba igy ezzel nem lesz gond...
2. a forwardban azért nem engedélyeztem a két alháló közti átjárást mert azok a laptopomnak vannak fenntartva, és az vagy az egyiken vagy a másikon van, fölösleges szabályt meg ha nem muszály nem gépelek mert lusta vagyok...
- A hozzászóláshoz be kell jelentkezni
Bocs, akkor tényleg félreolvastam.. rosszul értelmeztem a honnan-hovát.
A rossz-t ugy értettem elsősorban, hogy például ezek teljesen feleslegesek, ezt berakhatod a kuldo helyukre is.
iptables -A LANINPUT -j ACCEPT
iptables -A LANOUTPUT -j ACCEPT
Vagy, hogy két LOG láncot csináltál, mert nem hiszem, hogy elemezni fogod a logolt csomagokat, azokra vannak progik.. a portscanre is.
Vagy az INPUTTCP helyett használj inkább multiport-ot.
Vagy pölö, ez.. de ezt nem is értem bevallom az output láncon..
iptables -A NETOUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
De azt is emlithetném, hogy az INPUT elején rögtön elküldöd az ILLEGAL lancba, ami persze nem baj, de sok értelme nincs jelen esetben, hisz kevés szabályod van az INPUT láncban.. viszont a láncaid burjánoznak igy.
Fri
- A hozzászóláshoz be kell jelentkezni
Egyetértek felelsegesek... ez egy régi script kicsit felujitva és gondoltam igy számomra egyszerübb bőviteni, ha esetleg nem bíznék meg saját magamban :-)
azért tettem elé egy if-t mert azt csak néha használom amikor elemezgetni akarok... szoval szinte soha :-)
a multiportot megnézem még nem használtam de biztosan hasznos
a output lánc... ez a szabály azt jelenti hogy minden csomag mehet aminek a state-je a felsoroltak egyike
ez csak azért van mert én mindig a saját fejem után megyek és nekem ugy tetszik hogy a default láncokban nagyonnagyon kevés a szabály, és csak osztályozás van
- A hozzászóláshoz be kell jelentkezni
A helyedben az OUTPUT policy-t ACCEPT-re raknám. Ezen kívül pedig a lo interfészről induló vagy oda tartó forgalmat teljesen átengedném.
Ha az INPUT láncban mindent lekorlátozol, amit nem akarsz beengedni, akkor is külön lo interfész dolgait engedélyezni kellene. Hasonlóképpen a FORWARD-nál is a lo dolgait át kéne engedni.
Ha az INPUT és FORWARD láncokban a kintről jövő forgalmat elsődlegesen szűröd, akkor egyszerűen lehet mindent a lo-ra, -ról engedélyezni, hiszen kintről csak az jöhet, amit engedsz.
Szerintem a lo interfész blokkolgatása okozhat gondot a GDM-es induláskor. Fene tudja, hogy mi-mindent kommunikálgat(na) socketeken, amíg feláll(na).
OFF
Amennyiben érdekel, elküldhetem neked a saját firewall script csomagomat. Igaz, hogy az most fedorára lett lőve, de RedHat 9 óta minden verzión kifogástalanul megy. Igen ... mindenki a saját lovát dicséri :)))
ON
Üdv,
t
- A hozzászóláshoz be kell jelentkezni
Az output policy-t ugyan tehetném accept-re de nekem igy jobban tetszik... és még soha nem okozott gondot, pedig már vagy 4 éve irogatok iptables scripteket.
Az lo-val kapcsolatban lehet hogy igazad van, ezt meg is fogadom, viszont a lényegi problémámon sajna nem segít, mert a GDM ugyanúgy nem indul (hozzátenném hogy tudomásom szerint a lo-nak semmi köze a forward lánchoz)+(az x-röl ugy tudom hogy ha localhost-on használod elvileg *.sock-on keresztül kommunikál nem net-es socketen, de ebben nem vagyok biztos)
Az fw scripted szivesen fogadom, mindenből lehet tanulni...
- A hozzászóláshoz be kell jelentkezni
Hova küldhetem?
- A hozzászóláshoz be kell jelentkezni
btunyo_AT_freemail_DOT_hu
- A hozzászóláshoz be kell jelentkezni
Mail ment.
Ha kell segítség a kutyulmányaim értelmezéséhez, csak szólj.
Üdv,
t
- A hozzászóláshoz be kell jelentkezni
esetleg:
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I OUTPUT 1 -o lo -j ACCEPT
?
- A hozzászóláshoz be kell jelentkezni
nem segit sajna
- A hozzászóláshoz be kell jelentkezni
Én guarddoggal konfigoltam be a tűzfalat ez létrehozott egy rc.firewall scriptet ezt belinkeltem az rd.d-be és remekül megy.
- A hozzászóláshoz be kell jelentkezni