IPTables - Desvendando o mistério
O iptables é uma ferramenta muitas vezes não utilizada por administradores iniciantes, assim como eu, que temem as linhas de comando. Neste tutorial meu foco é explicar e desvendar todo o mistério dessas "linhas malucas", que desempenham um papel tão importante quando se trata de administração de servidores e desktops.
Introdução e história
Primeiramente quero dizer a quem está lendo meu tutorial que talvez sua abordagem não seja nem técnica, nem extremamente sofisticada, e muito menos complexa. Isso porque creio que a "mistificação" e "complexidade" de sistemas, servidores e serviços sejam os grandes culpados por muitas pessoas não gostarem/ligarem para as formas de uso de OS's unix-like. Em suma, não espere ler um tutorial extremamente complexo, e sim um tutorial feito por quem aprendeu errando, para que vai tentar aprender.
Bom, o iptables é um firewall (do inglês, parede de fogo), que tem como objetivo proibir e filtrar os tipos de acesso ao computador em que esteja instalado. Fazendo uma analogia, ele é que nem um segurança de boate: ele olha o documento da pessoa que chegou, e o compara com a lista, permitindo ou não a sua entrada. Ele pode ser usado de diversas formas, mas seu uso mais comum é na filtragem de pacotes que atravessam servidores que atuam como roteadores, já que esses são, em maioria, o primeiro "passo" para quem acessa sua rede externamente. Outras funções dele também incluem compartilhamento de internet, redirecionamento de portas, monitoramento (através de logs) e manutenção de sua rede, proteções específicas contra certos tipos de ataque... enfim, dá para fazer quase tudo com isso.
O iptables começou pelas mãos de Paul "Rusty" Russel, um australiano. Basicamente, Rusty não tinha muita ajuda no começo, então ele criou um scoreboard para ver se arranjava ajuda. Certo dia ele percebeu que havia um franco-canadense que sempre ajudava com bastante qualidade a arrumar bugs e contribuir com inovações. Esse cara, Marc Boucher, se uniu a Rusty, e criaram o core team. Na verdade, o iptables nasce quando Rusty e Marc gastaram umas noites durante uma viajem de Rusty em que esse desviou de São Francisco e foi para Montreal (BEM LONGE) para encontrar Marc, discutindo sobre a forma de resolver os problemas do antigo projeto ipnatclt e nasce, então, o iptables com os módulos filter, nat e mangle. =]
Quase na mesma forma que Marc, um tal de James Morris começou a chamar certa atenção da nossa dupla-dinâmica. Suas contribuições eram sempre muito boas e constantes. Em uma exposição de Linux em Sydney, no ano de 2000, os dois co-fundadores do core team conheceram pessoalmente esse homem e finalmente o chamaram para o time. Nos próximos tempos o core team passou a desenvolver a ferramenta para o kernel do Linux que estava por vir, a versão 2.4. O iptables estava sendo feito para entrar na terceira geração de firewalls! UHUL! Nessa época, também, começaram a receber contribuições de um jovem chamado Harald Welte que, como descrito no próprio site da netfilter, "realmente parecia entender o código nat!".
No primeiro workshop de desenvolvimento do netfilter, no longínquo Novembro de 2001, foi chamado para o grupo Jozsef Kadlecsik. Já no segundo workshop, Martin Josefsso foi o escolhido para integrar o time das estrelas. A essa altura do campeonato, os principais fundadores já não faziam AQUELA contribuição. Eles participavam, lógico, mas não era mais tão ativamente quanto antigamente. Dessa forma o triunvirato do século XXI, formado por Rusty, Marc e James, foi classificado como os "Emeritus members". Também nessa mesma época foi decidido que eles elegeriam alguém que bateria o martelo em relação as decisões do projeto (que exemplo de democracia, não?).
Nos anos seguintes novos membros fizeram parte do grupo: em 2004, Patrick McHardy, em 2005, Yasuyuki Kozakai, e mais recentemente, em 2007, Pablo Neira Ayuso. Atualmente, desde grandes empresas até os mais reles "curiosos de Linux" (assim que nem eu), devem muito a esse leve desvio feito por Rusty para encontrar Marc. E podem esperar, o iptables trará mais e mais inovações.
Bom, agora que sabemos um pouco do bando de malucos que fizeram essa 8a maravilha da humanidade, vamos passar ao próximo passo...
Bom, o iptables é um firewall (do inglês, parede de fogo), que tem como objetivo proibir e filtrar os tipos de acesso ao computador em que esteja instalado. Fazendo uma analogia, ele é que nem um segurança de boate: ele olha o documento da pessoa que chegou, e o compara com a lista, permitindo ou não a sua entrada. Ele pode ser usado de diversas formas, mas seu uso mais comum é na filtragem de pacotes que atravessam servidores que atuam como roteadores, já que esses são, em maioria, o primeiro "passo" para quem acessa sua rede externamente. Outras funções dele também incluem compartilhamento de internet, redirecionamento de portas, monitoramento (através de logs) e manutenção de sua rede, proteções específicas contra certos tipos de ataque... enfim, dá para fazer quase tudo com isso.
O iptables começou pelas mãos de Paul "Rusty" Russel, um australiano. Basicamente, Rusty não tinha muita ajuda no começo, então ele criou um scoreboard para ver se arranjava ajuda. Certo dia ele percebeu que havia um franco-canadense que sempre ajudava com bastante qualidade a arrumar bugs e contribuir com inovações. Esse cara, Marc Boucher, se uniu a Rusty, e criaram o core team. Na verdade, o iptables nasce quando Rusty e Marc gastaram umas noites durante uma viajem de Rusty em que esse desviou de São Francisco e foi para Montreal (BEM LONGE) para encontrar Marc, discutindo sobre a forma de resolver os problemas do antigo projeto ipnatclt e nasce, então, o iptables com os módulos filter, nat e mangle. =]
Quase na mesma forma que Marc, um tal de James Morris começou a chamar certa atenção da nossa dupla-dinâmica. Suas contribuições eram sempre muito boas e constantes. Em uma exposição de Linux em Sydney, no ano de 2000, os dois co-fundadores do core team conheceram pessoalmente esse homem e finalmente o chamaram para o time. Nos próximos tempos o core team passou a desenvolver a ferramenta para o kernel do Linux que estava por vir, a versão 2.4. O iptables estava sendo feito para entrar na terceira geração de firewalls! UHUL! Nessa época, também, começaram a receber contribuições de um jovem chamado Harald Welte que, como descrito no próprio site da netfilter, "realmente parecia entender o código nat!".
No primeiro workshop de desenvolvimento do netfilter, no longínquo Novembro de 2001, foi chamado para o grupo Jozsef Kadlecsik. Já no segundo workshop, Martin Josefsso foi o escolhido para integrar o time das estrelas. A essa altura do campeonato, os principais fundadores já não faziam AQUELA contribuição. Eles participavam, lógico, mas não era mais tão ativamente quanto antigamente. Dessa forma o triunvirato do século XXI, formado por Rusty, Marc e James, foi classificado como os "Emeritus members". Também nessa mesma época foi decidido que eles elegeriam alguém que bateria o martelo em relação as decisões do projeto (que exemplo de democracia, não?).
Nos anos seguintes novos membros fizeram parte do grupo: em 2004, Patrick McHardy, em 2005, Yasuyuki Kozakai, e mais recentemente, em 2007, Pablo Neira Ayuso. Atualmente, desde grandes empresas até os mais reles "curiosos de Linux" (assim que nem eu), devem muito a esse leve desvio feito por Rusty para encontrar Marc. E podem esperar, o iptables trará mais e mais inovações.
Bom, agora que sabemos um pouco do bando de malucos que fizeram essa 8a maravilha da humanidade, vamos passar ao próximo passo...
Gostaria de encontrar mais documentações utilizando uma linguagem tão simples como esta, de maneira que, até um leigo como eu consiga entender alguma coisa da maneira que eu entendi agora.