Servidor Squid/IPtables

1. Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 22/05/2014 - 11:29h

bom dia, tenho um servidor Debian 7.0 com Squid autenticado e com Iptables.

a porta de conexão do meu ssh eu alterei da porta 22
e o servidor fica em um supermercado, que usa conexões ssh na porta 22 em um outro servidor da rede que não é o meu com squid..
e os usuários reclamam que a conexão com o servidor do sistema do SG fica caindo muito.
as vezes de manha não conseguem conectar somente após muitas tentativas.

o que poderia estar causando essa instabilidade.

OBS: a porta 22 esta liberada no iptables.


  


2. Re: Servidor Squid/IPtables

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/05/2014 - 11:52h

rfontoura escreveu:

bom dia, tenho um servidor Debian 7.0 com Squid autenticado e com Iptables.

a porta de conexão do meu ssh eu alterei da porta 22
e o servidor fica em um supermercado, que usa conexões ssh na porta 22 em um outro servidor da rede que não é o meu com squid..
e os usuários reclamam que a conexão com o servidor do sistema do SG fica caindo muito.
as vezes de manha não conseguem conectar somente após muitas tentativas.

o que poderia estar causando essa instabilidade.

OBS: a porta 22 esta liberada no iptables.


O que está caindo é o ssh ou o sistema? Difícil te responder sem acesso aos logs. Recomendo trabalhar nos logs.

Abraço!


3. Re: Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 22/05/2014 - 12:17h

o que esta caindo é a conexão ssh na porta 22 de uma máquina cliente para o servidor do sistema do mercado, e não no servidor com squid.


4. Re: Servidor Squid/IPtables

johnny borges
johnnyb

(usa Fedora)

Enviado em 22/05/2014 - 16:08h

amigo pode ser a internet pode ser instabilidade nas regras de firewall, posta os logs o conf do ssh
as regras usadas no iptables assim fica mais facil de lhe ajudar.
e verifica tambem o uso da memoria do servidor.


5. Re: Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 23/05/2014 - 10:12h

bom, vamos lá.
o acesso ao sistema do servidor é feito via putty, e tem uma interface gráfica.
e fica caindo toda hora. e não é em todos os clientes.


segue o script do firewall

#======================================================
#! /bin/sh
# chkconfig: 235 99 10
# description: Start or stop the Webmin server
#
### BEGIN INIT INFO
# Provides: webmin
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Description: Start or stop the Webmin server
### END INIT INFO

#! /bin/bash

#Variaveis
ifaceExt="eth0"; #acesso internet (onboard)
ifaceInt="eth1"; #acesso intranet (rede interna) (offboard)
LAN="192.168.1.0/24"; #rede local
WAN="xxx.xxx.xxx.xxx."; #ip fixo modem

#Carrega modulos
/sbin/modprobe ip_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_queue
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_mac
/sbin/modprobe ipt_string
/sbin/modprobe ipt_MASQUERADE

start(){
echo "Firewall iniciado ...................... [OK]";
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao INPUT=DROP | OUTUPT=ACCEPT | FORWARD=DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Bloquei ping externo para o servidor (ICMP)
iptables -A INPUT -i $ifaceExt -p icmp --icmp-type 8 -j DROP


#LIBERANDO PORTAS
#--------------------------------------------------------------------------------------------------------
#Libera porta ssh servidor
iptables -A INPUT -p tcp --dport 22 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -i $ifaceExt -j ACCEPT

#Libera porta webmail
iptables -A INPUT -p tcp --dport 2095 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 2095 -i $ifaceExt -j ACCEPT

#Libera porta ssh servidor
iptables -A INPUT -p tcp --dport 81 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 81 -i $ifaceExt -j ACCEPT

#Libera porta ssh externo
iptables -A INPUT -p tcp --dport 2222 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -i $ifaceExt -j ACCEPT

#Libera porta DVR externo
iptables -A INPUT -p tcp --dport 37707 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 37707 -i $ifaceExt -j ACCEPT

#Redireciona porta 2222 para 22
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.101:22

#Redireciona porta 22 para Servidor SG
iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 192.168.1.101:22

#Redireciona porta 37707 para DVR
iptables -t nat -A PREROUTING -p tcp --dport 37707 -j DNAT --to-destination 192.168.1.107:37707

#Libera porta (HTTP)
iptables -A INPUT -s $LAN -p tcp --dport 8081 -j ACCEPT
iptables -A INPUT -s $LAN -p udp --dport 8081 -j ACCEPT

#Libera portas (Porta 22)
iptables -A INPUT -p tcp -s $LAN -d 192.168.1.101 --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.101 -d $LAN --dport 22 -j ACCEPT

#Libera portas (Porta 80)
iptables -A INPUT -p tcp -s $LAN -d 192.168.1.5 --dport 81 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.5 -d $LAN --dport 81 -j ACCEPT

#Libera portas (camera ip)
iptables -A INPUT -p tcp -s $LAN -d 192.168.1.5 --dport 81 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.1.5 -d $LAN --dport 81 -j ACCEPT

#Libera porta (SQUID)
#iptables -A INPUT -s $LAN -p tcp --dport 3128 -j ACCEPT

#Libera portas para acesso ao servidor sgsistemas ssh
iptables -A FORWARD -p tcp -d 192.168.1.101 --destination-port 22 -j ACCEPT

#Libera portas para acesso ao servidor sgsistemas ssh
iptables -A FORWARD -p tcp -d 192.168.1.107 --destination-port 37707 -j ACCEPT

#Libera IP (SGHOST) - NOTA FISCAL
#==========================================================================
iptables -I FORWARD -p tcp --dport 8081 -d 177.72.161.165 -j ACCEPT
iptables -I FORWARD -p tcp --dport 8081 -d 177.72.161.165 -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8081 -d 177.72.161.165 -j RETURN
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8081 -d 177.72.161.165 -j RETURN
###

#Sistema SGHost Nota Fiscal nao passando pelo squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 177.72.161.165 --dport 8081 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 177.72.161.165 --dport 8081 -j REDIRECT --to-port 3128
#--------------------------------------------------------------------------


#Permite pacotes transmitidos atraves da interface de loopback (localhost)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifaceInt -j ACCEPT
iptables -A INPUT -i $ifaceExt -j ACCEPT

#Compartilha a conexao disponivel na interface de internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento de rede ativo";

#Permitindo e filtrando conexao estabelecidas
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT

#Direciona trafego para squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Firewall ativado! ...................... [OK]";
}

stop(){
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Compartilha a conexao disponivel na interface de internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento de rede ativo";

#Permitindo e filtrando conexao estabelecidas
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT

#Proxy squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Firewall desativado! ................... [OK]";
}

case "$1" in
"start") start ;;
"stop") stop ;;
"reload") stop; start ;;
*)
echo "Use parametros start|stop|reload" ;;

esac


6. Re: Servidor Squid/IPtables

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 23/05/2014 - 11:50h

Bom dia.

Amigo eu sei que quando é a gente que bola a tecnologia na nossa cabeça fica tudo claro de entender, porém para os outros ficam tudo confuso, peço a gentileza de enumerar sua topologia, dar nomes a cada máquina para facilitar a resolução.

Grato




7. Re: Servidor Squid/IPtables

johnny borges
johnnyb

(usa Fedora)

Enviado em 23/05/2014 - 12:17h

beleza vamos as correções
se firewall ta com algumas redundâncias.
primeiramente vamos analisar as politicas padrões

# aqui controla a entra de dados externo pro servidor
iptables -P INPUT DROP

# aqui controla a transição da interna para externa
iptables -P FORWARD DROP

#aqui controla a saída de todo o trafico da rede
iptables -P OUTPUT ACCEPT

resumidamente voce nao prescisa bloquear nada pois sua politica ja e drop, ou seja o que nao tiver accept sera jogado fora automaticamente.

a regra abaixo poderia ser simplificada
iptables -A INPUT -p tcp --dport 22 -i $ifaceInt -j ACCEPT
para esta
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
assim aceitaremos conexão externa na porta 22

agora essa regra se for para redirecionar o trafego do ssh voce nao prescisa abrir a porta 22 com a regra acima

#Redireciona porta 2222 para 22
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.101:22




8. Re: Servidor Squid/IPtables

johnny borges
johnnyb

(usa Fedora)

Enviado em 23/05/2014 - 12:21h

ta faltando os parâmetros
-m state --state ESTABLISHED,RELATED
na INPUT no FORWARD no output nao prescisa pois a padrao e sair.

remonte seu firewall em cima desse
http://www.vivaolinux.com.br/script/Firewall-Drop

e lembrando da minha dica acima BLZ



9. Re: Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 23/05/2014 - 13:18h

souzacarlos escreveu:

Bom dia.

Amigo eu sei que quando é a gente que bola a tecnologia na nossa cabeça fica tudo claro de entender, porém para os outros ficam tudo confuso, peço a gentileza de enumerar sua topologia, dar nomes a cada máquina para facilitar a resolução.

Grato



ok.

servidor squid/iptables IP 192.168.1.1 - Porta SSH - 4325

Servidor SG Sistemas - Software do Mercado - Independente IP 192.168.1.101 - SSH na porta 22


quando um cliente tenta acessar INTERNAMENTE sem acesso a internet o sistema sg no ip 192.168.1.101 na porta 22 ele fica caindo
isso tudo na rede interna. sem acesso via internet. ok o acesso via internet é feito na porta 2222 que é redirecionado para a 2222


OBS: vou analisar meu firewall e remontar ele...


10. Re: Servidor Squid/IPtables

Buckminster
Buckminster

(usa Debian)

Enviado em 23/05/2014 - 13:24h

"servidor squid/iptables IP 192.168.1.1 - Porta SSH - 4325

Servidor SG Sistemas - Software do Mercado - Independente IP 192.168.1.101 - SSH na porta 22


quando um cliente tenta acessar INTERNAMENTE sem acesso a internet o sistema sg no ip 192.168.1.101 na porta 22 ele fica caindo
isso tudo na rede interna. sem acesso via internet. ok o acesso via internet é feito na porta 2222 que é redirecionado para a 2222"

Veja bem, segundo o que você disse tem 3 portas para o ssh (4325, 22 e 2222) e não vejo essa porta 4325 relacionada no Iptables.
Ou você se enganou?


11. Re: Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 23/05/2014 - 13:33h

mas essa porta 4325 ela é usado para acessar o ip 192.168.1.1 que é o servidor squid.


a 22 é para outro IP. ===> 192.168.1.101 que não é o squid. é um servidor linux com o sistema do mercado. que eu não tenho acesso...

e essa 2222 é para acesso externo ai direciono ela para 22. mas o problema não é esse
o problema é interno. dentro da própria rede o acesso na porta 22 fica caindo. e não é acesso ao squid. é acesso ao software do mercado


12. Re: Servidor Squid/IPtables

Rafael Fontoura
rfontoura

(usa Debian)

Enviado em 23/05/2014 - 13:34h

olha como é feito o acesso ao sg sistema.

http://sgps.sgsistemas.com.br/SGPSWeb/sghelp/sgs/images/Cfinanceiro/fechamentocaixaloja/fech_paramet...


via putty na porta 22 em um servidor próprio deles.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts