Regras Iptables para servidor Web

1. Regras Iptables para servidor Web

fg
eufer

(usa Gentoo)

Enviado em 16/09/2011 - 16:41h

Pessoal estou configurando um servidor web, e criei o seguinte script com regras iptables, gostaria de saber se vc's concordam com o que eu fiz, e se as regras estão corretamente dispostas, e se também alguém tem alguma outra regra que acha importante colocar.

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

#limpa as regras
iptables -F
iptables -X


#alteracoes basicas
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

# Abre para a interface de loopback:
iptables -A INPUT -p tcp -i lo -j ACCEPT


# Abre as portas referentes aos serviç usados:
# SSH:
iptables -A INPUT -p tcp --dport 4135 -j ACCEPT

#mysql
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT


#ftp
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

#portas passivas ftp
iptables -A INPUT -p tcp -m tcp --dport 49152:65534 --syn -j ACCEPT

# Garante que o firewall permitiráacotes de conexõjániciadas:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#protecao contra DDoS
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


#contra pacotes invalidos
iptables -A INPUT -m state --state INVALID -j DROP


# Bloqueia conexõnas demais portas:
iptables -A INPUT -p tcp --syn -j DROP


# Bloqueia as portas UDP de 0 a 1023 (com exceç das abertas acima):
iptables -A INPUT -p udp --dport 0:1023 -j DROP

#bloqueia forward
iptables -P FORWARD DROP

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


  


2. Re: Regras Iptables para servidor Web

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 16/09/2011 - 16:42h

Referente a primeira regra, a porta SSH não seria a 22? Vai usar outra, da pra fazer isso?


3. Eu alterei a porta

fg
eufer

(usa Gentoo)

Enviado em 16/09/2011 - 16:45h

Por medida de segurança eu sempre modifico a porta.


4. Re: Regras Iptables para servidor Web

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/09/2011 - 16:49h

É preferível vc fazer dessa forma:

#limpa as regras
iptables -F
iptables -X
iptables -Z

#alteracoes basicas
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

# Políticas Padrões
iptables -P FORWARD -j DROP
iptables -P INPUT -j DROP
iptables -P OUTPUT -j ACCEPT

# Abre para a interface de loopback:
iptables -A INPUT -p tcp -i lo -j ACCEPT


# Abre as portas referentes aos serviços usados:

# SSH:
iptables -A INPUT -p tcp --dport 4135 -j ACCEPT

#mysql
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

#ftp
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

#portas passivas ftp (se o servidor FTP estiver em modo passivo)
iptables -A INPUT -p tcp -m tcp --dport 49152:65534 --syn -j ACCEPT

# Garante que o firewall permitirá pacotes de conexões iniciadas:
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


#protecao contra DDoS (isso não evita ataque DDoS, apenas dificulta...)
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


#contra pacotes invalidos
iptables -A INPUT -m state --state INVALID -j DROP


Compare as modificações feitas e faça os testes, verificando cada serviço, se está funcionando d forma adequada.


5. Duvida

fg
eufer

(usa Gentoo)

Enviado em 16/09/2011 - 16:55h

Desculpe a minha ignorancia mas pra que serve o iptables -Z ?
E mais uma pergunta, não é aconselhavel utilizar as regras de permisaao primeiro, e por fim as de bloqueio?
Ou seja, as accepts primeiro e depois as drop ?


6. Re: Regras Iptables para servidor Web

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/09/2011 - 16:59h

alatui escreveu:

Desculpe a minha ignorancia mas pra que serve o iptables -Z ?
E mais uma pergunta, não é aconselhavel utilizar as regras de permisaao primeiro, e por fim as de bloqueio?
Ou seja, as accepts primeiro e depois as drop ?


O iptables -Z é apenas para zerar o contador d pacotes do iptables. É apenas d estatística (caso queira usar). Se quiser remover, não tem problema.
O lance d liberar pra depois bloquear até funciona, mas inserindo a política é a forma mais correta d vc estar aplicando as regras, pois vc tem certeza d q tudo está sendo bloqueado naquela cadeia (chain) - FORWARD, INPUT e OUTPUT. Se tudo começa bloqueado, basta liberar o q desejo. Não é mais fácil?


7. Obrigado

fg
eufer

(usa Gentoo)

Enviado em 16/09/2011 - 17:08h

Sim é verdade, obrigado. Vc tem alguma sugestão de alguma regra nova para assegurar ainda mais a segurança?


8. Re: Regras Iptables para servidor Web

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/09/2011 - 17:12h

Pra vc aumentar mais a segurança, vc pode evitar q qq pessoa acesse aos serviços q vc disponibilizou (inserindo apenas o IP público ou IP privado nas regras). Ex.:

iptables -A INPUT -s 192.168.0.5 -p tcp --dport 3306 -j ACCEPT

Outra coisa é modificando a política d OUTPUT para DROP. Dae vc pode controlar os pacotes q saem do seu servidor web (evitando q ele seja um zumbi, por exemplo).


9. Direcionar porta 33033 para um ip local

Erisvelton Gomes da Silva
erisveltongomes

(usa Ubuntu)

Enviado em 19/09/2011 - 17:53h

Você tem algum modo de direcionar a porta 33033 para o ip 192.168.0.50
ou libera-la para passar fora do squid?
Pois utilizo um palm que conecta nesta estação.


10. Não entendi

fg
eufer

(usa Gentoo)

Enviado em 19/09/2011 - 21:23h

Boa Noite,

Não entendi a sua pergunta, vc gostaria de liberar a porta 33033 somnte para o IP 192.168.0.50, ou pegar os pacotes que chegam pela porta 33033 do seu proxy e encaminha-las para o ip 192.168.0.50


11. Re: Regras Iptables para servidor Web

Erisvelton Gomes da Silva
erisveltongomes

(usa Ubuntu)

Enviado em 20/09/2011 - 12:31h

Bom dia.
Desculpe não expliquei corretamente eu tenho um squid rodando na porta 8585 e na minha rede tem um sistema de palm com o ip fixo 192.168.0.50, os palm não conecta no software com o squid rodando.
o software do palm utiliza a porta 33033 para conectar, gostaria de libera todo o trafego que chega pela porta 33033 para o ip 192.168.0.50.
o meu ip é empresarial fixo 187.53.17.103.
No mais obrigado


12. aplique esta regra

fg
eufer

(usa Gentoo)

Enviado em 20/09/2011 - 13:49h

Pelo que entendi, segue esta regra.
Ela libera oss pacotes provenientes do ip 192.168.0.50 com destino a porta 33033

iptables -A INPUT -s 192.168.0.50 -p tcp --dport 33033 -j ACCEPT



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts