[PIU' CHE RISOLTO :) ] iptables - creazione rc.firewall
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) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
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) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: iptables - creazione rc.firewall
mi dici ifconfig che output ti da?
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
Codice: Seleziona tutto
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:8d:54:8d:c9
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::250:8dff:fe54:8dc9/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8569 errors:0 dropped:0 overruns:0 frame:0
TX packets:9547 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4400831 (4.1 MiB) TX bytes:1025156 (1001.1 KiB)
Interrupt:20 Base address:0xa000
eth1 Link encap:Ethernet HWaddr 00:10:a7:17:d9:bb
inet addr:192.168.7.1 Bcast:192.168.7.255 Mask:255.255.255.0
inet6 addr: fe80::210:a7ff:fe17:d9bb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9218 errors:0 dropped:0 overruns:0 frame:0
TX packets:8095 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:975098 (952.2 KiB) TX bytes:4425385 (4.2 MiB)
Interrupt:21 Base address:0xa400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3446 errors:0 dropped:0 overruns:0 frame:0
TX packets:3446 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:432962 (422.8 KiB) TX bytes:432962 (422.8 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:79.13.118.224 P-t-P:192.168.100.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:96 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:6490 (6.3 KiB) TX bytes:37 (37.0 B)
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: iptables - creazione rc.firewall
ma eth0 a cosa ti serve?
Io continuo a pensare che nella tua configurazione (oddio, a questo punto inizio a credere di non averci capito niente) non serve a niente, e devi agire su ppp0
Io continuo a pensare che nella tua configurazione (oddio, a questo punto inizio a credere di non averci capito niente) non serve a niente, e devi agire su ppp0
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
anche io ci ho capito poco, comunque eth0 è l'interfaccia che dialoga con il modem... dici che non mi serve a niente??
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: iptables - creazione rc.firewall
fisicamente è eth0, ma in realtà è ppp0danix ha scritto:anche io ci ho capito poco, comunque eth0 è l'interfaccia che dialoga con il modem... dici che non mi serve a niente??
ma senti qualcuno più esperto.
Io quando uso pppoe non configuro nemmeno l'interfaccia che si allaccia al modem
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
ma quindi nel firewall devo fare riferimento a eth0 come porta d'uscita o a ppp0?? Non ci sto capendo più nulla... 
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
rieccomi...
Per cominciare ho rimosso le regole di iptables impostate dal firewall di pppoe, ho rimosso le regole di forwarding impostate nell'rc.modules e ho scritto tutto in un rc.firewall... questo:
di questo che ne dite??
Se poteste dargli un'occhiata e dirmi come vi sembra sarebbe ottimo
Per cominciare ho rimosso le regole di iptables impostate dal firewall di pppoe, ho rimosso le regole di forwarding impostate nell'rc.modules e ho scritto tutto in un rc.firewall... questo:
Codice: Seleziona tutto
#!/bin/bash
SW_VERB="-v"
firewall_init() {
sh /etc/rc.d/rc.ip_forward stop
/usr/sbin/iptables -F $SW_VERB
/usr/sbin/iptables -t nat -F $SW_VERB
/usr/sbin/iptables -t mangle -F $SW_VERB
/usr/sbin/iptables -X $SW_VERB
/usr/sbin/iptables -t nat -X $SW_VERB
/usr/sbin/iptables -t mangle -X $SW_VERB
}
firewall_policies() {
/usr/sbin/iptables -P INPUT $1 $SW_VERB
/usr/sbin/iptables -P OUTPUT $1 $SW_VERB
/usr/sbin/iptables -P FORWARD $1 $SW_VERB
}
main_rules() {
/usr/sbin/iptables -A INPUT -i lo -j ACCEPT $SW_VERB
/usr/sbin/iptables -A INPUT -i eth1 -j ACCEPT $SW_VERB
/usr/sbin/iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
/usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT $SW_VERB
/usr/sbin/iptables -A OUTPUT -o eth1 -j ACCEPT $SW_VERB
/usr/sbin/iptables -A OUTPUT -o ppp0 -j ACCEPT $SW_VERB
# Log & Deny the rest of the privileged ports
/usr/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 0:1023 -j LOG $SW_VERB
/usr/sbin/iptables -A INPUT -i ppp0 -p udp --dport 0:1023 -j LOG $SW_VERB
/usr/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 0:1023 -j DROP $SW_VERB
/usr/sbin/iptables -A INPUT -i ppp0 -p udp --dport 0:1023 -j DROP $SW_VERB
# Blocco i ping dall'esterno
/usr/sbin/iptables -A INPUT -i ppp0 -p icmp --icmp-type echo-request -j DROP $SW_VERB
}
forwarding_rules() {
/usr/sbin/iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT $SW_VERB
/usr/sbin/iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT $SW_VERB
# Abilito il masquerading
/usr/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE $SW_VERB
}
custom_rules() {
/usr/sbin/iptables -A INPUT -i eth1 -p tcp --dport 8022 -j ACCEPT $SW_VERB # SSH sulla lan interna
/usr/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT $SW_VERB # HTTPD
/usr/sbin/iptables -A INPUT -i ppp0 -p udp --dport 27960 -j ACCEPT $SW_VERB # URBAN TERROR
}
closing_rules() {
/usr/sbin/iptables -A INPUT -j DROP $SW_VERB
/usr/sbin/iptables -A OUTPUT -j DROP $SW_VERB
/usr/sbin/iptables -A FORWARD -j DROP $SW_VERB
/usr/sbin/iptables -Z $SW_VERB
/usr/sbin/iptables -t nat -Z $SW_VERB
/usr/sbin/iptables -t mangle -Z $SW_VERB
sh /etc/rc.d/rc.ip_forward start
}
sys_config() {
# no IP spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $i
done
fi
# Disable Source Routed Packets
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $i
done
}
case "$1" in
start)
echo "Configuring firewall... "
firewall_init
firewall_policies DROP
main_rules
forwarding_rules
custom_rules
closing_rules
sys_config
;;
stop)
echo "Resetting firewall... "
firewall_init
firewall_policies ACCEPT
;;
status)
if [ -r /tmp/firewall.out ];then
rm /tmp/firewall.out
else
touch /tmp/firewall.out
fi
/usr/sbin/iptables -L -n -v --line-numbers > /tmp/firewall.out
echo >> /tmp/firewall.out
/usr/sbin/iptables -t nat -L -n -v --line-numbers >> /tmp/firewall.out
less /tmp/firewall.out
rm /tmp/firewall.out
;;
*)
echo "Usage: `basename $0` start|stop|status"
exit 1
;;
esac
Se poteste dargli un'occhiata e dirmi come vi sembra sarebbe ottimo
- sardylan
- Linux 3.x

- Messaggi: 993
- Iscritto il: mar 24 apr 2007, 9:21
- Nome Cognome: Luca Cireddu
- Slackware: current 64bits
- Kernel: 3.16
- Desktop: KDE 4.14
- Distribuzione: Debian - CLFS
- Località: Cagliari
- Contatta:
Re: iptables - creazione rc.firewall
@danix
Se ho capito bene:
eth0 --> Router Telecom
eth1 --> Rete locale (c'è solo il portatile collegato)
Se usi la eth0 per collegarti con il modem, allora non ti serve che la configuri!!! Il traffico PPPoE viaggia a livello di link, e non di rete: http://it.wikipedia.org/wiki/PPPoE
Ne consegue quindi che le impostazioni per il firewall non agiscono sul traffico dati relativo alla connessione...
Quindi, a meno che tu non abbia la necessità di dialogare con il router alice "DAL SERVER" per accedere tramite 192.168.1.1 al pannello di amministrazione (ma visto che non hai ne monitor ne tastiera collegati, penso proprio che non ti serva
), non occorre che tu configuri questa interfaccia...
Puoi quindi tranquillamente __NON ASSEGNARE__ nessun indirizzo IP (o assegnare 0.0.0.0 per eliminare eventuali configurazioni), ed tralasciarla completamente nella configurazione di NetFilter con iptables...
Concentrati solo ed esclusivamente sulla ppp0 per quanto riguarda la parte internet, e sulla eth1 per la parte della rete locale (quella collegata al portatile).
E ricorda:
Se vuoi rendere disponibili su internet i servizi del tuo server, allora devi _SEMPLICEMENTE_ aprire le porte usando la tabella -t filter (parametro solitamente omesso) e la catena -A INPUT... Perché non c'è bisogno ne di FORWARDING ne di NATTING... E questo è quello che a te iinteressa!!
Mentre devi FORWARDARE le porte usando -A FORWARD e tutto il resto se vuoi rendere disponibili servizi presenti nei PC della lan (dove te hai solo il portatile), ovvero computer per i quali "IL SERVER FA DA GATEWAY"...
Per il resto, ad una prima occhiata, a parte la regola che risulta inutile, per il resto dovrebbe andare tutto bene..
Questa regole risulta inutile perché i pacchetti che rispettano quei parametri vengono accettati dalla precedente regola Infatti se provi a fare rc.firewall status, vedrai che di bytes corrispondenti a quella regola non ne transitano nella catena...
Tutto il traffico in entrata dalla eth1 viene già accettato nelle regole delle main rules...
Spero di essere stato chiaro!!
Se hai altri dubbi chiedi pure!

Se ho capito bene:
eth0 --> Router Telecom
eth1 --> Rete locale (c'è solo il portatile collegato)
Se usi la eth0 per collegarti con il modem, allora non ti serve che la configuri!!! Il traffico PPPoE viaggia a livello di link, e non di rete: http://it.wikipedia.org/wiki/PPPoE
Ne consegue quindi che le impostazioni per il firewall non agiscono sul traffico dati relativo alla connessione...
Quindi, a meno che tu non abbia la necessità di dialogare con il router alice "DAL SERVER" per accedere tramite 192.168.1.1 al pannello di amministrazione (ma visto che non hai ne monitor ne tastiera collegati, penso proprio che non ti serva
Puoi quindi tranquillamente __NON ASSEGNARE__ nessun indirizzo IP (o assegnare 0.0.0.0 per eliminare eventuali configurazioni), ed tralasciarla completamente nella configurazione di NetFilter con iptables...
Concentrati solo ed esclusivamente sulla ppp0 per quanto riguarda la parte internet, e sulla eth1 per la parte della rete locale (quella collegata al portatile).
E ricorda:
Se vuoi rendere disponibili su internet i servizi del tuo server, allora devi _SEMPLICEMENTE_ aprire le porte usando la tabella -t filter (parametro solitamente omesso) e la catena -A INPUT... Perché non c'è bisogno ne di FORWARDING ne di NATTING... E questo è quello che a te iinteressa!!
Mentre devi FORWARDARE le porte usando -A FORWARD e tutto il resto se vuoi rendere disponibili servizi presenti nei PC della lan (dove te hai solo il portatile), ovvero computer per i quali "IL SERVER FA DA GATEWAY"...
Per il resto, ad una prima occhiata, a parte la regola
Codice: Seleziona tutto
/usr/sbin/iptables -A INPUT -i eth1 -p tcp --dport 8022 -j ACCEPT $SW_VERB # SSH sulla lan internaQuesta regole risulta inutile perché i pacchetti che rispettano quei parametri vengono accettati dalla precedente regola
Codice: Seleziona tutto
/usr/sbin/iptables -A INPUT -i eth1 -j ACCEPT $SW_VERBSpero di essere stato chiaro!!
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
Grazie della risposta sardylan, avevo notato che quella regola non produceva traffico, ma sarà stata un po' la mia insicurezza, un po' il fatto che era tardi e non ho indagato troppo... 
eppure il server non appare in internet
nmap -v 127.0.0.1 mi dice che la porta 80 è aperta, ma ieri in irc mi hanno detto di non riuscire a contattare il server...
che controlli posso fare??
eppure il server non appare in internet
nmap -v 127.0.0.1 mi dice che la porta 80 è aperta, ma ieri in irc mi hanno detto di non riuscire a contattare il server...
che controlli posso fare??
- sardylan
- Linux 3.x

- Messaggi: 993
- Iscritto il: mar 24 apr 2007, 9:21
- Nome Cognome: Luca Cireddu
- Slackware: current 64bits
- Kernel: 3.16
- Desktop: KDE 4.14
- Distribuzione: Debian - CLFS
- Località: Cagliari
- Contatta:
Re: iptables - creazione rc.firewall
Codice: Seleziona tutto
$ nslookup danixquellochee.dyndns.org
# ifconfig ppp0Ah... Ricordati che httpd vuole configurato per andare su tutti gli indirizzi... Se hai nell'httpd.conf la direttiva
Codice: Seleziona tutto
Listen 127.0.0.1:80Corregila con
Codice: Seleziona tutto
Listen 80- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
httpd è in ascolto sulla 80 correttamente, nslookup mi ha risposto:
e ifconfig
dove sta l'inghippo??
Codice: Seleziona tutto
# nslookup danixland.endofinternet.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: danixland.endofinternet.org
Address: 79.19.188.250
Codice: Seleziona tutto
# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:79.19.188.250 P-t-P:192.168.100.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:1042 errors:0 dropped:0 overruns:0 frame:0
TX packets:1155 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:587968 (574.1 KiB) TX bytes:121075 (118.2 KiB)
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: iptables - creazione rc.firewall
netstat -autpn | grep 80
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
mmmh... questa non è una bella cosa...
Ho sbagliato a configurare apache??
Codice: Seleziona tutto
# netstat -autpn |grep 80
tcp 0 0 192.168.7.1:8022 0.0.0.0:* LISTEN 1122/sshd
tcp 0 0 192.168.7.1:8022 192.168.7.100:49666 ESTABLISHED 1788/sshd: danix [p
tcp6 0 0 :::80 :::* LISTEN 1337/httpd
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: iptables - creazione rc.firewall
sì, sembra in ascolto solamente su ipv6danix ha scritto:mmmh... questa non è una bella cosa...Ho sbagliato a configurare apache??Codice: Seleziona tutto
# netstat -autpn |grep 80 tcp 0 0 192.168.7.1:8022 0.0.0.0:* LISTEN 1122/sshd tcp 0 0 192.168.7.1:8022 192.168.7.100:49666 ESTABLISHED 1788/sshd: danix [p tcp6 0 0 :::80 :::* LISTEN 1337/httpd
La direttiva Listen come ce l'hai?
- danix
- Staff

- Messaggi: 3289
- Iscritto il: ven 27 ott 2006, 19:32
- Nome Cognome: Danilo M.
- Slackware: 64 current
- Kernel: 6.12.13 x86_64
- Desktop: i3
- Località: Verona (VR)
- Contatta:
Re: iptables - creazione rc.firewall
Codice: Seleziona tutto
Listen 80
ServerName danixland.endofinternet.org:80