Skocz do zawartości

Squid + Iptables


butek

Rekomendowane odpowiedzi

Mam problem ze squidem i iptables

1) Pingi chodza ze stacji do serwera, do routera i w swiat

2) Jak mam wlaczony squid to wszystkie strony sa blokowane

Jak go wylacze to przegladarka na stacji mówi ze nie ma polaczenia

3) W logach squida znalazlem 172.23.198.101 TCP_DENIED/400 1496 GET /favicon.ico - NONE/- text/html

 

Kopie juz google 3 dzien zaraz bede kopal kompa i rodzine

Please Help me :(

eth2 : 172.23.198.1 - serwer siec lokalna

eth1: 10.0.0.5 podlaczona do routera z adsl

Router ma adres 10.0.0.2 - i nie ma firewalla

 

Pewnie cos z firewallem

Korzystalem z generatora iptables

A moze napisze mi ktos malego firewalla

Potrzebuje przepuszczac ruch przez squida

Jestem nauczycielem i musze filtrowac strony - wiadomo prono i te sprawy

 

 

SQUID

 

http_port 3128
##Recommended minimum configuration:
acl all src 172.23.198.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80		  # http
acl Safe_ports port 21		  # ftp
acl Safe_ports port 443 563	 # https, snews
acl Safe_ports port 70		  # gopher
acl Safe_ports port 210		 # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280		 # http-mgmt
acl Safe_ports port 488		 # gss-http
acl Safe_ports port 591		 # filemaker
acl Safe_ports port 777		 # multiling http
acl CONNECT method CONNECT


# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS


acl our_networks src 172.23.198.0/24
http_access allow our_networks
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

#
# Insert your own rules here.
#
#

http_reply_access allow all

visible_hostname 172.23.198.1
httpd_accel_port 80
http_accel_with_proxy on

httpd_accel_with_proxy on


httpd_accel_uses_host_header on

 

Iptables

!/bin/sh

################
# Konfiguracja #
################

F="/sbin/iptables"
LOG="ipt#"

#interfejs globalny - dla sieci zewnetrznej
G_NET_NAME="eth1"
G_NET_IP="10.0.0.5"
#interfejs lokalny - dla sieci wewnetrznej
L_NET_NAME="eth2"
L_NET_IP="172.23.198.1"
L_NET="172.23.198.0/24"
L_BRDC="172.23.198.255"

#ustawienie modulow i konfiguracji jadra
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

echo "1" > /proc/sys/net/ipv4/ip_forward

#dynamiczny przydzial adresu
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

#ignorowanie ICMP echo request wysylanych na adres rozgloszeniowy
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#ochrona przed SYN flood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

#refuse source routed packets
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects

#walidacja zrodla za pomoca reversed path (RFC1812).
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

#logowanie pakietow z nieprawidlowych adresow
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

#################
# INICJALIZACJA #
#################

echo "Ustawienia polityki dla lancuchow standardowych..."
$F -P INPUT ACCEPT
$F -P FORWARD ACCEPT
$F -P OUTPUT ACCEPT
$F -t nat -P PREROUTING ACCEPT
$F -t nat -P OUTPUT ACCEPT
$F -t nat -P POSTROUTING ACCEPT
$F -t mangle -P PREROUTING ACCEPT
$F -t mangle -P OUTPUT ACCEPT
$F -t mangle -P INPUT ACCEPT
$F -t mangle -P FORWARD ACCEPT
$F -t mangle -P POSTROUTING ACCEPT

echo "Czyszczenie regul dla lancuchow standardowych..."
$F -F
$F -t nat -F
$F -t mangle -F

echo "Kasowanie wszystkich niestandardowych lancuchow..."
$F -X
$F -t nat -X
$F -t mangle -X

if [ "$1" = "stop" ]
then
echo "Firewall zostal wylaczony."
exit 0
fi

echo "Ustawienia polityki lancuchow standardowych..."
$F -P INPUT DROP
$F -P OUTPUT DROP
$F -P FORWARD DROP

echo "Tworzenie niestandardowych lancuchow regul..."
$F -N bledne_pakiety
$F -N bledne_pakiety_tcp
$F -N pakiety_icmp
$F -N tcp_wchodzace
$F -N tcp_wychodzace
$F -N udp_wchodzace
$F -N udp_wychodzace

##################
# bledne_pakiety #
##################
echo "Tworzenie regul dla lancucha bledne_pakiety..."

$F -A bledne_pakiety -p ALL -m state --state INVALID -j LOG --log-prefix "$LOG bledne_pakiety "
$F -A bledne_pakiety -p ALL -m state --state INVALID -j DROP
$F -A bledne_pakiety -p tcp -j bledne_pakiety_tcp
$F -A bledne_pakiety -p ALL -j RETURN

######################
# bledne_pakiety_tcp #
######################
echo "Tworzenie regul dla lancucha bledne_pakiety_tcp..."
#dla gate
$F -A bledne_pakiety_tcp -p tcp -i $L_NET_NAME -j RETURN

$F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp ! --syn -m state --state NEW -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL NONE -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL ALL -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "$LOG bledne_pakiety_tcp "
$F -A bledne_pakiety_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$F -A bledne_pakiety_tcp -p tcp -j RETURN

################
# pakiety_icmp #
################
echo "Tworzenie regul dla lancucha pakiety_icmp..."

$F -A pakiety_icmp --fragment -p ICMP -j LOG --log-prefix "$LOG pakiety_icmp fragmenty "
$F -A pakiety_icmp --fragment -p ICMP -j DROP

#pingowanie i logowanie pingowania
# $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j LOG --log-prefix "$LOG pakiety_icmp "
# $F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

#ping - zachaszowac w przypadku odsloniecia powyzszych regul
$F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 8 -j DROP
#Time Exceeded
$F -A pakiety_icmp -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

$F -A pakiety_icmp -p ICMP -j RETURN

#################
# tcp_wchodzace #
#################
echo "Tworzenie regul dla lancucha tcp_wchodzace..."

#ident request
#reject zamiast drop w celu unikniecia opoznien przy polaczeniach
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 113 -j REJECT
#FTP client (data port non-PASV)
$F -A tcp_wchodzace -p TCP -s 0/0 --source-port 20 -j ACCEPT
#FTP control
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 21 -j ACCEPT
# Passive FTP
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT
#ssh
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 22 -j ACCEPT
#HTTP
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 80 -j ACCEPT
#HTTPS
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 443 -j ACCEPT
#SMTP
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 25 -j ACCEPT
#POP3
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 110 -j ACCEPT
#SSL POP3
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 995 -j ACCEPT
#IMAP4
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 143 -j ACCEPT
#SSL IMAP4
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 993 -j ACCEPT
#ICQ File Transfers & Other Advanced Features
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT
#MSN Messenger File Transfers
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port : -j ACCEPT
#NFS Server - portmapper
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 111 -j ACCEPT
#NFS Server - statd
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 9400 -j ACCEPT
#NFS Server - NFS daemon
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 2049 -j ACCEPT
#NFS Server - lockd
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 9401 -j ACCEPT
#NFS Server - mountd
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 9402 -j ACCEPT
#NFS Server - quotad
$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port 9403 -j ACCEPT
#User specified allowed TCP protocol
#$F -A tcp_wchodzace -p TCP -s 0/0 --destination-port  -j ACCEPT

#nie pasujace: powrot i logowanie
$F -A tcp_wchodzace -p TCP -j RETURN

##################
# tcp_wychodzace #
##################
echo "Tworzenie regul dla lancucha tcp_wychodzace..."

#Blokowanie FTP Data
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 20 -j REJECT
#Blokowanie FTP Control
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 21 -j REJECT
#Blokowanie SSH
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 22 -j REJECT
#Blokowanie Telnet
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 23 -j REJECT
#Blokowanie HTTP
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 80 -j REJECT
#Blokowanie HTTPS
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 443 -j REJECT
#Blokowaie SMTP
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 25 -j REJECT
#Blokowaie POP3
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 110 -j REJECT
#Blokowaie POP3SSL
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 995 -j REJECT
#Blokowaie IMAP4
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 143 -j REJECT
#Blokowaie IMAP4SSL
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 993 -j REJECT
#Blokowanie NEWS
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 119 -j REJECT
#Blokowanie IRC
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port : -j REJECT
#Blokowaie AIM
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 5190 -j REJECT
#Blokowaie AIM Images
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 4443 -j REJECT
#Blokowaie MSN Messenger
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port 1863 -j REJECT
#Blokowany zakres portow
#$F -A tcp_wychodzace -p TCP -s 0/0 --destination-port  -j REJECT
#blokowanie gg
#$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.41.0/24 -j REJECT
#$F -A tcp_wychodzace -p TCP -s 0/0 -d 217.17.33.0/24 -j REJECT

#nie pasujace ACCEPT
$F -A tcp_wychodzace -p TCP -s 0/0 -j ACCEPT

#################
# udp_wchodzace #
#################
echo "Tworzenie regul dla lancucha udp_wchodzace..."

#Drop netbios calls
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 137 -j DROP
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 138 -j DROP

#ident - reject zamiast drop w celu unikniecia opoznien w polaczeniach
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 113 -j REJECT

#NTP
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 123 -j ACCEPT
#DNS
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#zewnetrzny server DHCP
$F -A udp_wchodzace -p UDP -s 0/0 --source-port 68 --destination-port 67 -j ACCEPT
#NFS Server - portmapper
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 111 -j ACCEPT
#NFS Server - statd
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 9400 -j ACCEPT
#NFS Server - NFS daemon
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 2049 -j ACCEPT
#NFS Server - lockd
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 9401 -j ACCEPT
#NFS Server - mountd
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 9402 -j ACCEPT
#NFS Server - quotad
$F -A udp_wchodzace -p UDP -s 0/0 --destination-port 9403 -j ACCEPT
#dopuszczalny zakres portow udp
#$F -A udp_wchodzace -p UDP -s 0/0 --destination-port  -j ACCEPT

#nie pasujace - powrot i logowanie
$F -A udp_wchodzace -p UDP -j RETURN

##################
# udp_wychodzace #
##################
echo "Tworzenie regul dla lancucha udp_wychodzace..."

#Blokowany zakres portow
#$F -A udp_wychodzace -p UDP -s 0/0 --destination-port  -j REJECT
#blokowanie gg
#$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.41.0/24 -j REJECT
#$F -A udp_wychodzace -p UDP -s 0/0 -d 217.17.33.0/24 -j REJECT

#nie pasujace ACCEPT
$F -A udp_wychodzace -p UDP -s 0/0 -j ACCEPT

#########
# INPUT #
#########

echo "Tworzenie regul dla lancucha INPUT..."

$F -A INPUT -p ALL -i lo -j ACCEPT
$F -A INPUT -p ALL -j bledne_pakiety

#DOCSIS compliant cable modems
#Drop without logging.
$F -A INPUT -p ALL -d 224.0.0.1 -j DROP

#zezwolenie dla sieci lokalnej - dla gate
$F -A INPUT -p ALL -i $L_NET_NAME -s $L_NET -j ACCEPT
$F -A INPUT -p ALL -i $L_NET_NAME -d $L_BRDC -j ACCEPT

#DHCP - dla gate
$F -A INPUT -p UDP -i $L_NET_NAME --source-port 68 --destination-port 67 -j ACCEPT

#Ustanowione polaczenia
$F -A INPUT -p ALL -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT

#reszta do odpowiednich lancuchow
$F -A INPUT -p ICMP -i $G_NET_NAME -j pakiety_icmp
$F -A INPUT -p TCP -i $G_NET_NAME -j tcp_wchodzace
$F -A INPUT -p UDP -i $G_NET_NAME -j udp_wchodzace

#zatrzymanie rozgloszen
$F -A INPUT -p ALL -d 255.255.255.255 -j DROP

#nie pasujace - logowanie
$F -A INPUT -j LOG --log-prefix "$LOG INPUT:99 "

###########
# FORWARD #
###########
#dla gate caly
echo "Tworzenie regul dla lancucha FORWARD..."

$F -A FORWARD -p ALL -j bledne_pakiety
$F -A FORWARD -p tcp -i $L_NET_NAME -j tcp_wychodzace
$F -A FORWARD -p udp -i $L_NET_NAME -j udp_wychodzace
$F -A FORWARD -p ALL -i $L_NET_NAME -j ACCEPT

$F -A FORWARD -i $G_NET_NAME -m state --state ESTABLISHED,RELATED -j ACCEPT

#nie pasujace - loguj
$F -A FORWARD -j LOG --log-prefix "$LOG FORWARD:99 "

##########
# OUTPUT #
##########

echo "Tworzenie regul dla lancucha OUTPUT..."

$F -A OUTPUT -m state -p icmp --state INVALID -j DROP
$F -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT
$F -A OUTPUT -p ALL -o lo -j ACCEPT

#dla gate
$F -A OUTPUT -p ALL -s $L_NET_IP -j ACCEPT
$F -A OUTPUT -p ALL -o $L_NET_NAME -j ACCEPT

$F -A OUTPUT -p ALL -o $G_NET_NAME -j ACCEPT

#nie pasujace - loguj
$F -A OUTPUT -j LOG --log-prefix "$LOG OUTPUT:99 "

#############
# nat table #
#############
echo "Tworzenie regul dla tablicy nat..."
#w nat wszystkie reguly dla gate
##############
# PREROUTING #
##############
echo "	lancuch PREROUTING"
#Redirect HTTP for a transparent proxy
$F -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 3128
#Redirect HTTPS for a transparent proxy - commented by default
#$F -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 3128

###############
# POSTROUTING #
###############
echo "	lancuch POSTROUTING"

$F -t nat -A POSTROUTING -o $G_NET_NAME -j SNAT --to-source $G_NET_IP
$F -t nat -A POSTROUTING -o $L_NET_NAME -j SNAT --to-source $G_NET_IP
################
# mangle table #
################
echo "Tworzenie regul dla mangle table..."

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 weeks later...

i ?po cho-lere ci taki firewall ?

 

ja bym go zrobil 50 razy prosciej !

daj tylko w firewlllu postrouting, reszte wywal i sprawdz czy chcodzi.

 

na firewalla nie ma przepisu kucharskiego.poza tym posprawdzaj dns-y w squidzie, to czesty blad.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...