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



  1. #21

    Padrão

    Citação Postado originalmente por maverickv12 Ver Post
    Eu não o estava ofendendo Magnun, apenas estava expressando a minha opinião, assim como ele fez....xD
    Valeu cara, não precisava apagar tudo, só o final que tava meio provocativo e podia gerar uma discursão séria...

    Citação Postado originalmente por maverickv12 Ver Post
    Só uma pergunta besta aqui, como que faço para ver essas regras do iptables, eu fui no /etc/sysconfig/iptables, só que ele nao é um arquivo comum que eu possa edita-lo com o gedit ou mcedit.....como que eu faço???
    Não é um arquivo comum?! iii... Como te disse tenho pouca experiência com OpenSuSe... O que achei no google falava que era esses dois arquivos... o jeito é pesquisar...

  2. #22

    Padrão

    Cara, tava pesquisando... Essa pasta /etc/sysconfig/ só vai ter declaração de variáveis... Ainda não consegui descobrir onde ficam as regras... Mas pensei em uma solução. No Yast quando o firewall está "desabilitado" ele não está desabilitado de verdade só está sem regra nenhuma... Então faz o seguinte, desabilita esse firewall no yast e vamos criar um script de inicialização que configura o firewall quando você inicia o computador, pode ser?!

  3. #23

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Cara, tava pesquisando... Essa pasta /etc/sysconfig/ só vai ter declaração de variáveis... Ainda não consegui descobrir onde ficam as regras... Mas pensei em uma solução. No Yast quando o firewall está "desabilitado" ele não está desabilitado de verdade só está sem regra nenhuma... Então faz o seguinte, desabilita esse firewall no yast e vamos criar um script de inicialização que configura o firewall quando você inicia o computador, pode ser?!

    Cara, agradeceria muito se você podesse me ajudar a criar esse arquivo, vc não sabe como.
    Tipo, qual a primeira regra que tenho que colocar no arquivo???

    Fiz umas pesquisas tbm e parece que primeiramente tenho que criar um arquivo e colocar na primeira linha o seguinte comando:

    #!/bin/bash

    certo???

    e depois como faco para que todos os PC's na rede passe primeiramente pelo proxy autenticado e depois entre na net, e tbm que nenhum PC passe direto pro LINk ( Sinal de internet sem antes passar pelo proxy autenticado)???

    Grato!!!

  4. #24

    Padrão

    Isso, um script tem q começar com essas linhas e ser "executável". Pra isso precisamos dar a permisão de execução:
    Código :
    chmod 7777 <nome_do_arquivo>
    Essa linha dá a permissão de escrita, leitura e execução pra todos os usuários.

    Depois colocar esse script pra ser rodado na inicialização do Linux.
    Pra isso você precisa saber sobre os runlevel's do Linux. Ao todo são 6, cada runlevel é referente a um estágio de inicialização/desligamento do Linux.

    Runlevel 1 - monousuário, inicilializa o sistema sem opções de segurança, no modo monousuário sem rede;
    Runlevel 2 - multiusuário, inicializa o sistema com todas as opções de multiusuários e segurança;
    Runlevel 3 - multiusuário com rede, o mesmo do runlevel 2, mas com opções de rede ativas, o runlevel mais comum;
    Runlevel 4 - não utilizado;
    Runlevel 5 - multiusuário em modo gráfico, igual ao runlevel 3, mas inicia o servidor X automaticamente;
    Runlevel 6 - reboot, reinicializa o sistema.
    Runlevel 0 - conhecido como halt, é o runlevel que desliga o sistema;

    Dentro da pasta /etc temos as pastas rc's: rc0, rc1, rc2, rc3...
    Dentro de cada pasta existem scripts que inicalizam os processos de cada runlevel. Os scipts seguem um padrão, eles começam com a letra S ou K. S é de start e K de kill, geralmente os scripts com K só são encontrados nas pastas rc0.d, rc1.d e rc5. Depois tem um número de 2 dígitos. Esse número define a ordem em que os script são executados dentro desse runlevel. depois um nome que identifica o script.

    Pra criar o script do firewall pode ser utilizado o runlevel 2. Se você quiser pode copiar um script já existente dentro do runlevel 2 com o comando cp. Confirma as permissões de execução e limpa o script todo deixando só o #!/bin/bash e põe as novas regras.

    Vamos começar devaga já que você não ta acostumado com Linux e eu não to acostumado com o OpenSuSe!!! Cria esse script e põe uma regra qualquer, por exemplo:
    Código :
    iptables -A INPUT -s 10.20.30.40 -j ACCEPT
    Essa regra não é pra nada, é só pra ver se o script ta funcionando. Quando o linux tiver terminado de iniciar você abre um terminal e lista as regras com o comando iptables -nL e verifica se essa regra está lá. Se estiver o script ta ok, falta só as regras...

    Até a próxima...
    Última edição por Magnun; 01-07-2008 às 00:39. Razão: Corrigir rc2

  5. #25

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Isso, um script tem q começar com essas linhas e ser "executável". Pra isso precisamos dar a permisão de execução:
    Código :
    chmod 7777 <nome_do_arquivo>
    Essa linha dá a permissão de escrita, leitura e execução pra todos os usuários.

    Depois colocar esse script pra ser rodado na inicialização do Linux.
    Pra isso você precisa saber sobre os runlevel's do Linux. Ao todo são 6, cada runlevel é referente a um estágio de inicialização/desligamento do Linux.

    Runlevel 1 - monousuário, inicilializa o sistema sem opções de segurança, no modo monousuário sem rede;
    Runlevel 2 - multiusuário, inicializa o sistema com todas as opções de multiusuários e segurança;
    Runlevel 3 - multiusuário com rede, o mesmo do runlevel 2, mas com opções de rede ativas, o runlevel mais comum;
    Runlevel 4 - não utilizado;
    Runlevel 5 - multiusuário em modo gráfico, igual ao runlevel 3, mas inicia o servidor X automaticamente;
    Runlevel 6 - reboot, reinicializa o sistema.
    Runlevel 0 - conhecido como halt, é o runlevel que desliga o sistema;

    Dentro da pasta /etc temos as pastas rc's: rc0, rc1, rc2, rc3...
    Dentro de cada pasta existem scripts que inicalizam os processos de cada runlevel. Os scipts seguem um padrão, eles começam com a letra S ou K. S é de start e K de kill, geralmente os scripts com K só são encontrados nas pastas rc0.d, rc1.d e rc5. Depois tem um número de 2 dígitos. Esse número define a ordem em que os script são executados dentro desse runlevel. depois um nome que identifica o script.

    Pra criar o script do firewall pode ser utilizado o runlevel 2. Se você quiser pode copiar um script já existente dentro do runlevel 2 com o comando cp. Confirma as permissões de execução e limpa o script todo deixando só o #!/bin/bash e põe as novas regras.

    Vamos começar devaga já que você não ta acostumado com Linux e eu não to acostumado com o OpenSuSe!!! Cria esse script e põe uma regra qualquer, por exemplo:
    Código :
    iptables -A INPUT -s 10.20.30.40 -j ACCEPT
    Essa regra não é pra nada, é só pra ver se o script ta funcionando. Quando o linux tiver terminado de iniciar você abre um terminal e lista as regras com o comando iptables -nL e verifica se essa regra está lá. Se estiver o script ta ok, falta só as regras...

    Até a próxima...
    Obrigado Magnun pelo post.

    Te falar, não encontrei essas pastas rc's dentro do /etc, mas encontrei umas delas dentro de /etc/rc.d/ >>> lá tinha as rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d rc6.d ai coloquei o o script dentro de rc2.d com esse comando que você me falou, dentro dela tinha varios scripts comecando com S e K entao acho que deve ser lá mesmo.

    Porem não apareceu essa regra no iptables -nL não, será que fiz algo errado????

    Muito Obrigado pela ajuda que esta me dando.


    UPDATE


    Com o firewall habilitado e desabilitado não estava dando, mas acho que descobri o que era. Parece que o Script não estava sendo executado. Fiz o ./ScriptIptables ( ScriptIptables = nome dado ao script ) e ele rodou, parece que ele não esta rodando automaticamente.

    E agora apareceu a regra no iptables -nL, e agora o que fazemos adiante????

    Grato
    Última edição por maverickv12; 01-07-2008 às 16:10.

  6. #26

    Padrão

    Legal, no OpenSuse fica em um arquivo diferente...
    Acho que não expliquei direito... o script tem que seguir o padrão dos outros: começar com S, ter um número de dois dígitos e um nome. Por exemplo, ontem criei um script pra testar o nível de execução. Criei dentro de rc2.d o script S20firewall.

    Não se esqueça de setar as permissões do script.
    chmod 777 S20firewall

    Até mais...

  7. #27

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Legal, no OpenSuse fica em um arquivo diferente...
    Acho que não expliquei direito... o script tem que seguir o padrão dos outros: começar com S, ter um número de dois dígitos e um nome. Por exemplo, ontem criei um script pra testar o nível de execução. Criei dentro de rc2.d o script S20firewall.

    Não se esqueça de setar as permissões do script.
    chmod 777 S20firewall

    Até mais...

    Hum...ok...parece que as coisas agora estão andando, vou coloca-lo com o nome começado com S10iptables.

    Porem quais serão as regras que tenho que colocar, pra começar pelo menos a usar o servidor com a autenticação e iptables bloqueando tudo e liberando apenas o acesso ao proxy???

    Agradeço desde já!!!

  8. #28

    Padrão

    Cara, vamos primeiro ver se esse script funciona... depois agente põe as regras...

  9. #29

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Cara, vamos primeiro ver se esse script funciona... depois agente põe as regras...

    Blz, como faço pra ver se ele está funcionando, basta apenas digitar o comando iptables -nL ????

    Se for jah tah feito e ta aparecendo lá essa regra.

    Grato...

  10. #30

    Padrão

    Isso depois de reiniciar o OpenSuse??

  11. #31

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Isso depois de reiniciar o OpenSuse??
    É, realmente ao reiniciar a maquina não entrou as regras, porem executando o script ( ./S20Iptables ) aparece a regra.

    Obs: Eu não estou usando o Firewall do proprio Opensuse o firewall2 estou apenas colocando esse script...certo???


    Como faço pra aparecer a regra com o boot???

    Grato!!!

    UPDATE


    Notei que todos os scripts estão como link apenas esse script que coloquei que não está, será que tem alguma coisa a ver???

    Grato
    Última edição por maverickv12; 01-07-2008 às 17:36.

  12. #32

    Padrão

    A questão do script ser um link não tem muito a ver. É porque normalmente agente coloca o script em /etc/init.d/ e linka ele pra um rc.

    Cara, você verificou as permissões do arquivo?? faz o seguinte, você colocou ele como S10firewall ne? Põe como S20firewall, às vezes pode ser que no 10 o serviço de rede ainda não está up.

    To quase baixando um ISO desse OpenSuse pra fazer uns testes...

    Fico no aguardo...

  13. #33

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    A questão do script ser um link não tem muito a ver. É porque normalmente agente coloca o script em /etc/init.d/ e linka ele pra um rc.

    Cara, você verificou as permissões do arquivo?? faz o seguinte, você colocou ele como S10firewall ne? Põe como S20firewall, às vezes pode ser que no 10 o serviço de rede ainda não está up.

    To quase baixando um ISO desse OpenSuse pra fazer uns testes...

    Fico no aguardo...
    Certo. Troquei e vou fazer os testes aqui e posto as resposta amanha...

    Grato!!!

    UPDATE


    Oi Magnun, coloquei e testei e continua não inicializando junto com o sistema, vou pesquisar aqui o que pode ser.

    Se tiver alguma ideia estou a disposição....rsrrs

    Grato!!!
    Última edição por maverickv12; 02-07-2008 às 08:33.

  14. #34

    Padrão

    Oi Magnun, editei o arquivo, troquei de nome, troquei de lugar e ate mesmo editei o rc.local em varios lugares, mas mesmo assim não está executando junto com o opensuse, apenas quando inicio ele com o comando ./"script"

    Será que vc tem ideia de como que posso fazer para ele entrar junto com o sistema???

    Obs: o Firewall do proprio suse o firewall2 esta desativado, tem que ficar assim né???

    Grato!!!

  15. #35

    Padrão

    Sim, o firewall fica "desabilitado". Na verdade esse desabilitado só não sobre as regras defaults do OpenSuse.

    Cara, faz o seguinte teste. Move esse script pra /etc/init.d/ e renomeia ele. Deixa ele com o nome "firewall". Confirma as permissões de execução. Depois dentro da pasta /etc/init.d executa o seguinte comando:

    Código :
    update-rc.d firewall defaults

    Esse comando vai adicionar o seu script automaticamente em todos os runlevels. Reinicia o linux e ve se a regra sobe...

    Cara, se assim não funcionar...

  16. #36

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Sim, o firewall fica "desabilitado". Na verdade esse desabilitado só não sobre as regras defaults do OpenSuse.

    Cara, faz o seguinte teste. Move esse script pra /etc/init.d/ e renomeia ele. Deixa ele com o nome "firewall". Confirma as permissões de execução. Depois dentro da pasta /etc/init.d executa o seguinte comando:

    Código :
    update-rc.d firewall defaults
    Esse comando vai adicionar o seu script automaticamente em todos os runlevels. Reinicia o linux e ve se a regra sobe...

    Cara, se assim não funcionar...
    (Smiles) Magnun, ate que enfim cara, conseguimos colocar ele pra rodar junto com o sistema, só que esse comando que você me passou não funciona no OpneSuse 10.3, tive que usar o

    chkconfig firewall on

    e pronto, o script firewall inicia junto com o sistema, agora sim podemos continuar com as regras né????

    O que devo fazer agora????

    Muito Obrigado pela ajuda que você está me dando!!!

  17. #37

    Padrão

    Aeee.... Não conheço esse comando, mas se ele for igual ao uptate-rc.d ele põe esse script pra ser rodado em todos os rcs. Provavelmente tem alguma diferença de serviços do rc entre Debian e OpenSuSe...

    Ok, fiz esse script ontem de noite bem rápido. Ele não é perfeito nem o mais seguro, mas já é alguma coisa! Como disse fiz ele correndo, podem haver algum erro... Mas qualquer coisa agente resolve...

    Código :
    #!/bin/bash 
    eth_ext=
    eth_int=
    rede_interna=
    #################################
    ######### Inicialização #########
    #################################
     
    # limpando as tabelas
    iptables -F 
    iptables -t nat -F 
    iptables -t mangle -F 
     
    # Ativando o roteamento 
    echo 1 > /proc/sys/net/ipv4/ip_forward 
     
    #################################
    #########  Proteções ############
    #################################
     
    # Protege contra os "Ping of Death" 
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
     
    # Protege contra os ataques do tipo "Syn-flood, DoS, etc" 
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT 
     
    # Protege contra port scanners
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
     
    # Mascarando a rede 
    iptables -t nat -A POSTROUTING -s 10.83.96.0/24 -o eth0 -j MASQUERADE 
     
    # libera acesso interno da rede 
    iptables -A INPUT -p tcp --syn -i eth1 -j ACCEPT 
    iptables -A OUTPUT -p tcp --syn -i eth1 -j ACCEPT 
    iptables -A FORWARD -p tcp --syn -i eth1 -j ACCEPT 
     
    # Políticas Padrões
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP
     
     
    #################################
    #####  Regras de filtragem ######
    #################################
     
    #### Chain INPUT ####
    # Libera interface de loopback
    iptables -A INPUT  -i lo -j ACCEPT
     
    # Libera entrada de pacotes de conexões estabelecidas
    iptables -A INPUT -i $eth_ext -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # Libera entrada de pacotes de novas conexões
    iptables -A INPUT -i $eth_int -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
     
    # Todo tráfego vindo da rede interna também é aceito
    iptables -A INPUT -s $rede_interna -i $eth_int -j ACCEPT
     
    #### Chain OUTPUT ####
     
    #### Chain FORWARD ####
    #Libera forwarding da rede interna pra internet
    iptables -A FORWARD -s $rede_interna -i eth_int -o eth_ext -j ACCEPT
     
    #Libera forwarding da internet pra rede interna 
    iptables -A FORWARD -d $rede_interna -i eth_ext -o eth_int -j ACCEPT
     
     
    #################################
    ######## Regras de NAT ##########
    #################################
     
    #### Chain PREROUTING ####
     
     
    #### Chain POSTROUTING ####
    #Bloqueia acessos à web que não sejam atraves do Squid
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -p tcp --dport 80 -j DROP
     
    #Regra de NAT
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -j MASQUERADE
     
    #### Chain OUTPUT ####

    Só preenche as variáveis do início, por exemplo:
    eth_ext=eth1
    eth_int=eth0
    rede_interna=192.168.1.0/24

    Qualquer coisa posta ai...
    Se alguém tiver alguma crítica ou sugestão ao script posta também!

    Tenho que trabalhar... Fui...
    Última edição por Magnun; 02-07-2008 às 16:48.

  18. #38

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Aeee.... Não conheço esse comando, mas se ele for igual ao uptate-rc.d ele põe esse script pra ser rodado em todos os rcs. Provavelmente tem alguma diferença de serviços do rc entre Debian e OpenSuSe...

    Ok, fiz esse script ontem de noite bem rápido. Ele não é perfeito nem o mais seguro, mas já é alguma coisa! Como disse fiz ele correndo, podem haver algum erro... Mas qualquer coisa agente resolve...

    Código :
    #!/bin/bash 
    eth_ext=
    eth_int=
    rede_interna=
    #################################
    ######### Inicialização #########
    #################################
     
    # limpando as tabelas
    iptables -F 
    iptables -t nat -F 
    iptables -t mangle -F 
     
    # Ativando o roteamento 
    echo 1 > /proc/sys/net/ipv4/ip_forward 
     
    #################################
    #########  Proteções ############
    #################################
     
    # Protege contra os "Ping of Death" 
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
     
    # Protege contra os ataques do tipo "Syn-flood, DoS, etc" 
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT 
     
    # Protege contra port scanners
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
     
    # Mascarando a rede 
    iptables -t nat -A POSTROUTING -s [COLOR=Red]10.83.96.0/24[/COLOR] -o eth0 -j MASQUERADE 
     
    # libera acesso interno da rede 
    iptables -A INPUT -p tcp --syn -i eth1 -j ACCEPT 
    iptables -A OUTPUT -p tcp --syn -i eth1 -j ACCEPT 
    iptables -A FORWARD -p tcp --syn -i eth1 -j ACCEPT 
     
    # Políticas Padrões
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP
     
     
    #################################
    #####  Regras de filtragem ######
    #################################
     
    #### Chain INPUT ####
    # Libera interface de loopback
    iptables -A INPUT  -i lo -j ACCEPT
     
    # Libera entrada de pacotes de conexões estabelecidas
    iptables -A INPUT -i $eth_ext -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # Libera entrada de pacotes de novas conexões
    iptables -A INPUT -i $eth_int -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
     
    # Todo tráfego vindo da rede interna também é aceito
    iptables -A INPUT -s $rede_interna -i $eth_int -j ACCEPT
     
    #### Chain OUTPUT ####
     
    #### Chain FORWARD ####
    #Libera forwarding da rede interna pra internet
    iptables -A FORWARD -s $rede_interna -i eth_int -o eth_ext -j ACCEPT
     
    #Libera forwarding da internet pra rede interna 
    iptables -A FORWARD -d $rede_interna -i eth_ext -o eth_int -j ACCEPT
     
     
    #################################
    ######## Regras de NAT ##########
    #################################
     
    #### Chain PREROUTING ####
     
     
    #### Chain POSTROUTING ####
    #Bloqueia acessos à web que não sejam atraves do Squid
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -p tcp --dport 80 -j DROP
     
    #Regra de NAT
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -j MASQUERADE
     
    #### Chain OUTPUT ####
    Só preenche as variáveis do início, por exemplo:
    eth_ext=eth1
    eth_int=eth0
    rede_interna=192.168.1.0/24

    Qualquer coisa posta ai...
    Se alguém tiver alguma crítica ou sugestão ao script posta também!

    Tenho que trabalhar... Fui...
    Obrigadão magnun, coloquei esse script que você montou ai, agora estou com uma dúvida nessa linha que coloquei em vermelho ai no seu post, esse IP eh da rede interna????

    Se for já mudei pra minha rede, vou fazer uns testes aqui e posto o resultado!!!

    Grato!!!

  19. #39

    Padrão

    Opa... viagem minha...
    iptables -t nat -A POSTROUTING -s 10.83.96.0/24 -o eth0 -j MASQUERADE
    na verdade era pra ser
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth0 -j MASQUERADE

    Foi mal...pequei de um exemplo e esqueci de editar...
    Qualquer dúvida sobre os comandos posta ai! É EXTREMAMENTE importante que você entenda as regras...

    Uma ótima fonte de pesquisa: Guia Foca GNU/Linux - Firewall iptables

  20. #40

    Padrão

    Citação Postado originalmente por Magnun Ver Post
    Opa... viagem minha...
    iptables -t nat -A POSTROUTING -s 10.83.96.0/24 -o eth0 -j MASQUERADE
    na verdade era pra ser
    iptables -t nat -A POSTROUTING -s $rede_interna -o eth0 -j MASQUERADE

    Foi mal...pequei de um exemplo e esqueci de editar...
    Qualquer dúvida sobre os comandos posta ai! É EXTREMAMENTE importante que você entenda as regras...

    Uma ótima fonte de pesquisa: Guia Foca GNU/Linux - Firewall iptables

    Hum, certo vou editar aqui e colocar umas adaptações pra minha rede e já posto o que "deu"....Vlew galera do under...e obrighadão pela ajuda prestada Magnun.

    voltarei...rsrsrs

    Abraço