Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Ola pessoal,

    tenho um servidor dedicado de jogos a meses mas não ativei o firewall nele.
    Entao montei o script abaixo para o servidor mas ainda não testei, pois tenho medo de rodar e não conseguir mais acessar o server via SSH.
    Fui pegando na internet "pedaços" prontos e montando o meu de acordo com que preciso.
    Então peço uma pequena ajuda para verificar se esta tudo certo antes de colocar no server.

    Preciso liberar apenas SSH/HTTP/FTP/PING e as portas dos jogos, o resto deve ser bloqueado.
    E quando acessar via SSH o server, preciso ter acesso completo na internet.

    #!/bin/sh
    # endereco IP do seu servidor
    SERVER_IP=XXX.XXX.XXX.XXX

    # se voce tiver uma conexao com IP dedicado, pode adiciona-lo aqui.
    #ADMIN_IP=yyy.yyy.yyy.yyy

    # interface a ser configurado com o firewall
    $INTERFACE=eth0
    IPTABLES='/sbin/iptables'

    # Flush (limpa) (-F) todas as regras
    $IPTABLES -F INPUT
    $IPTABLES -F FORWARD
    $IPTABLES -F OUTPUT

    $IPTABLES -P INPUT DROP
    $IPTABLES -P FORWARD DROP
    $IPTABLES -P OUTPUT ACCEPT


    # Comunicacao interna ao firewall
    $IPTABLES -A INPUT -i $INTERFACE -m state –state ESTABLISHED,RELATED -j ACCEPT


    # Derruba todas as conexoes vindas da rede publica que tentam
    # se passar por enderecos internos
    $IPTABLES -A INPUT -i $INTERFACE -s $SERVER_IP/32 -j DROP
    $IPTABLES -A INPUT -i $INTERFACE -s 192.168.0.0/24 -j DROP
    $IPTABLES -A INPUT -i $INTERFACE -s 127.0.0.0/8 -j DROP


    # Aceita HTTP, HTTPS
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port http –syn -j ACCEPT
    #$IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port https –syn -j ACCEPT



    # SSH
    # Em mundo ideal voce possui um IP fixo em sua casa ou escritorio e deve liberar apenas
    # esse IP. Na pratica isso é muito raro, mas se for esse o seu caso, retire o comentario,
    # o simbolo de “#”, da linha abaixo. Nao se esqueca de colocar o endereco da sua conexao
    # nos parametros do comeco do script.
    #$IPTABLES -A INPUT -p tcp -s $ADMIN_IP/32 -d $SERVER_IP/32 –destination-port s sh –syn -j ACCEPT

    # LIBERA SSH PARA QUALQUER IP
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port ssh –syn -j ACCEPT


    # DNS
    #$IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 –destination-port domain -j ACCEPT
    #$IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port domain -j ACCEPT


    # For FTP server, restricted to specific local hosts (and see /etc/xinetd.conf):
    # $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port ftp-data –syn -j A CCEPT
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port ftp –syn -j ACCEPT

    # MySQL
    # ATENCAO, permite que usuarios externos “tentem” se conectar ao seu mysql
    # $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port mysql –syn -j ACCEPT


    # se voce quiser bloquear algum endereco especifico, coloque na linha abaixo
    # e retire o comentario
    #$IPTABLES -A INPUT -s xyz.xyz.xyz.xyz/32 -d 0/0 -p tcp –syn -j DROP


    # Protecao contra SynFloods
    $IPTABLES -A INPUT -p tcp --syn -m limit --limit 3/s -j ACCEPT


    # Protecao contra ping da morte
    $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


    # Protecao contra ping flood
    $IPTABLES -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT



    # JOGOS
    #

    # CS
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port 27023 –syn -j ACCEPT
    $IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 –destination-port 27023 –syn -j ACCEPT

    # CS
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port 27043 –syn -j ACCEPT
    $IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 –destination-port 27043 –syn -j ACCEPT

    # CS
    $IPTABLES -A INPUT -p tcp -s 0/0 -d 0/0 –destination-port 27053 –syn -j ACCEPT
    $IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 –destination-port 27053 –syn -j ACCEPT

    # ENEMY TERRITORY
    $IPTABLES -A INPUT -p udp -s 0/0 -d 0/0 –destination-port 27961 –syn -j ACCEPT

  2. cara..

    esse script aí tem alguns erros e pode ficar mais organizado, vou te dar um exemplo de um script para sua situação:

    Código :
    #!/bin/bash
     
    IPT=`which iptables`
     
    # Interface que receberá as requisições
    IF=eth0
     
    # IP atribuído a $IF
    IP_SERV=200.200.200.200
     
    # Limpando regras antigas
     
    $IPT -t nat -F
    $IPT -t filter -F
    $IPT -t mangle -F
    $IPT -t nat -X
    $IPT -t filter -X
    $IPT -t mangle -X
     
    # Definindo política padrão
     
    $IPT -P INPUT DROP
    $IPT -P FORWARD DROP
    $IPT -P OUTPUT ACCEPT
     
    # Portas TCP que terão acesso liberado
    TCP=22,80,21,27023,27043,27053,27961
     
    # Portas UDP que terão acesso liberado
    UDP=27043,27053,27961
     
    # Bloqueia pacotes com estado INVALID
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -m state --state INVALID -j DROP
     
    # Aceita conexões de pacotes com estado RELATED e ESTABLISHED
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -m state --state RELADES,ESTABLISHED -j ACCEPT
     
    # Aceita conexões das portas especificadas em TCP
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -p tcp -m multport --dports $TCP -j ACCEPT
     
    # Aceita conexões das portas especificadas em UDP
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -p tcp -m multport --dports $UDP -j ACCEPT
     
    # Protecao contra SynFloods
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -p tcp --syn -m limit --limit 3/s -j ACCEPT
     
    # Protecao contra ping da morte
    $IPT-t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    através deste script você pode modificá-lo para sua situação...
    Última edição por lucianogf; 30-01-2008 às 04:21.



  3. Valew amigo !
    Vou estar testando e te digo se ficou tudo OK !

    Att,

  4. cara..

    antes te testar, leia todo script, estude-o e principalmente, entenda todas as linhas.



  5. Citação Postado originalmente por lucianogf Ver Post
    cara..

    antes te testar, leia todo script, estude-o e principalmente, entenda todas as linhas.


    Eu já fiz isso e vi q era exatamente o q precisava ... mas como o mundo não é perfeito ... acabei vacilando .. meu server esta fora desde 14:20 e o pessoal ainda n resetou !! heuehueheu

    O q aconteceu foi o seguinte, eu deveria ter colocado as regras iniciais como ACCEPT .. e depois de tudo testado mudar para DROP ... mas não fiz ... entao quando mandei executar ele deu erro na linha
    $IPT -t filter -A INPUT -i $IF -s 0/0 -d $IP_SERV -m state --state RELADES,ESTABLISHED -j ACCEPT

    e bloqueou geral o server ... heuehueehuehu
    o erro foi na escrita "RELADES"
    Última edição por ESX; 30-01-2008 às 15:35.






Tópicos Similares

  1. Respostas: 1
    Último Post: 11-07-2016, 08:16
  2. regra iptables para envio e recebimento de e-mail
    Por Wal no fórum Servidores de Rede
    Respostas: 11
    Último Post: 04-09-2003, 07:10
  3. Regra iptables para ftp.
    Por AndrewAmorimdaSilva no fórum Servidores de Rede
    Respostas: 8
    Último Post: 07-08-2003, 14:52
  4. regras iptables
    Por nopp_lnx no fórum Servidores de Rede
    Respostas: 2
    Último Post: 09-05-2003, 10:54
  5. APÓS AS REGRAS IPTABLES
    Por NoiseMaster no fórum Servidores de Rede
    Respostas: 4
    Último Post: 19-11-2002, 16:25

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L