Ciao a tutti, sono nuovo del forum ed onestamente non saprei cosa dire per presentarmi se non che sono un'appassionato di informatica con l'hobby dei disastri
Vi vorrei sottoporre un problema che mi arrovella da un pò di giorni .... il principale imputato è iptables.
Ho preso un vecchio pc con due schede di rete, una distribuzione linux, un web server (apache) ed una stupidissima applicazione web ed un client. Il Ewb server è in ascolto sulla scheda eth1 il client è connesso alla eth0. Ho abilitato il routing tra le schede ... ed ho provato a configurare il firewall. Un mezzo disastro.
Premetto che da poco mi sto cimentando con iptable e per chiarezza in rete ho trovato le seguenti definizioni sulle sue catene principali:
Tutti i pacchetti destinati esclusivamente alla macchina firewall saranno sottoposti alle regole contenute nella catena INPUT
Tutti i pacchetti generati dalla macchina firewall e in uscita saranno sottoposti alle regole della catena OUTPUT
Quindi, se non fraintendo, le richieste che arrivano dal client sono nella catena INPUT mentre le risposte al client dal web server sono nella catena OUTPUT.
Lo script del firewall è:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [0:0]
-A INPUT -s localhost -d localhost -j ACCEPT
-A INPUT -i eth0 -s ! <ip_client> -j DROP
-A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 22 -j ACCEPT
-A INPUT -i eth0 -d <ip_eth1> -j ACCEPT
-A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT
-A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
in questo modo ottengo la pagina di login dal web server ma poi non vado oltre, e non riesco a tracciare i pacchetti.
Dove è che sbajo? cosa mi sfugge?
Ciao e grazie