[RISOLTO] IP forwarding blocca accesso a cups

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.
Rispondi
Avatar utente
waka_jawaka
Linux 3.x
Linux 3.x
Messaggi: 781
Iscritto il: mer 10 ago 2005, 0:00
Nome Cognome: Alberto Palillo
Kernel: 2.6.35
Desktop: KDE 4.5
Distribuzione: Archlinux

[RISOLTO] IP forwarding blocca accesso a cups

Messaggio da waka_jawaka »

Ho un pc che mi fa da gateway. Lo script che avvia tutto l'ambaradan, copiato spudoratamente dal wiki di slack è

Codice: Seleziona tutto

#!/bin/sh 

#Attivo l'interfaccia di rete locale eth1 
ifconfig eth0 up
ifconfig eth1 up

#carico i moduli del kernel 
modprobe ip_tables 
modprobe ip_conntrack 
modprobe iptable_nat 
modprobe ipt_MASQUERADE 

#Maschero i pacchetti 
iptables -t nat -A POSTROUTING ! -d  192.168.2.0/24  -j MASQUERADE 

#Abilito l'ip forwarding solo per la mia rete 
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT 
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT 
iptables -A FORWARD -j DROP 
Tutto ok tranne una cosa: dal gateway non riesco a collegarmi all'interfaccia web di cups. Se con un browser faccio localhost:631 ottengo una pagina bianca con "400 bad request".
Se non faccio partire lo script all'avvio mi collego a cups senza problemi
Ecco l'output di tail -f /var/log/cups/error_log:

Codice: Seleziona tutto

I [16/Dec/2009:13:41:30 +0100] Started "/usr/lib/cups/cgi-bin/admin.cgi" (pid=3323)
I [16/Dec/2009:13:41:32 +0100] Started "/usr/lib/cups/cgi-bin/classes.cgi" (pid=3324)
I [16/Dec/2009:13:41:34 +0100] Started "/usr/lib/cups/cgi-bin/help.cgi" (pid=3325)
I [16/Dec/2009:13:41:36 +0100] Started "/usr/lib/cups/cgi-bin/jobs.cgi" (pid=3326)
I [16/Dec/2009:13:41:37 +0100] Started "/usr/lib/cups/cgi-bin/admin.cgi" (pid=3327)
I [16/Dec/2009:13:41:40 +0100] Started "/usr/lib/cups/cgi-bin/admin.cgi" (pid=3328)
I [16/Dec/2009:13:41:41 +0100] Started "/usr/lib/cups/cgi-bin/help.cgi" (pid=3329)
I [16/Dec/2009:13:41:43 +0100] Started "/usr/lib/cups/cgi-bin/jobs.cgi" (pid=3330)
I [16/Dec/2009:13:41:44 +0100] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=3331)
W [16/Dec/2009:13:43:33 +0100] Request from "192.168.2.1" using invalid Host: field "localhost:631"
Quando ho lanciato tail l'IP forward non era attivato; L'ultima riga è stata "stampata" dopo il lancio dello script di cui sopra.
E mi sembra che tutto il problema sia in quella maledetta ultima riga: perché l'indirizzo di loopback viene rimappato come 192.168.2.1?
Grazie a tutti in anticipo e ciao.
Ultima modifica di waka_jawaka il gio 17 dic 2009, 12:18, modificato 1 volta in totale.

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Re: IP forwarding blocca accesso a cups

Messaggio da lamarozzo »

Non sono un esperto di Iptables ma mi sembra che prima di fare il drop dei pacchetti devi dare una regola di accept sull'interfaccia di loopback (quella che sicuramente cups utilizza). Qualcosa del tipo

Codice: Seleziona tutto

iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
Non mi ricordo esattamente il comando che uso io, stasera quando vado a casa posso ricontrollare.

Avatar utente
waka_jawaka
Linux 3.x
Linux 3.x
Messaggi: 781
Iscritto il: mer 10 ago 2005, 0:00
Nome Cognome: Alberto Palillo
Kernel: 2.6.35
Desktop: KDE 4.5
Distribuzione: Archlinux

Re: IP forwarding blocca accesso a cups

Messaggio da waka_jawaka »

Ho risolta combiando le regole di iptables, utilizzando le interfacce invece della sottorete. Da così:

Codice: Seleziona tutto

iptables -t nat -A POSTROUTING ! -d  192.168.2.0/24  -j MASQUERADE
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT 
iptables -A FORWARD -j DROP 
a così:

Codice: Seleziona tutto

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -j DROP 
Grazie a tutti.

Rispondi