View Full Version : Firewall
RedHat82
03-02-2003, 20:02
Ho smanettato un pò di how to ma non ci ho capito niente...
## Inserisci i moduli del connection-tracking (non necessari se inclusi nel kernel)
# insmod ip_conntrack
# insmod ip_conntrack_ftp
## Crea una catena che blocchi le nuove connessioni, eccetto quelle provenienti dall'interno.
# iptables -N block
# iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
# iptables -A block -j DROP
## Dalle catene INPUT e FORWARD salta a questa catena
# iptables -A INPUT -j block
# iptables -A FORWARD -j block
Dove inserisco i moduli???
Come faccio a creare una catena????
Premetto che sono un neofita e che nat e masquerading l'ho già impostato (e funziona) e che volevo scrivere tutto negli script (in modo che quando riavvio non debba riscrivere tutte le procedure)...
PC LINUX:
[server]
192.168.0.1
255.255.255.0
PC WINDOWS:
[asusbook] [supermicro]
192.168.0.2 - 192.168.0.3
255.255.255.0
Come fare?
#!/bin/sh
03-02-2003, 20:14
come è collegato a internet il pc con linux? l'output di ifconfig?
RedHat82
04-02-2003, 11:27
Originally posted by "#!/bin/sh"
come è collegato a internet il pc con linux? l'output di ifconfig?
Emh... sono proprio neofita al massimo!!! Sono riuscito a fare la connessione a internet, nat, masquerading e samba ma... non è che ci capisca ancora molto, ho letto un pò di howto ma non ci capisco proprio niente...
ifconfig mi pare era un comando da dare in shell, dovrebbe riportare "la configurazione" di rete... io ho provato ma mi dice comando sconosciuto.. Come si fa?
#!/bin/sh
04-02-2003, 11:39
come fa a dirti che è un comando sconosciuto? :confused: è un comando basilare per configurare la rete. dato senza parametri ti fornisce la configurazione delle interfacce di rete attive sul pc.
RedHat82
04-02-2003, 11:57
Originally posted by "#!/bin/sh"
come fa a dirti che è un comando sconosciuto? :confused: è un comando basilare per configurare la rete. dato senza parametri ti fornisce la configurazione delle interfacce di rete attive sul pc.
[jurada@server jurada]$ ifconfig
bash: ifconfig: command not found
[jurada@server jurada]$ su
Password:
[root@server jurada]# ifconfig
bash: ifconfig: command not found
[root@server jurada]# cd ..
[root@server home]# cd ..
[root@server /]# ifconfig
bash: ifconfig: command not found
[root@server /]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[root@server /]# cd sbin
[root@server sbin]# ifconfig
bash: ifconfig: command not found
[root@server sbin]#
BOH???????????
Pettinato
04-02-2003, 12:05
Ehm........... prova a fare ifconfig dopo essere root.
Ciao
#!/bin/sh
04-02-2003, 12:14
Allora semplifichiamoci un po' la vita usando solo le chain standard, così si capisce anche meglio che giro fanno i pacchetti. Presuppongo che tu abbia solo una connessione dial-up (adsl o via modem non importa, basta che sia ppp0).
Ecco uno scriptino semplice semplice per firewallarti ppp0. Le righe di commento le metto dopo il carattare ##
#!/bin/sh
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc
## questi sono bene o male tutti i moduli che servono per un utilizzo normale
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
## ora andiamo con la pulizia delle chain standard
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
## scheda di rete sulla lan
iptables -A INPUT -i eth0 -j accept
iptables -A OUTPUT -o teh0 -j accept
iptables -A FORWARD -i eth0 -j accept
iptables -A FORWARD -o eth0 -j accept
## interfaccia ppp0
iptables - A OUTPUT -o ppp0 -m state --state NEW, ESTABLESHED -j ACCEPT
iptables - A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp0 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Fine. Adesso sto mangiando ed essendo concentrato sul cibo di meglio non mi viene. NB: potresti avere dei problemi con l'ftp.
RedHat82
04-02-2003, 12:49
Fin qui sei stato chiarissimo, ma come creo questo script, come lo chiamo e dove lo metto????
Premetto anche che uso iptables, non ipchains.
#!/bin/sh
04-02-2003, 12:53
lo crei con un qualunque editor di testo. es pico (è nel pacchetto con pine sotto internet text utils o roba simile). poi fai:
pico mioscripit
lo salvi con ctrl+h
poi lo rendi eseguibile:
chmod 755 mioscript
e aggiungi a rc.local la linea:
/path-per-lo-script/mioscript
il gioco è fatto. :)
enjoy iptables!
RedHat82
04-02-2003, 12:55
Originally posted by "#!/bin/sh"
lo crei con un qualunque editor di testo. es pico (è nel pacchetto con pine sotto internet text utils o roba simile). poi fai:
pico mioscripit
lo salvi con ctrl+h
poi lo rendi eseguibile:
chmod 755 mioscript
e aggiungi a rc.local la linea:
/path-per-lo-script/mioscript
il gioco è fatto. :)
enjoy iptables!
posso usare vi (mi trovo bene con quello)
RedHat82
04-02-2003, 13:08
Può andar bene questo in allegato considerando che ho una connessione isdn con ip dinamico (libero infotrada)??
Se è completo come faccio a installarlo, cioè a far in modo che si avvii ogni volta in automatico? E così gli altri pc continuano a navigare in internet mantenendo il masquerading?
RedHat82
04-02-2003, 13:30
Umh, no! Con quello script non navigo neanche in internet... Meglio che uso il tuo :D
RedHat82
04-02-2003, 13:43
Ok, ho usato il tuo, ho apportato una piccola modifica ad un errore di dattilografia eht0 al posto di eth0 mi pare... Comunque, i client windows continuano ad andare in internet... tutto sembra funzionare, ma come faccio ad essere sicuro che funzioni??? Cioè, non che mi fidi del tuo script ma su win avevo da 5 ai 20 attacchi al giorno (subseven e trojan vari...), come faccio a sapere che ora sono blindato e sicuro???
Intanto grazie
RedHat82
04-02-2003, 14:12
Originally posted by "#!/bin/sh"
iptables - A OUTPUT -o ppp0 -m state --state NEW, ESTABLESHED -j ACCEPT
iptables - A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp0 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Fine. Adesso sto mangiando ed essendo concentrato sul cibo di meglio non mi viene. NB: potresti avere dei problemi con l'ftp.
ma si scrive EASTABLESHED o ESTABLISHED???
RedHat82
04-02-2003, 14:38
Praticamente io ho creato un file di testo (kate) e ci ho inserito dentro:
#!/bin/sh
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc
## questi sono bene o male tutti i moduli che servono per un utilizzo normale echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
## ora andiamo con la pulizia delle chain standard
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
## scheda di rete sulla lan
iptables -A INPUT -i eth0 -j accept
iptables -A OUTPUT -o eth0 -j accept
iptables -A FORWARD -i eth0 -j accept
iptables -A FORWARD -o eth0 -j accept
## interfaccia ippp0
iptables - A OUTPUT -o ippp0 -m state --state NEW, ESTABLESHED -j ACCEPT iptables - A INPUT -i ippp0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -o ippp0 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -i ippp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
L'ho chiamato "scripto" e messo dentro la cartella radice "/juradatb".
Dentro la cartella juradatb ho eseguito "chmod 755 scripto"
Dopodichè ho editato con VI il file "/etc/rc.d/rc.local" e ho inserito alla fine:
"/juradatb/scripto"
Ho fatto giusto???????? :confused:
#!/bin/sh
04-02-2003, 18:20
Originally posted by "RedHat82"
Ok, ho usato il tuo, ho apportato una piccola modifica ad un errore di dattilografia eht0 al posto di eth0 mi pare... Comunque, i client windows continuano ad andare in internet... tutto sembra funzionare, ma come faccio ad essere sicuro che funzioni??? Cioè, non che mi fidi del tuo script ma su win avevo da 5 ai 20 attacchi al giorno (subseven e trojan vari...), come faccio a sapere che ora sono blindato e sicuro???
Intanto grazie
Quello script è molto generico. usa lo stateful inspection per capire qual è lo stato delle connessioni. In pratica blocca tutti quelli che cercano di connettersi al tuo ip. Per i trojan bisogna lavorare sulle porte, ma su una lan casalinga se ti metti a bloccare le porte, soprattutto quelle non privilegiate, poi non ti funziona un sacco di roba.
PS: si scrive established. scusa gli errori di battitura, ma l'ho scritto mangiando davanti al monitor a lavoro.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.