+ Responder ao Tópico



  1. Cara, pelo que eu entendi seu linux ta travando na inicializacao devido ao scrpit do firewall certo? Provavelmente por causa daquele loop... Você quer iniciar o Linux sem que ele rode os scripts e tente subir o iptables ne?!

    A melhor opcao e acessar o sistema no modo mono-usuario. Mas pra saber como fazer depende do seu boot loader...
    No lilo use o "linux = single" ou é "linux single" não lembro ao certo...

    Já o grub é mais chato...
    Seleciona o opção do seu linux e pressione a tecla 'e'. Isso habilita uma linha de comandos de inicialização. Pressione novamente a tecla 'e' para habilitar a escrita, então dê um espaço e em seguida acrescente o número 1 que deve ficar no final da linha e em seguida finalmente tecle ENTER e em seguida 'b' para poder iniciar o sistema...

    Uma terceira opção seria utilizar um live CD e montar o seu HD, e alterar o arquivo... Mas sinceramente, acho que utilizar o mono usuário é melhor...

    Qualquer coisa posta ai...

  2. Então camarada...
    A solução é bem facil.. hehehe move o script para outro lado! ou muda o nome dele...
    Ai quando o sistema for iniciar ele não vai encontrar ele e não vai carregar NENHUMA regra de iptables!
    Nem as que fazem o NAT!



  3. Segue abaixo o script do firewall, em vermelho é a parte que se eu habilitar o firewall trava na inicialização.

    # Os diversos módulos do iptables são chamdos através do modprobe
    modprobe ip_tables
    modprobe iptable_nat
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
    modprobe ipt_LOG
    modprobe ipt_REJECT
    modprobe ipt_MASQUERADE
    modprobe ipt_state
    modprobe ipt_multiport
    modprobe iptable_mangle
    modprobe ipt_tos
    modprobe ipt_limit
    modprobe ipt_mark
    modprobe ipt_MARK
    echo "=================================================|"
    echo "|---- INICIANDO A CONFIGURAÇÃO DO FIREWALL ----- |"
    echo "| DO IPTABLES |"
    echo "=================================================|"
    echo ""

    echo "|================================================|"
    echo "| ------------ CONECTANDO AO VELOX --------------|"
    echo "|ON ...................................... [ OK ]|"
    echo "|================================================|"
    echo ""
    pppoe-start ##> /dev/null
    iptables -F
    iptables -F -t nat
    iptables -X -t nat
    iptables -F -t filter
    iptables -F -t filter
    iptables -X

    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP
    # ativar o redirecionamento no arquivo ip_forward
    echo "1" > /proc/sys/net/ipv4/ip_forward
    echo ""
    echo "|================================================|"
    echo "|---- HABILITANDO REDIRECIONAMENTO NO KERNEL ----|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo " "

    #habilitando o fluxo interno entre os processos
    iptables -I INPUT -i lo -j ACCEPT
    iptables -I OUTPUT -o lo -j ACCEPT

    echo "|================================================|"
    echo "|------- ATIVANDO FLUXO INTERNO DA REDE ---------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo " "

    #liberar as portas principais do servidor

    for i in `cat $PORTSLIB`; do
    iptables -A INPUT -p tcp --dport $i -j ACCEPT
    iptables -A FORWARD -p tcp --dport $i -j ACCEPT
    iptables -A OUTPUT -p tcp --sport $i -j ACCEPT
    done
    #iptables -I INPUT -m state --state ESTABLISHED -j ACCEPT
    #iptables -I INPUT -m state --state RELATED -j ACCEPT
    #iptables -I OUTPUT -p icmp -o $WAN -j ACCEPT
    #iptables -I INPUT -p icmp -j ACCEPT

    echo "|============================================================|"
    echo "|---ativando as portas abertas para estabelcer conexoes------|"
    echo "|---ativando a liberacao das portas principais do servidor---|"
    echo "|ON .....................................................[OK]|"
    echo " "

    ### LIberando SSH ###
    iptables -A INPUT -p tcp --dport 22 -i ppp0 -j ACCEPT
    iptables -A FORWARD -p tcp --dport 22 -i ppp0 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

    ### Liberando fluxo de conexoes ja estabelecidas ####
    echo " "
    echo "|================================================|"
    echo "|----- LIBERANDO FLUXO CONEXAO ESTABELECIDA -----|"
    echo "|ON . . . . . . . . . . . . . . . . . . . [ OK ]|"
    echo "|================================================|"
    echo ""
    iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
    iptables -A INPUT -m state --state RELATED -j ACCEPT

    echo "|================================================|"
    echo "|-------- PORTAS ABERTAS CONEXAO EXTERNAS -------|"
    echo "|---------------- SSH PORTA 22 -----------------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"

    #Bloqueio ping da morte
    echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
    iptables -N PING-MORTE
    iptables -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE
    iptables -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A PING-MORTE -j DROP
    echo " "
    echo "|================================================|"
    echo "|------------ BLOQUEIO PING DA MORTE ------------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo " "

    #bloquear ataque do tipo SYN-FLOOD
    echo "0" > /proc/sys/net/ipv4/tcp_syncookies
    iptables -N syn-flood
    iptables -A INPUT -i ppp0 -p tcp --syn -j syn-flood
    iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A syn-flood -j DROP

    echo "|================================================|"
    echo "|------- BLOQUEANDO ATAQUE TIPO SYN-FLOOD -------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo " "

    #Bloqueio de ataque ssh de força bruta
    iptables -N SSH-BRUT-FORCE
    iptables -A INPUT -i ppp0 -p tcp --dport 2354 -j SSH-BRUT-FORCE
    iptables -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A SSH-BRUT-FORCE -j DROP
    echo "|================================================|"
    echo "|------ ATIVANDO BLOQUEIO SSH-BRUT-FORCE -------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo ""

    #Bloqueio de scanners ocultos (Shealt Scan)
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST, FIN,ACK,SYN, -m limit --limit 1/s -j ACCEPT
    echo "|================================================|"
    echo "|----------- BLOQUEANDO SCAN OCULTOS ------------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo ""

    ####Bloqueia Portscan ####

    iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    iptables -A INPUT -p tcp --tcp-option 64 -j DROP
    iptables -A INPUT -p tcp --tcp-option 128 -j DROP

    ### Bloqueio traceroute ###
    iptables -A INPUT -p udp -s 0/0 -i ppp0 --dport 33435:33525 -j DROP


    #### Bloqueio pacotes Suspeitos ou Danificados ###
    iptables -A INPUT -m unclean -j DROP


    echo "|================================================|"
    echo "|----- BLOQUEIA ALL NOVA CONEXÃO DE EXTERNA -----|"
    echo "|ON ...................................... [ OK ]|"
    echo "|================================================|"
    echo ""
    ### Dropa novas conexoes externas ####

    iptables -t filter -A INPUT -i ppp0 -m state --state new -j DROP


    #Amarrar ip ao mac
    echo "|================================================|"
    echo "|----------- ATIVANDO VINCULO IP/MAC ------------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    echo ""


    ### CADASTRO DE CLIENTES ###

    ### Maquina Jeferson ###
    iptables -t filter -A FORWARD -d 0/0 -s 172.16.100.2 -m mac --mac-source 00:15:e9:b4:6d:0a -j ACCEPT
    iptables -t filter -A FORWARD -d 172.16.100.2 -s 0/0 -j ACCEPT
    iptables -t filter -A INPUT -s 172.16.100.2 -d 0/0 -m mac --mac-source 00:15:e9:b4:6d:0a -j ACCEPT





    ### Ativando masquerade rede local ###
    echo "|================================================|"
    echo "|-------- ATIVANDO MASQUERADE REDE LOCAL --------|"
    echo "|ON . . . . . . . . . . . . . . . . . . . .[ OK ]|"
    echo "|================================================|"
    echo " "

    ### Ativando masquerade para rede local ####

    iptables -t nat -A POSTROUTING -s 172.16.100.0/24 -j MASQUERADE

    ### Iniciando o Squid ####

    echo "|================================================|"
    echo "|------------INICIANDO O SQUID WEBPROXY ---------|"
    echo "|ON .......................................[ OK ]|"
    echo "|================================================|"
    ### comando squid ###

    squid -D

    echo ""
    echo "|================================================|"
    echo "|------------ PROXY TRANSPARENTE --------------- |"
    echo "|ON . . . . . . . . . . . . . . . . . . . [ OK ]|"
    echo "|================================================|"
    echo " "

    ### Fechando para IP/MAC nao cadastrados ##

    echo "|================================================|"
    echo "|--------BLOQUEANDO MAC NAO CADASTRADOS ---------|"
    echo "|ON ...................................... [ OK ]|"
    echo "|================================================|"
    echo " "
    iptables -A INPUT -j DROP
    iptables -A FORWARD -j DROP
    iptables -A OUTPUT -j ACCEPT

    #proxy transparente

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #echo "Proxy Transparente ativado"
    #echo "ON .................................................[ OK ]"

    echo "|================================================|"
    echo "|-------------- FIREWALL ATIVADO --------------- |"
    echo "|================================================|"
    echo " "

  4. Nossa meu amigo!!
    Esse script de firewall é o mais bagunçado que eu ja li!
    Tinha um monte de regras repetidas!
    Eu tentei dar uma limpada basica nele...
    Mas precisa de mais trabalho ai...

    Basicamente neste script qualquer regra que você coloque para a chain output NÃO SERVER!
    Sua chain OUTPUT tem politica padrão para ACCEPT! Só se você colocar regras do tipo DROP!
    Aquele codigo que você comentou realmente não é necessario e estava sobrando ali!
    As partes em negrito estão ali porque eu não entendi o proposito delas ali...
    Espero que isso ajude um pouco você!
    E aquele monte de modprobe não precisa... os modulos necessarios sao carregados automaticamente!
    Aqui não tenho nenhum modprobe no meu script de firewall!

    Código :
     
    #pppoe-start ##> /dev/null o que é esse "##" ai hehehe
    pppoe-start &> /dev/null
     
    # limpando as regras
    iptables -F
    iptables -F -t nat
    iptables -X -t nat
    iptables -F -t filter
    iptables -F -t filter
    iptables -X
     
    # politica padrao
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP
     
    # redirecionamento
    echo "1" > /proc/sys/net/ipv4/ip_forward
     
    # habilitando comunicação localhost
    iptables -I INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # O que é isso?? Hehehe
    [B]for i in `cat $PORTSLIB`; do
    iptables -A INPUT -p tcp --dport $i -j ACCEPT
    iptables -A FORWARD -p tcp --dport $i -j ACCEPT
    iptables -A OUTPUT -p tcp --sport $i -j ACCEPT
    done[/B]
     
    # liberar ssh
    iptables -A INPUT -p tcp --dport 22 -i ppp0 -j ACCEPT
    [B]iptables -A FORWARD -p tcp --dport 22 -i ppp0 -j ACCEPT ? # Você tem algum servidor que precisa de ssh interno?[/B]
     
    # bloqueando QUALQUER PING
    echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
     
    # Isso aqui ta legal!
    iptables -N PING-MORTE
    iptables -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE
    iptables -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A PING-MORTE -j DROP
     
    #bloquear ataque do tipo SYN-FLOOD
    echo "0" > /proc/sys/net/ipv4/tcp_syncookies
    iptables -N syn-flood
    iptables -A INPUT -i ppp0 -p tcp --syn -j syn-flood
    iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A syn-flood -j DROP
     
    [B]#Bloqueio de ataque ssh de força bruta, porque la em cima voce coloca o ssh em 22 e aqui 2354? brutal force ssh nao tem porta!
    iptables -N SSH-BRUT-FORCE
    iptables -A INPUT -i ppp0 -p tcp --dport 2354 -j SSH-BRUT-FORCE
    iptables -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A SSH-BRUT-FORCE -j DROP[/B]
     
    #Bloqueio de scanners ocultos (Shealt Scan)
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST, FIN,ACK,SYN, -m limit --limit 1/s -j ACCEPT
     
    ####Bloqueia Portscan ####
    iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    iptables -A INPUT -p tcp --tcp-option 64 -j DROP
    iptables -A INPUT -p tcp --tcp-option 128 -j DROP
     
    ### Bloqueio traceroute ###
    iptables -A INPUT -p udp -s 0/0 -i ppp0 --dport 33435:33525 -j DROP
     
    #### Bloqueio pacotes Suspeitos ou Danificados ###
    iptables -A INPUT -m unclean -j DROP
     
    ### CADASTRO DE CLIENTES ###
     
    iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    ### Maquina Jeferson ###
    iptables -t filter -A FORWARD -d 0/0 -s 172.16.100.2 -m mac --mac-source 00:15:e9:b4:6d:0a -j ACCEPT
    iptables -t filter -A INPUT -s 172.16.100.2 -d 0/0 -m mac --mac-source 00:15:e9:b4:6d:0a -j ACCEPT
     
    [B]# masquerade para qual interface?? TODAS??
    iptables -t nat -A POSTROUTING -s 172.16.100.0/24 -j MASQUERADE[/B]
     
    ### Iniciando o Squid ####
     
    squid -D
     
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    Última edição por zenun; 04-08-2008 às 12:21.



  5. Blz amigo, irei fazer as modificações e irei postar o resultado. Quanto ao ssh, foi colocado pelo fato de acessar o server via ssh(não sei se tem necessidade).






Tópicos Similares

  1. Problema com internet via rádio
    Por rocha33 no fórum Redes
    Respostas: 8
    Último Post: 11-02-2015, 10:45
  2. Problema com internet via postes - ajuda!
    Por WirenetConect no fórum Servidores de Rede
    Respostas: 14
    Último Post: 20-09-2012, 09:53
  3. Problemas com internet via Wireless - Ubuntu 9.04 !
    Por berrego no fórum Sistemas Operacionais
    Respostas: 10
    Último Post: 20-08-2009, 14:01
  4. Problemas com Internet Explorer
    Por Jonatanmcc no fórum Redes
    Respostas: 1
    Último Post: 04-07-2008, 16:21
  5. Problemas com Internet Explore
    Por Jonatanmcc no fórum Servidores de Rede
    Respostas: 0
    Último Post: 03-07-2008, 15:36

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L