Servidor - dhcp + firewall + proxy

Iniciado por lucascatani, 20 de Abril de 2012, 16:15

tópico anterior - próximo tópico

lucascatani

#60
Para bloquear o msn no squid, como proceder?

lucascatani

Citação de: cpaynes online 06 de Maio de 2012, 00:04
CitarOutra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

zekkerj, mas limitar não seria furada? pois quem for a conexão numero 2, 11 ou 101 estará sendo dropada, mesmo que seja legitima!

Você está certo cpaynes. Com essa regra a conexão "cai" o tempo todo. Se essa regra vai beleza. Tem algo similar para protejer a máquina?

Um abraço!

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 05 de Maio de 2012, 18:31
Citação de: cpaynes online 05 de Maio de 2012, 13:34
Citar# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

esta linha esta no teu firewall, isso não protege contra synflood, com isso teu firewall poderá levar você a uma negação de serviço.
da uma olhada neste artigo sobre isto. Um excelente artigo do Elgio!
http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD/

Esse trecho é fácil de consertar, pq a regra está bem próxima do aceitável. Da forma como está, o firewall só vai aceitar um pacote tcp por segundo, independente da origem, e independente do tipo de pacote. Precisamos melhorar essa regra:
1. Essencial: Só limitar os pacotes de abertura de conexão ("TCP Syn").
2. Opcional: Aumentar a quantidade de novas conexões aceitas.
3. Opcional: Controlar os pedidos de conexão vindos da mesma origem.

Ao só limitar os pacotes de abertura de conexão, a gente não interfere nas conexões que já estão abertas. Isso é feito observando se o segmento TCP tem o flag "Syn" ligado. [opções "-p tcp --syn" na linha do iptables]

Outra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

Controlando as novas conexões vindas da mesma máquina, fica mais difícil um ataque de DoS --- apesar de não proteger contra um DDoS (se bem que contra um DDoS, só o provedor pode te ajudar). Nesse caso as regras são um pouco diferentes, pq vão envolver um outro módulo ("recent").

Essa iptables -A FORWARD -p tcp -m limit --limit 100/s -j ACCEPT

zekkerj

Vc esqueceu a parte onde eu disse: "Essencial: só limitar os pacotes de abertura de conexão" ;)

A regra deveria ser "-A FORWARD -p tcp --syn -m limit --limit 100/s -j ACCEPT". ;)
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 14 de Maio de 2012, 23:37
Vc esqueceu a parte onde eu disse: "Essencial: só limitar os pacotes de abertura de conexão" ;)

A regra deveria ser "-A FORWARD -p tcp --syn -m limit --limit 100/s -j ACCEPT". ;)

Na verdade usei a regra que vc postou acima, só que com INPUT  :-[

# Syn Flood via modulo limit
iptables -A INPUT -p tcp --syn -m limit --limit 100/s -j ACCEPT

lucascatani

A minha parte de proteção contra "ataques" está assim, recomenda mais alguma coisa?

################### Protegendo contra ataques ###############

# Syn Cookyes
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# ICMP Broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Mensagens falsas de icmp_error responses
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Anti-spoofings
iptables -A INPUT -j DROP -s 10.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 127.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 172.16.0.0/12 -i $INTERNET
iptables -A INPUT -j DROP -s 192.168.1.0/16 -i $INTERNET

# Syn Flood via modulo limit
iptables -A INPUT -p tcp --syn -m limit --limit 100/s -j ACCEPT

zekkerj

Vc pode extender as regras de anti-spoofing pra cadeia FORWARD, também.

Mas eu não recomendo desabilitar totalmente o ping. Mais cedo ou mais tarde vc pode precisar pingar seu servidor a partir da rede interna.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D