Pular para o conteúdo

Liberar acesso à sites (SCRIPT IPTABLES)

Responder tópico
  • Denunciar
  • Indicar
01 02

1. Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 14:42h

Boa tarde pessoal,
Um ex funcionario da empresa aonde trabalho acabou saindo da empresa e com isso eu não entendi muito bom o script que ele fez, ate porque sou iniciante.

A questão é, preciso liberar o site em questão ( https://atendimentovirtual.sistemas.cesan.com.br:8443/AtendimentoVirtual/FaturaConsultaForm.jsp )

cujo o ip dele é ( 200.216.216.47 )


Tentei colocar no script a seguinte regra:


$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.47 -p tcp -j ACCEPT

e também:

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.47 -p tcp --dport 8773 -j ACCEPT

Ambas não deram certo.


Se abaixo o script iptables para melhor entender a situação:


IPTABLES=/sbin/iptables
IP6TABLES=/sbin/ip6tables
MODPROBE=/sbin/modprobe

IF_LOOPBACK="lo"

IF_INT="eth1"
IP_INT="10.1.1.250"

IF_EXT="eth0"
IP_EXT="XXX.XX.XX.XXX"

#IF_DMZ="eth"
#IP_DMZ=""

NET_INT="10.1.1.0/24"


### flush existing rules and set chain policy setting to DROP
echo "[+] Flushing iptables rules..."
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -X
$IPTABLES -X -t nat
$IPTABLES -X -t mangle

### this policy does not handle IPv4 traffic except to drop it.
#
echo "[+] Disabling IPv4 traffic..."
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

### this policy does not handle IPv6 traffic except to drop it.
#
echo "[+] Disabling IPv6 traffic..."
$IP6TABLES -P INPUT DROP
$IP6TABLES -P OUTPUT DROP
$IP6TABLES -P FORWARD DROP

### load connection-tracking modules
#
echo "[+] Loading modules..."
$MODPROBE ip_conntrack
$MODPROBE iptable_nat
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp
$MODPROBE ip_tables
$MODPROBE ipt_LOG
$MODPROBE ipt_REJECT
$MODPROBE ipt_MASQUERADE
$MODPROBE ipt_state
$MODPROBE ipt_multiport
$MODPROBE iptable_mangle
$MODPROBE ipt_limit
$MODPROBE xt_limit
$MODPROBE ipt_mark
$MODPROBE ipt_MARK
$MODPROBE ipt_string
$MODPROBE ip_gre
$MODPROBE ip_nat_pptp
$MODPROBE tun


###### INPUT chain ######
#########################
#
echo "[+] Setting up INPUT chain..."

### [++] state tracking rules
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### [++] ACCEPT rules

### [+++] ssh
$IPTABLES -A INPUT -p tcp -i $IF_INT -s $NET_INT --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX/27 --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX --dport 22 -j ACCEPT

### [+++] pptp
$IPTABLES -A INPUT -i $IF_EXT -p tcp --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -i $IF_EXT -p 47 -j ACCEPT

### [+++] dns
$IPTABLES -A INPUT -i $IF_INT -s $NET_INT -p udp --dport 53 -j ACCEPT

### [++] squid proxy
$IPTABLES -A INPUT -i $IF_INT -p tcp --dport 3128 -s $NET_INT -j ACCEPT

### [++] icmp
$IPTABLES -A INPUT -i $IF_INT -p icmp -s $NET_INT -j ACCEPT

### [++] anti-spoofing rules
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $IF_EXT -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -i $IF_EXT -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $IF_EXT -j DROP
$IPTABLES -A INPUT -s 192.168.1.0/16 -i $IF_EXT -j DROP


### [++] state tracking rules
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### [++] ACCEPT rules for allowing connections out

### [+++] pptp
$IPTABLES -A OUTPUT -o $IF_EXT -p tcp --dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p 47 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p udp --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p tcp --dport 21 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p tcp --dport 20 -j ACCEPT
$IPTABLES -A OUTPUT -o $IF_EXT -p udp --dport 20 -j ACCEPT

$IPTABLES -A OUTPUT -o $IF_EXT -j ACCEPT

### [++] state tracking rules
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


A parte aonde estou adicionado as regras


##################################################################################
# acesso USUARIOS internet pela rede interna
#$IPTABLES -A FORWARD -i $IF_INT -s $NET_INT -o $IF_EXT -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -j LOG

# acesso cesan.com.br
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.18 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.47 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.45 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.43 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 201.77.202.37 -p tcp -j ACCEPT

#acesso www.dataprev.gov.br
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.152.32.178 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.152.40.93 -p tcp -j ACCEPT

# acesso www.previdencia.gov.br
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.152.40.50 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.152.32.144 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.47 -p tcp -j ACCEPT

#sindec
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 201.62.35.202 -p tcp --dport 444 -j ACCEPT



############################################################################################



#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

# acesso APs internet

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX-j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

#
$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -p udp --dport 53 -j ACCEPT

### [++] MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s $NET_INT -o $IF_EXT -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE

exit




Agradeço pelo ajuda!

Responder tópico

2. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 15:01h

Tenta assim:

$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.0/25 -p tcp --dport 0:0 -j ACCEPT

ou assim

$IPTABLES -I FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.0/25 -p tcp --dport 0:0 -j ACCEPT

3. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 15:14h

Fiz os testes com as regras e nenhuma delas deu certo.
O site não acessa.

Agradeço pela ajuda!

5. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 15:30h

Com a porta ou sem, não consigo acessar!


Na verdade eu acesso o site http://www.cesan.com.br/?page_id=1165
que abre uma frame apontada pelo link que passei acima.

6. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 15:34h

tenta adicionar a porta então

$IPTABLES -A INPUT -p tcp -i $IF_EXT -s XXX.XX.XX.XXX --dport 8443 -j ACCEPT

onde xxx.xx.xx.xxx é o seu ip local, da máquina que você esta usando para acessar o terminal

7. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 15:41h

Coloquei a seguinte regra:


$IPTABLES -A INPUT -p tcp -i $IF_EXT -s 10.1.1.75 --dport 8443 -j ACCEPT



Continuo sem acessar!

8. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 16:39h

estranho... tem algo mais bloqueando ai (usa squid?), você esta digitando essas regras no servidor ou uma máquina comum? como é a arquitetura da rede?

EX:.

roteador < máquina < modem

9. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 16:47h

Funcionar da seguinte forma.
Existe algumas maquinas que tem acesso direto ao proxy 10.1.1.250:3128.

Esses usuários tem acesso liberado.

Os demais utiliza uma outra proxy e em alguns sites ele passa pelo proxy 10.1.1.250:3128.
Existe uma regra GPO para essa passagem de proxy.


::: Topologia

Sinal internet > Router > switch > (1) AP's para internet wifi
(2) Firewall (10.1.1.250)



Squid.conf


#Paginas em portugues de erro
error_directory /usr/share/squid/errors/pt-br

#Configuração de entrada
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl rede-local src 10.1.1.0/24
#Portas permitidas
acl Portas_permitidas port 443 80 21 22 70 210 280 488 591 777 5938
acl CONNECT method CONNECTi


# Regras pessonalizadas
acl macs_liberados arp "/etc/squid/macs-liberados"

http_access allow manager localhost
http_access deny manager

#Bloqueando todas as outras portas
http_access deny !Portas_permitidas
http_access deny CONNECT !Portas_permitidas

#Finalizações
http_access deny !macs_liberados
http_access allow rede-local
http_access allow localhost
http_access deny all

#Porta proxy
#http_port 3128 transparent
http_port 3128
visible_hostname XXXXXXX.com.br

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
~
~

10. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 16:54h

tente adicionar a porta 8443 aqui:

acl Portas_permitidas port 443 80 21 22 70 210 280 488 591 777 5938 8443

11. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 17:20h

perfeito.

Foi adicionado..

Foi dado restart no service squid.

testei com as regras:


$IPTABLES -A FORWARD -i $IF_INT -o $IF_EXT -d 200.216.216.47 -p tcp -j ACCEPT


ou


$IPTABLES -A INPUT -p tcp -i $IF_EXT -s 10.1.1.75 --dport 8443 -j ACCEPT


10.1.1.75 = IP Local da minha maquina


Não carregou a página!

12. Re: Liberar acesso à sites (SCRIPT IPTABLES)

Enviado em 30/09/2013 - 17:43h

hum... estranho... tem mais alguma coisa bloqueando a net ai? tente colocar seu ip na acl dos ips liberados em ultimo caso...
01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder