Zdravím všechny,
Mám UBUNTU server který mi slouží jako firewall.
Dvě sítovky:
eth0 je WAN(internet)
eth1 je LAN
níže přiložím výpis iptables, když IPTABLES nemám nastavené a mám vše na ALLOW tak SQUID funguje jak má, ale když IPTABLES nakonfiguruji tak mi SQUID přestane fungovat na lokálním PC se nepřipojím přes port 3128. Prosím o pomoc z nastavením iptables trochu se v tom ztrácím. díky moc za přípúadnou pomoc. PS: Ideálůní řešení rpo mne je aby SQUID fungoval jako transparentní proxi abych nemusle měnit nastavení na každé stanici.
IPTABLES:
#!/bin/bash
####################### NASTAVEN├Ź S├Ź┼ĄOV├ŁCH PROM─ÜNN├ŁCH############################################################
SSH="22"
SMTP="25";
DNS="53";
HTTP="80";
POP3="110";
HTTPS="443";
ICQ="5190";
VNC="5901";
VNC2="5902";
VNC3="5903";
VNC4="5904";
VPN="4090";
FTP="20";
FTP2="21";
STREAM="1935";
RDP="3389";
RADIO="8000";
POP32="995";
SMTP2="465";
PROXY="3128";
INET_IFACE="eth0";
LAN_IFACE="eth1";
ALLOW_IP="aa.aa.aa.aa."; # EXT IP
INET_IP="10.0.0.50";
SERVER_IP="192.168.2.1";
#Lokalni PC v siti
LOCAL_IP="192.168.2.38"; # Test NAT RDP
IPTABLES="/sbin/iptables"
#localhost
LO_IFACE="lo"
LO_IP="127.0.0.1"
LO_IP2="127.0.1.1"
echo
echo -e "\033[32m Konfiguruji firewall, chv├şli strpen├ş ...\033[0m";
#################################################################################################################
# Zapneme routovani paketu
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# rp_filter na zamezeni IP spoofovani
for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > ${interface}
done
# vynulovani pravidel
$IPTABLES -F -t mangle
$IPTABLES -F -t nat
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -X
############################################## CHAINS #############################################
#nastaveni TCP paketu
$IPTABLES -N tcp_packets
#nastaveni UDP paketu
$IPTABLES -N udp_packets
#povolen├ę pakety
$IPTABLES -N allowed
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -i $LAN_IFACE -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
# Zahazovat a logovat (max. 5 x 3 pakety za hod)
$IPTABLES -N logdrop
$IPTABLES -A logdrop -m limit --limit 5/h --limit-burst 3 -j LOG --log-prefix "Rezervovana adresa: "
$IPTABLES -A logdrop -j DROP
#Retezec pro stanoveni limitu prichozich SYN konexi (ochrana pred SYN floods), propusti pouze 4 SYN segmenty/sec
$IPTABLES -N syn-flood
$IPTABLES -A syn-flood -m limit --limit 20/s --limit-burst 5 -j RETURN
$IPTABLES -A syn-flood -j DROP
#zak├ízan├ę pakety
$IPTABLES -N zakazane
$IPTABLES -A zakazane -s 83.240.93.19 -j DROP # utok 26.1.2009 na mail server
#nastaven├ş ICMP pravidel
$IPTABLES -N icmp_packets
$IPTABLES -A icmp_packets -p ICMP --icmp-type 0 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP --icmp-type 3 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP --icmp-type 11 -j ACCEPT
############################################## CHAINS #############################################
############################################## INPUT ##############################################
# $IPTABLES -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
$IPTABLES -A INPUT -j zakazane
## ping -- max 5 za sec
$IPTABLES -A INPUT -i $INET_IFACE -p icmp --icmp-type 'echo-request' -m limit --limit 1/s --limit-burst 10 -j ACCEPT
## Odfiltrovat pokusy o syn-flooding
$IPTABLES -A INPUT -i $INET_IFACE -p tcp --syn -j syn-flood
## Odfiltrovat pokusy o zahlceni icmp
$IPTABLES -A INPUT -i $INET_IFACE -p icmp -j syn-flood
# Paket navazuje spojeni, ale nema nastaveny priznak SYN, pryc s nim
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# Portscan s nastavenym SYN,FIN
$IPTABLES -A INPUT -p tcp -i $INET_IFACE --tcp-flags SYN,FIN SYN,FIN -j LOG -m limit --limit 10/m --log-prefix="bogus packet: "
$IPTABLES -A INPUT -p tcp -i $INET_IFACE --tcp-flags SYN,FIN SYN,FIN -j DROP
# Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze
# vest k prodlevam pri navazovani nekterych spojeni. Proto jej
# sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam.
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 113 -m limit --limit 12/h -j LOG
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
# If you have a Microsoft Network on the outside of your firewall, you may also get flooded by Multicasts. We drop them so we do not get flooded by logs
$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP
# Log weird packets that don't match the above.
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -j icmp_packets
$IPTABLES -A INPUT -j allowed
$IPTABLES -A INPUT -p ALL -i lo -j ACCEPT
# Vsechno ostatni je zakazano - tedy logujeme, maxim. 12x5 pkt/hod
$IPTABLES -A INPUT -m limit --limit 12/h -j LOG --log-prefix "INPUT drop: "
############################################## INPUT ###################################################
############################################## OUTPUT ##################################################
$IPTABLES -A OUTPUT -j zakazane
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
# Povolime odchozi pakety, ktere maji nase IP adresy
$IPTABLES -A OUTPUT -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -s $LO_IP2 -j ACCEPT
$IPTABLES -A OUTPUT -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -j icmp_packets
# Povoleni navazani FTP pripojeni
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
########################################################################################################
############################################## PREROUTING ##############################################
#NAT RDP
$IPTABLES -t nat -A PREROUTING -p tcp -s $ALLOW_IP --dport $RDP -j DNAT --to $LOCAL_IP:$RDP
########################################################################################################
############################################## FORWARD #################################################
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -j icmp_packets
$IPTABLES -A FORWARD -s $LOCAL_IP -i $LAN_IFACE -o $INET_IFACE -p tcp -m multiport --destination-ports $PROXY,$SMTP2,$SSH,$DNS,$HTTP,$HTTPS,$POP3,$SMTP,$ICQ,$VPN,$FTP,$FTP2,$STREAM,$RADIO,$POP32 -j ACCEPT
$IPTABLES -A FORWARD -s $LOCAL_IP -i $LAN_IFACE -o $INET_IFACE -p udp -m multiport --destination-ports $PROXY,$SMTP2,$SSH,$DNS,$HTTP,$HTTPS,$POP3,$SMTP,$ICQ,$VPN,$FTP,$FTP2,$STREAM,$RADIO,$POP32 -j ACCEPT
$IPTABLES -A INPUT -m limit --limit 12/h -j LOG --log-prefix "FORWARD drop: "
#########################################################################################################
############################################## POSTROUTING ##############################################
$IPTABLES -A POSTROUTING -t nat -j MASQUERADE
#########################################################################################################
#nastaveni vychozi politiky retezcu
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
echo -e "\033[32m Firewall nakonfigurován ...\033[0m"