+ Responder ao Tópico



  1. #1

    Padrão QMail - sera' que tem algum "syn-flood" novo?

    Ola,

    Tenho netqmail 1.05 + vpopmail 5.4 + qmailscanner 2.01 + spamassassin 3.2.3-1 + clamav 0.91.2 em um Fedora 7 kernel 2.6.23.1-21.

    Tambem tenho uma regra ativa no iptables para SYN FLOOD:
    $CMDIPT -t filter -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

    Contudo, tem aparecido com frequencia no /var/log/messages:
    kernel: possible SYN flooding on port 25. Sending cookies.

    Existe ainda pre-configurado a flag do arquivo: /proc/sys/net/ipv4/tcp_syncookies=1

    Ao executar o comando: netstat -a|grep smtp|sort aparece mais de 2x o mesmo IP comunicando-se com meu servidor. Apos buscas na net, o pessoal diz que 2x deve ser o maximo.

    Sendo assim, imaginei que minha maquina esta sofrendo ataque SYN FLOOD na porta 25, pois o servidor de vez em quando "congela" e tem bastante coisa no netstat. Contudo, todos os lugares que pesquisei dizem que, se tiver a regra no firewall e no tcp_syncookies, entao o servidor esta "protegido". O que mais posso verificar?

  2. #2

    Padrão

    na verdade nem eh ataque.. seu backlog ta baixo para seu trafego..

  3. #3

    Padrão

    alem do backlog.. tente fazer um tunning no kernel (buffer tcp) etc etc !!

    tenho um smtp que entrega media de 230.000 mensagens por dia...

    so q eu uso o EXIM 4 !

  4. #4

    Padrão

    Ola amigo,

    Desculpa mas eu nao entendi o que voce quiz dizer com "o seu backlog esta baixo".

  5. #5

    Padrão

    edita seu /etc/sysctl.conf e coloca isso no final

    net.ipv4.tcp_syncookies = 1

    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    net.ipv4.tcp_keepalive_time = 1200

    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_sack = 1
    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_moderate_rcvbuf=0

    net.core.somaxconn = 65535
    net.ipv4.tcp_tw_reuse=1
    net.ipv4.tcp_tw_recycle=1
    net.ipv4.tcp_no_metrics_save = 1


    net.ipv4.tcp_max_syn_backlog = 2048
    net.core.netdev_max_backlog = 2048
    net.ipv4.ip_local_port_range = 8192 65535

    net.nf_conntrack_max = 131040
    net.netfilter.nf_conntrack_tcp_timeout_time_wait=60
    net.netfilter.nf_conntrack_tcp_timeout_established=86400
    net.ipv4.tcp_synack_retries=2
    net.ipv4.tcp_syn_retries=3


    net.ipv4.neigh.default.gc_thresh3 = 65535
    net.ipv4.neigh.default.gc_thresh2 = 32768
    net.ipv4.neigh.default.gc_thresh1 = 16384

    net.ipv4.neigh.default.gc_interval = 90
    net.ipv4.route.gc_elasticity = 8
    net.ipv4.route.gc_min_interval = 2
    net.ipv4.route.gc_interval = 30

    net.ipv4.tcp_mem = 3129344 3137536 3145728
    net.ipv4.tcp_rmem = 65536 1398080 2796160
    net.ipv4.tcp_wmem = 65536 1398080 2796160
    net.core.optmem_max = 163840
    net.core.rmem_default = 1048560
    net.core.rmem_max = 2097136
    net.core.wmem_default = 1048560
    net.core.wmem_max = 2097136

    net.ipv4.tcp_rfc1337 = 1

    #deve ser sempre a ULTIMA linha
    net.ipv4.route.flush=1


    salva.. e executa sysctl -p


    veja se vai resolver.. isso ai altera varios padroes do kernel.. alguns do sistema. outros tcp.. rotas.. buffer.. etc etc..

  6. #6

    Padrão

    Fiz o que voce falou... ja ativou os parametros. Vamos ver se vai melhorar...
    Uma duvida: "net.netfilter.nf_conntrack_tcp_timeout_time_wait = 6 0"
    é com espaco entre o 6 e o 0 mesmo?
    Estes valores voce pegou de algum lugar especifico? Sao especificos para um servidor com grande carga de SMTP e outros servicos que usam o protocolo TCP?

  7. #7

    Padrão

    eh 60 !

    estes valores eu utilizo em meus SMTP´s e nos proxies... smtp tem trafego de 20 a 30 mbit .. os proxies trafegam media de 8 a 11 mbit