Poslao: 07 Jun 2006 15:15
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Recimo da jedan komp ima IP 3 adrese:
192.168.0.1
192.168.0.2
192.168.0.3
Ideja je da preko .1 ide samo DNS, HTTP, POP3 i SMTP, a sve ostale portove zatvaramo, i TCP i UDP i ICMP.
Na .2 omogucavamo sve TCP portove, tu ide FTP, i zatvaramo Mysqld i sshd.
Na .3 omogucavamo samo sshd.
No, to je sada i nebitno.
Stvar je u tome sto ova skripta radi na RedHat, a na Debian 3.1 blokira sve... kompletno odsece server od mreze.
Evo skripte:
#!/bin/sh
touch /var/lock/subsys/local
##FIREWALL by dark
iptables=/sbin/iptables
#Ochistimo sva postojeca firewall pravila pre postavljanja nashih
$iptables --flush
$iptables -t nat --flush
$iptables -t mangle --flush
#Dozvoli za loopback
$iptables -I INPUT -i lo -j ACCEPT
#Default akcija je DROP
##INPUT, dolazne konekcije
#Default INPUT konfiguracija na DROP
$iptables -P INPUT DROP
#Zabrani invalid konekcije
$iptables -A INPUT -m state --state INVALID -j DROP
#Dozvoli konekcije koje su povezane sa postojecom konekcijom
#ili koje su u vezi sa nekom drugom aktivnom konekcijom
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Izuzetak iz zabrana za mysqld sa localhost-a
$iptables -I INPUT -p TCP --dport 3306 -m state --state NEW -s localhost -j ACCEPT
# --- Pravila za pristup serveru spolja ---
# Dozvoli dns upite
$iptables -I INPUT -p TCP --dport 53 -m state --state NEW -j ACCEPT
$iptables -I INPUT -p UDP --dport 53 -m state --state NEW -j ACCEPT
# Dozvoli apache
$iptables -I INPUT -p TCP --dport 80 -m state --state NEW -j ACCEPT
# Dozvoli smtp i pop3
$iptables -I INPUT -p TCP --dport 25 -m state --state NEW -j ACCEPT
$iptables -I INPUT -p TCP --dport 110 -m state --state NEW -j ACCEPT
# omoguci sve na .2
$iptables -I INPUT -p TCP -d 192.168.0.2 -m state --state NEW -j ACCEPT
# pa onda port po port zatvara
$iptables -I INPUT -p TCP -d 192.168.0.2 --dport 3306 -m state --state NEW -j DROP
$iptables -I INPUT -p TCP -d 192.168.0.2 --dport 22 -m state --state NEW -j DROP
# Na .3 je sve blokirano, dozvoljavamo samo sshd
$iptables -I INPUT -p TCP -d 192.168.0.3 --dport 22 -m state --state NEW -j ACCEPT
Ima li neko Debian 3.1, pa da isproba ovo na svom kompjuteru, i da vidi gde je problem?
Ja nemam Debian na svom kompu, a ne ide da dedicated server resetiram svaki minut, da bi provalio sta zeza...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 07 Jun 2006 15:24
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12520
- Gde živiš: Južni pol
|
Koji RedHat? Koja verzija? Koji kernel je koristio taj RedHat?
Proveri verziju kernela koju koristi tvoj Debian (Mislim da je u pitanju 2.4.34 ili 2.6.8 ):
uname -r
Ako je RedHat koristio 2.6 kernel, možda će raditi ako prebaciš i Debian na 2.6... Mada je verzija kernela 2.6.8 mnogo matora...
Da li su učitani moduli za sve potrebene iptables filtere?
|
|
|
|
Poslao: 07 Jun 2006 15:35
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
U pitanju je "Red Hat Enterprise Linux ES release 4 (Nahant Update 3)"
Sad proverih kernele:
RH: 2.6.9-22.EL
Debian: 2.4.32
Kako da vidim koji su moduli ucitani za iptables?
Ako nije do modula, sta bi trebao da modifikujem da bi firewall skripta radila na 2.4 ?
|
|
|
|
Poslao: 07 Jun 2006 15:42
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12520
- Gde živiš: Južni pol
|
Lično, kompajliram svoj kernel monolitno. Module koristim samo za stvari koje retko koristim. Generalno, za proveru da li su moduli instalirani, postoji onaj klasični način:
Citat:lsmod
Mislim da je moguće da je ovde u pitanju konflikt u verzijama iptables (odnosno ipchains) koji dolaze uz 2.4.x i 2.6.x kernel.
U tom slučaju bi morao da se informišeš u čemu je razlika. Pogledaj za početak tutorijal koji je napisao Blood u Phearless-u:
http://www.phearless.org (broj 2) - članak "Hiding behind the firewall".
|
|
|
|
|
|
Poslao: 07 Jun 2006 21:01
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Au, Fedora 2... iz 2004..........
Pokrenem yum, update-uju se paketi, i kao kernel update-ovan, al nije kao mogao da ga konfigurise.
Uradim reset - i masina mrtva....
Vratih se na Debian 3.1.
Dakle, imas li ideju sto ona firewall skripta ne radi?
|
|
|
|
|
Poslao: 10 Jun 2006 00:28
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
# iptables -I INPUT -p TCP --dport 80 -m state --state NEW -j DROP
iptables: No chain/target/match by that name
Dopuna: 09 Jun 2006 23:18
kad izbacim -m state --state NEW onda radi...
sad cemo vec lako skontati do cega je... tj. zasto nema ovaj state.
Dopuna: 10 Jun 2006 0:41
kaze ovako:
Citat:work3:~# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables: No chain/target/match by that name
In this case, we forgot to compile the state module, and as you can see the error message isn't very nice and easy to understand. But it does give you a hint at what is wrong.
dakle, ovaj kernel nema state modul...
Dopuna: 10 Jun 2006 1:28
Skriptica sasvim OK radi kad se izbaci 'state'.
Case solved.
|
|
|
|