Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: SQUID pomoc s nastavením IPTABLES  (Přečteno 1378 krát)

mephcz

  • Návštěvník
  • Příspěvků: 30
SQUID pomoc s nastavením IPTABLES
« kdy: 18 Dubna 2011, 14:02:11 »
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řez 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.

Kód: [Vybrat]
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"
« Poslední změna: 18 Dubna 2011, 14:08:53 od Tadeáš Pařík »

 

Provoz zaštiťuje spolek OpenAlt.