Proxy Server con filtraggio dei contenuti della navigazione: differenze tra le versioni

Riga 58: Riga 58:
<br/>
<br/>
Lo script, chiamato <tt>firebox.sh</tt>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <tt>/etc/init.d/</tt>.
Lo script, chiamato <tt>firebox.sh</tt>, servirà quindi per gestire il firewall tramite iptables, con funzionalità di nat (masquerade) e di forwarding. Può ovviamente essere modificato e espanso per specifiche esigenze. Creeremo e salveremo il file nella directory <tt>/etc/init.d/</tt>.
<pre>
# nano /etc/init.d/firebox.sh
</pre>
<pre>
#!/bin/bash
### BEGIN INIT INFO
# Provides:          firebox
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:
# Default-Start:    2 3 4 5
# Default-Stop:      0 6
# Short-Description: firewall and routing initscript
### END INIT INFO
# Pulisco eventuali catene esistenti
iptables -F
iptables -t nat -F
# Abilito le connessioni di loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
# Accesso libero a SSH
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m conntrack --ctstate NEW -j DROP
# Regola per il proxy trasparente
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Abilito il forward
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# Abilito il NAT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth1 -j REJECT
# Abilito le funzioni di IP Forward
echo 1 < /proc/sys/net/ipv4/ip_forward
</pre>