Proxy autenticado

1. Proxy autenticado

Erton Domingues Leite
mastertimax

(usa Ubuntu)

Enviado em 04/04/2016 - 18:45h

tenho a seguinte configuração de firewall rodando squid + sarg verdadeiramente não transparente ou seja SEM as duas linhas abaixo

iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
iptables -t nat -A PREROUTING -i $ifproxy -p tcp --dport 80 -j REDIRECT --to-port 3128


Preciso liberar alguns programas e já possuo o ip e porta deles. Como fazer para liberar estes dominios em um proxy verdadeiramente nao transparente? Existe alguma linha redudante ou que não precisa?

Desde já agradeço pela ajuda!

abaixo meu Script

#! /bin/bash

### BEGIN INIT INFO
# Provides: netset
# Required-Start: squid network-manager
# Required-Stop: squid network-manager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Inicia o proxy e o firewall
# Description: Inicia o proxy, firewall e compartilhamento de internet
### END INIT INFO

########################
# DECLARANDO VARIÁVEIS #
########################

# Interface do proxy
ifproxy="eth0"

# Interface da internet
ifinternet="eth1"

# Rede interna
iflan="192.168.0.0/24"

start_netset() {
# LIMPANDO AS REGRAS CRIADAS ANTERIORMENTE
# Limpando a tabela filter
iptables -F
iptables -X
# Limpando a tabela NAT
iptables -t nat -F
iptables -t nat -X
# EX: Limpando a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n

modprobe iptable_nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP


# Ativando o NAT do iptables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_ftp

# Bloqueando resposta do servidor ao PING
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

# Ativando proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

# Autorizando pacotes da interface de loopback e rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifproxy -j ACCEPT

# Aceitando a passagem de pacotes de conexões já estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Abrindo a porta 22 para conexão remota interna e externa via SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Abrindo as portas 20 e 21 para conexão externa via FTP
iptables -A INPUT -i $ifinternet -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i $ifinternet -p tcp --dport 21 -j ACCEPT

# Abrindo a porta 10000 para conexão remota interna via Webmin
iptables -A INPUT -i $ifproxy -p tcp --dport 10000 -j ACCEPT

# Abrindo a conexão para cns Conectividade social caixa
iptables -A FORWARD -p tcp -d 200.201.173.68 -m multiport --dport 80,443 -j ACCEPT
iptables -A FORWARD -p tcp -s 200.201.173.68 -m multiport --dport 80,443 -j ACCEPT

# Abrindo a porta do Squid para a rede interna
iptables -A INPUT -i $ifproxy -p tcp --dport 3128 -j ACCEPT

# Bloqueando tentativas de conexão provenientes da Internet
iptables -A INPUT -p tcp --syn -j DROP

#Liberando portas de e-mail POP e SMTP
iptables -A INPUT -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j ACCEPT
iptables -A INPUT -s $iflan -p udp -m multiport --dport 25,110,587,995 -j ACCEPT
iptables -t nat -A POSTROUTING -s $iflan -p tcp -m multiport --dport 25,110,465,587,993,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp -m multiport --dport 25,110,587,995 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $iflan -p udp --dport 53 -j MASQUERADE

# EX: Liberando portas de DNS
iptables -A INPUT -s $iflan -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s $iflan -p udp --source-port 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT

# Liberando portas para o Skype e Teamviewer (rede local)
iptables -A FORWARD -p tcp -m multiport --dport 1616,5938 -j ACCEPT
}

###############
# FUNÇÃO STOP #
###############

stop_netset() {
# Limpando a tabela filter
iptables -F
iptables -X
# Limpando a tabela NAT
iptables -t nat -F
iptables -t nat -X
# EX: Limpando a tabela mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n


modprobe iptable_nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# EX: Ativando o roteamento da conexão entre as interfaces
echo 1 > /proc/sys/net/ipv4/ip_forward

# EX: Para usar o proxy normal e bloqueio do UltraSurf comentar para desativar
#iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
}

#################
# FUNÇÃO STATUS #
#################

status_netset() {
clear
iptables -L -v -n --line-numbers
echo
}

case "$1" in
"start") start_netset ;;
"stop") stop_netset ;;
"restart") stop_netset; start_netset ;;
"status") status_netset ;;
*) echo "Usar os parametros start, stop ou restart"
esac

exit 0





  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts