ricardobras
(usa Debian)
Enviado em 19/09/2008 - 13:19h
Bem meus Caros Amigos da comunidade Vivaolinux.....
Estou com o seguinte problema em minha rede...
Tenho uma estrutura de servidor squid com iptables + Redirector usando regras do mysql...
fiz a config no meu squid.conf da seguinte forma:
http_port 192.168.0.254:3128 transparent
#icp_port 3130
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
error_directory /usr/share/squid3/errors/Portuguese
redirect_program /sbin/redirector ads audio-video blocked hacking jogos
[*****] proxy
auth_param basic program "/etc/squid3/autenticador"
auth_param basic children 5
auth_param basic realm Domain Proxy Server
auth_param basic credentialsttl 2 hours
auth_param basic realm ( Login de Internet COOPER-RUBI )
authenticate_ttl 1 hour
authenticate_ip_ttl 30 minutes
acl 1hora max_user_ip -s 1
acl login proxy_auth REQUIRED
acl trava_msn url_regex -i /gateway/gateway.dll
acl ipliberado src "/etc/firewall/ips_allow_all"
acl msn_libera proxy_auth "/servidor/scripts/libera_msn.txt"
acl downloads url_regex -i "/servidor/scripts/bloq_downloads.txt"
acl lib_person url_regex -i "/servidor/scripts/lib_personalizada.txt"
acl usuarios_lib_person proxy_auth "/servidor/scripts/lib_usuario_person.txt"
acl antivirus url_regex -i "/servidor/scripts/lib_antivirus.txt"
acl adm proxy_auth ricardobras rodrigo silvania alexandrino joaquim paulohenrique
acl urlib url_regex -i "/servidor/scripts/url_liberada.txt"
acl rede src 192.168.0.0/24
acl all src 0.0.0.0/0.0.0.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 # outlook
acl SSL_ports port 440 # cmt
acl SSL_ports port 110 # outlook
acl SSL_ports port 25
acl SSL_ports port 110
acl Safe_ports port 80 # porta internet
acl Safe_ports port 110 # Porta outlook
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 4441 # porta RODRIGO CONSORCIO
acl Safe_ports port 550
acl Safe_ports port 25 # outlook
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
http_access deny 1hora
http_access allow msn_libera
http_access deny downloads !ipliberado
http_access deny lib_person !usuarios_lib_person
http_access allow antivirus
http_access allow adm
http_access allow urlib
http_access allow rede login !1hora
http_access allow SSL_ports
http_access allow Safe_ports
http_access deny all !ipliberado
E MEU FIREWALL DA SEGUINTE ESTRUTURA:
cd /etc/firewall
iptables -F
###########################
#VARIAVEIS DO SISTEMA #####
###########################
# rede local e internet
WAN="eth0" # internet
LAN="eth1" #local
# Diretorio de arquivos do firewall
DIR="/etc/firewall"
# arquivos do firewall
BLOCKALL="ips_block_all"
ALLOWALL="ips_allow_all"
portas="lib_portas"
# Comando CAT
CAT="/bin/cat"
############################
# Iniciar - Valores TCP/IP #
############################
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Não Aceita Pacotes Redirecionados
# Não Loga Ips Impossiveis
# Ignora Pacotes ICMP de Broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Ignora Pacotes ICMP de Erro
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Tempo Maximo de Espera da Conexao sem Resposta
echo 45 > /proc/sys/net/ipv4/tcp_fin_timeout
# Tempo Maximo de Conexão KeepAlive
echo 90 > /proc/sys/net/ipv4/tcp_keepalive_intvl
# Habilita Redirecionamento de Pacotes (Necessario para NAT)
echo 1 > /proc/sys/net/ipv4/ip_forward
# Protege Contra Ataques Syn Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
####################
# Limpar as regras #
####################
iptables -F # Limpa todas as regras da tabela Filter
iptables -X # Deleta todas as cadeias da tabela Filter
iptables -Z # Zera contador da tablea Filter
iptables -P INPUT ACCEPT # Habilita regra default de entrada de pacotes com ACEITAR
iptables -P FORWARD ACCEPT # Habilita regra default de passagem de pacotes com ACEITAR
iptables -P OUTPUT ACCEPT # Habilita regra default de saida de pacotes com ACEITAR
iptables -t nat -F # Limpa todas as regras da tabela NAT
iptables -t nat -X # Deleta todas as cadeias da tabela NAT
iptables -t nat -Z # Zera os contadores da tabela NAT
## Redirecionamento de porta 3128
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
################################
### Regras INPUT
### informa os estados que devem ser checados (Conexão estabelecida
# ou Relacionada). Caso o estado da conexão seja uma dessas 2, então
# ele vai aceitar.
# Libera o INPUT para a interface loopback, ou seja, a própria máquina
iptables -A INPUT -i lo -j ACCEPT
# Permite icmp 0 (resposta de Echo)
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
# Permite icmp 8 (Pedido de Echo)
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
# Permite o acesso ao servidor usando SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Permite o acesso ao servidor usando FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# Libera o OPENVPN
iptables -A INPUT -p tcp --dport 1194 -j ACCEPT
#################################################################
iptables -A INPUT -p tcp -s 192.168.0.254 --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.254 --dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.0.254 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.0.254 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT
#########
#################################################################
### Regras FORWARD
iptables -A FORWARD -i $LAN -o $WAN -p icmp -j ACCEPT
iptables -A INPUT -i $LAN -p tcp --dport 3128 --syn -j ACCEPT # Permitir acesso ao squid
iptables -A INPUT -i $LAN -p tcp --dport 25 -j ACCEPT #SMTP (email)
iptables -A INPUT -i $LAN -p tcp --dport 587 -j ACCEPT #SMTP (locaweb)
iptables -A INPUT -i $LAN -p tcp --dport 110 -j ACCEPT # POP (locaweb)
iptables -A FORWARD -i $LAN -p tcp --dport 443 --syn -j ACCEPT # HTTPS
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 25 (smtp)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 110 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 22 (ssh)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 22 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 21 (ftp)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 21 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 110 (pop)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 110 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 443 (ssl)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 443 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 3389 (Terminal Server da Microsoft)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 3389 -j ACCEPT
# Libera o tráfego de pacotes da rede interna para a rede externa na porta 80 (http)
iptables -A FORWARD -i $LAN -o $WAN -p tcp --dport 80 -j ACCEPT
# Libera o tráfego de pacotes da rede externa para a rede interna na porta 3389 (Terminal Server da Microsoft)
iptables -A FORWARD -i $WAN -o $LAN -p tcp --dport 3389 -j ACCEPT
# Libera o tráfego de pacotes da rede externa para a rede interna na porta 5900 (VNC)
iptables -A FORWARD -i $WAN -o $LAN -p tcp --dport 5900 -j ACCEPT
###############################################################
####### liberando ips
for u in `$CAT $DIR/$ALLOWALL`
do
iptables -t nat -A POSTROUTING -s $u -o $WAN -j MASQUERADE
done
#iptables -t nat -A POSTROUTING -s 192.168.0.11 -j SNAT --to 201.88.109.115
#iptables -t nat -A POSTROUTING -s ip_a_ser_liberado -o eth0(dispositivo de saida da internet) -j MASQUERADE
#############################################
#### liberando portas
for p in `$CAT $DIR/$portas`
do
# liberar portas - conexoes primarias (ACESSAR O SERVIDOR)
iptables -A INPUT -p tcp --dport $p -j ACCEPT
iptables -A INPUT -p udp --dport $p -j ACCEPT
iptables -A FORWARD -p tcp --dport $p -j ACCEPT
done
####################################
###conectividade social
####################################
iptables -A FORWARD -p tcp --dport 2631 -j ACCEPT
iptables -A FORWARD -p tcp --dport 440 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
echo "O Firewall está sendo carregado..."
echo "firewall carregado corretamente"
#####################
porém minha rede está direcionada com squid transparent e firewall...
quando eu faço o mascaramento da rede todos os computadores estão acessando sem autenticação ao serem desmarcados a opção do proxy...
eu gostaria de liberar certos ips, e fazer com que todos os computadores com proxy desmarcados não tenham acesso...
Desde já agradeço a colaboração de meus amigos...
Obrigadoo.