Repository 32bit  Forum
Repository 64bit  Wiki

iptables e porte lineage [RISOLTO]

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

iptables e porte lineage [RISOLTO]

Messaggioda red » mar feb 05, 2008 14:46

Ciao,
sto cercando i far passare la connessione per il gioco online Lineage II. Ho scoperto che usa un'amenità di software chiamata "gameguard" che dovrebbe dover usare le porte TCP 7777, 2106, 2009, 80 e DNS (TCP/UDP) 53.

Faccio presente che ho il server con indirizzo 192.168.5.1 che è collegato al modem mediante scheda eth1 (ppp0) e alla rete interna con scheda di rete eth0 e il computer che vorrebbe giocare è il 192.168.5.3.

Il mio firewall un po' capito e un po' scopiazzato qua e là ha le seguenti regole:
Codice: Seleziona tutto
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*filter
:INPUT DROP [8:597]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:136]
-A INPUT -s 192.168.5.0/255.255.255.0 -i ppp0 -j DROP
-A INPUT -s 192.168.5.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Feb  5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*nat
:PREROUTING ACCEPT [591:45907]
:POSTROUTING ACCEPT [6:358]
:OUTPUT ACCEPT [6:358]
-A POSTROUTING -s 192.168.5.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Tue Feb  5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*mangle
:PREROUTING ACCEPT [3487:286333]
:INPUT ACCEPT [2748:177420]
:FORWARD ACCEPT [296:80478]
:OUTPUT ACCEPT [2059:374439]
:POSTROUTING ACCEPT [2320:451451]
-A PREROUTING -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j ULOG
-A PREROUTING -p tcp -m tcp -m multiport --dports 21,22,23,80 -j TOS --set-tos 0x10
-A PREROUTING -p tcp -m tcp -m multiport --dports 20,8080 -j TOS --set-tos 0x08
-A PREROUTING -p tcp -m tcp --dport 53 -j TOS --set-tos 0x04
COMMIT
# Completed on Tue Feb  5 11:40:33 2008


Che tipo di regole devo inserire per permettere a 192.168.5.3 di giocare? Io ho provato qualche cosa del tipo
Codice: Seleziona tutto
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT

oppure
Codice: Seleziona tutto
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT

ma senza successo.

Qualche dritta? ;)
Ultima modifica di red il gio feb 07, 2008 13:04, modificato 1 volta in totale.
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 15:18

Oltre ad accettare il forward per nuove connessioni devi anche fargli fare NAT

Per emule useresti qualcosa di simile
Codice: Seleziona tutto
iptables -t nat -A PREROUTING -p tcp --dport 4662 -i eth0 -j DNAT --to 192.168.5.3
iptables -t nat -A PREROUTING -p udp --dport 4672 -i eth0 -j DNAT --to 192.168.5.3
iptables -t nat -A PREROUTING -p udp --dport 4665 -i eth0 -j DNAT --to 192.168.5.3
iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.5.3 -m state --state ESTABLISHED,RELATED -j ACCEPT


ma nel tuo caso entrano in gioco 80 e 53, attento
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 15:27

conraid ha scritto:ma nel tuo caso entrano in gioco 80 e 53, attento

Infatti... la cosa non mi ispira, ma mio fratello che protesta 24 ore su 24 potrebbe essere un fastidio maggiore :D.

Intanto grazie, provo i tuoi suggerimenti e vediamo se va!
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 16:01

Niente... se metto così (righe aggiunte segnalate dal commento in maiuscolo):
Codice: Seleziona tutto
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*filter
:INPUT DROP [8:597]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:136]
-A INPUT -s 192.168.5.0/255.255.255.0 -i ppp0 -j DROP
-A INPUT -s 192.168.5.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 7777 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 2106 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 2009 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -p udp -m udp --dport 53 -j ACCEPT
#-A FORWARD -i ppp0 -o eth0 -d 192.168.5.3 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j DROP
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Feb  5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*nat
:PREROUTING ACCEPT [591:45907]
:POSTROUTING ACCEPT [6:358]
:OUTPUT ACCEPT [6:358]

#INIZIO RIGHE AGGIUNTE:

-A PREROUTING -p tcp --dport 7777 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 2106 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 2009 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p tcp --dport 53 -i eth0 -j DNAT --to 192.168.5.3
-A PREROUTING -p udp --dport 53 -i eth0 -j DNAT --to 192.168.5.3

#FINE RIGHE AGGIUNTE

-A POSTROUTING -s 192.168.5.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Tue Feb  5 11:40:33 2008
# Generated by iptables-save v1.3.8 on Tue Feb  5 11:40:33 2008
*mangle
:PREROUTING ACCEPT [3487:286333]
:INPUT ACCEPT [2748:177420]
:FORWARD ACCEPT [296:80478]
:OUTPUT ACCEPT [2059:374439]
:POSTROUTING ACCEPT [2320:451451]
-A PREROUTING -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j ULOG
-A PREROUTING -p tcp -m tcp -m multiport --dports 21,22,23,80 -j TOS --set-tos 0x10
-A PREROUTING -p tcp -m tcp -m multiport --dports 20,8080 -j TOS --set-tos 0x08
-A PREROUTING -p tcp -m tcp --dport 53 -j TOS --set-tos 0x04
COMMIT
# Completed on Tue Feb  5 11:40:33 2008

non funziona, ma oltre al gioco il pc 192.168.5.3 non va più neppure in internet!
Non riesco veramente a capire. :(
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 16:15

Se elimini le righe con le porte 80 e 53 naviga?

Una cosa è avere le porte aperte per "passare", in quel caso bastano le regole che avevi prima, un'altra è reindirizzare le porte su un particolare host.
Devi capire su quali porte si mette in ascolto il gioco e reindirizzare quelle.
Per le altre basta che non siano in DROP.
Non penso il gioco di metta in ascolta sulla 80.

Se per esempio con la soluzione di prima (del proxy) chiudevi la 80 per far passare il traffico http sulla 8080 non andava il gioco.

Sono due cose diverse.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 16:32

conraid ha scritto:Se elimini le righe con le porte 80 e 53 naviga?


Sì.

Quindi in pratica tu pensi che in realtà il gioco necessiti di altre porte, non quelle che (penso) di aver trovato giusto?
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 16:33

Nel caso appunto dovessi scoprire le porte utilizzate, visto che tramite google quello che avevo trovato erano quelle che ho scritto, come potrei fare?
Non sono molto pratico di tool di rete :oops:
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 16:37

red ha scritto:Nel caso appunto dovessi scoprire le porte utilizzate, visto che tramite google quello che avevo trovato erano quelle che ho scritto, come potrei fare?
Non sono molto pratico di tool di rete :oops:


Sei su linux?
Codice: Seleziona tutto
netstat -autpn


Sei su Windows?
I don't know, ma netstat c'è anche li
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 16:48

Dunque, io sono sul server Linux (192.168.5.1), ma il gioco gira su un pc winXP (192.168.5.3).
Io posso farlo giocare con una configurazione di iptables fatta così (in pratica fa solo il routing):
Codice: Seleziona tutto
# Generated by iptables-save v1.3.3 on Sun Oct 23 20:13:53 2005
*filter
:INPUT ACCEPT [96552:23976337]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [104590:105253799]
-A FORWARD -s 192.168.5.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.5.0/255.255.255.0 -j ACCEPT
-A FORWARD -s 192.168.1.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.1.0/255.255.255.0 -j ACCEPT
-A FORWARD -j DROP
-A FORWARD -d 192.168.5.2 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.5.3 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.254 -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 4662 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4662 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4672 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4665 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 6891 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 6891 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p tcp -m tcp --dport 4712 -j ACCEPT
-A FORWARD -d 192.168.5.1 -i ppp0 -o eth0 -p udp -m udp --dport 4712 -j ACCEPT
COMMIT
# Completed on Sun Oct 23 20:13:53 2005
# Generated by iptables-save v1.3.3 on Sun Oct 23 20:13:53 2005
*nat
:PREROUTING ACCEPT [1125:78545]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1026:44817]
-A POSTROUTING -s 192.168.5.2/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.5.2/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 192.168.5.3/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.5.3/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.254/255.255.255.0 -j MASQUERADE
-A POSTROUTING -d ! 192.168.1.254/255.255.255.0 -j MASQUERADE
COMMIT
# Completed on Sun Oct 23 20:13:54 2005

che era il mio vecchio firewall.

Posso quindi vedere a che porte si connette?
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda marghe » mar feb 05, 2008 16:51

usa anche -j LOG e sul syslog dovresti vedere quali porte usa il gioco
Avatar utente
marghe
Linux 2.6
Linux 2.6
 
Messaggi: 525
Iscritto il: lun ago 07, 2006 22:39

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 16:56

marghe ha scritto:usa anche -j LOG e sul syslog dovresti vedere quali porte usa il gioco

Scusa l'immensa ignoranza in materia, ma vista la mia configurazione sopra, dove e come dovrei mettere il "-j LOG"?
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 17:01

Sembra che basti aprire le porte, fare un FORWARD normale quindi
Non ha porte alla emule allora.
Purtroppo non conosco il gioco

p.s.
ma quel firewall da dove lo hai preso?
Sono un po' arruginito, ma mi sembra che la prima regola che incontri sia "accetta tutto quel che passa dalla rete locale o per la rete locale"
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 17:05

in /etc/rc.modules Pat indica le regole "minime" per un gateway
Codice: Seleziona tutto

# EXTERNAL -> external network interface
# INTERNAL -> internal network interface
EXTERNAL=eth0
INTERNAL=eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Setting up NAT (Network Address Translation)..."
# by default, nothing is forwarded.
iptables -P FORWARD DROP
# Allow all connections OUT and only related ones IN
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
# enable MASQUERADING
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE


Parti da qui ed aggiungi piano piano le altre regole.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: iptables e porte lineage

Messaggioda red » mar feb 05, 2008 17:11

conraid ha scritto:Sembra che basti aprire le porte, fare un FORWARD normale quindi
Non ha porte alla emule allora.
Purtroppo non conosco il gioco

p.s.
ma quel firewall da dove lo hai preso?
Sono un po' arruginito, ma mi sembra che la prima regola che incontri sia "accetta tutto quel che passa dalla rete locale o per la rete locale"

L'avevo fatto io, con la documentazione di Pat e qualche esempio sotto mano, però tanto tempo fa, quindi non ricordo bene.

In internet continuano a dire (spesso si parla dei router dei firewall) che è necessario fare il forwarding delle porte TCP 7777, 2009, 2106 e poi anche della 80 e TCP e UDP della 53.

Quindi a questo punto ho due dubbi, rispetto al primo firewall che ho pubblicato nel post:
1. non capisco bene perché mi hai suggerito il PREROUTING e perché questo impedisca poi al 192.168.5.3 di navigare;
2. non capisco perché il FORWARDING delle porte in questione non funzioni (e forse basterebbe solo questo senza prerouting, o no?)... forse errori di sintassi o di precedenza delle regole? Mi viene questo dubbio perché essendo la policy di default DROP, se non si dice bene cosa far passare, viene scartato tutto.
Avatar utente
red
Linux 2.6
Linux 2.6
 
Messaggi: 783
Iscritto il: gio gen 20, 2005 0:00
Località: Verona
Slackware: 13.0
Kernel: 2.6.33.4
Desktop: fluxbox

Re: iptables e porte lineage

Messaggioda conraid » mar feb 05, 2008 17:23

red ha scritto:Quindi a questo punto ho due dubbi, rispetto al primo firewall che ho pubblicato nel post:
1. non capisco bene perché mi hai suggerito il PREROUTING e perché questo impedisca poi al 192.168.5.3 di navigare;
2. non capisco perché il FORWARDING delle porte in questione non funzioni (e forse basterebbe solo questo senza prerouting, o no?)... forse errori di sintassi o di precedenza delle regole? Mi viene questo dubbio perché essendo la policy di default DROP, se non si dice bene cosa far passare, viene scartato tutto.


1) io ti ho fatto l'esempio di emule che ha bisogno di quelle porte aperte come fosse un "server", pensando che quel gioco si comportasse ugualmente, non conosco il gioco
Leggi qui: http://www.amule.org/wiki/index.php/Firewall


2) per le regole: http://www.netfilter.org/documentation/ ... WTO-6.html
e in http://www.netfilter.org trovi tutta la documentazione necessaria.
Se trova una regola la applica, se non trova niente applica quella di default

Fai una cosa, metti quello che ti ho dato per ultimo.
Se non funziona accetta FORWARD di default.
Se basta vuol dire che non ha bisogno di cose alle "emule"

incuriosito sono andato in rete ed ho trovato questo
http://www.irixe.net/kurre/Verkkopelit% ... hupnet.txt
Qui viene "esplicitata" solamente la 2106
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Prossimo

Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti