Você está na página 1de 47

Faculdade Eniac Graduao Tecnolgica em Redes de Computadores Clio de Jesus Sousa Cleiton de Jesus Sousa

Segurana em Redes Linux Firewall Iptables

Guarulhos 2013

Segurana em Redes Linux Firewall Iptables

Trabalho

de

Concluso

de

Curso

apresentado Faculdade Eniac, como requisito parcial para a obteno do ttulo de Graduao Tecnolgica em Tecnologia Computadores. Orientador: Miranda. Prof. MSc. Jacques em Redes de

Guarulhos 2013

Dedicamos nosso Trabalho de Concluso de Curso a todos que estiveram conosco durante essa grande jornada de aprendizados e luta. Nossa famlia e amigos que nos apoiaram e incentivaram a prosseguir at o final mediante as dificuldades e mantendo sempre a persistncia e perseverana.

Agradecemos primeiramente a Deus por ter nos capacitado e nos dado fora em todas as horas, todos agradecemos os amigos a e

familiares que estiveram acompanhando acreditando em e ns

durante todo o curso.

Voc nunca saber quais resultados viro de suas aes, mas se no fizer nada, no existiro resultados."
(Fernanda Del R)

Sumrio

INTRODUO.................................................................................................1 1. DEFINIO DE SEGURANA.....................................................................3 2. SISTEMA OPERACIONAL ADOTADO.........................................................4 3. RAZO A QUAL UTILIZAR O FIREWALL DO LINUX..................................5 3.1 SEGURANA DO LINUX.................................................................5 4. RAZES PARA SE PREOCUPAR COM A SEGURANA...........................6 4.1 COMO O ATAQUE PODE SER FEITO............................................6 4.2 PRINCIPAIS TIPOS DE ATAQUE....................................................6 5. ENGENHARIA SOCIAL................................................................................8 6. CONCEITO E DEFINIO DE UM FIREWALL............................................10 7. FUNCIONAMENTO DE UM FIREWALL.......................................................11 8. FIREWALL IPTABLES.........................,........................................................12 9. FLUXO DO KERNEL VS NETFILTER..........................................................13 10. TABELAS DO IPTABLES...........................................................................14 11. NECESSIDADE DE UMA REDE SEGURA................................................15 12. COMANDOS BSICOS DE GERENCIAMENTO.......................................17 13. CRIANDO REGRAS BSICAS NO IPTABLES...........................................21 14. CONCLUSO..............................................................................................24 15. REFERNCIAS BIBLIOGRFICAS............................................................26 16. ANEXOS......................................................................................................27 17. REVISO BIBLIOGRFICA........................................................................31 18. APNDICE .................................................................................................33 19. TERMO DE COMPROMISSO ....................................................................41

Introduo Trata-se de um trabalho de concluso de curso sob a forma de monografia como requisito parcial para obteno de titulao em tecnlogo do curso Tecnologia em Redes de Computadores. O Tema escolhido para o desenvolvimento do Trabalho apresentado como forma de mostrar sobre a segurana de dados nos sistemas, e a segurana como um todo no mundo da informtica. Veremos tambm tipos de situaes que envolvem o dia a dia, precaues e solues. A segurana da informao uma disciplina relativamente nova em comparao com as outras reas de conhecimento humano, umas disciplinas a qual poucas pessoas se interessam em saber sobre ela e apenas se do conta da importncia quando precisam ou h necessidade de uma mudana drstica. Com o crescimento gradativo das redes de computadores e o grande volume de dados das empresas cada vez mais conectadas s redes Internet, o fator segurana imprescindvel tanto em pequenas como grandes corporaes. Hoje todas as empresas veem a necessidade de terem ao menos um Servidor e um computador (Cliente) dentro da empresa, seja para acesso ao sistema, para uma edio de texto, imagens, planilhas, e-mail, internet, etc. Nosso trabalho abordar a desde um pouco sobre a histria das redes de computadores, passando pela evoluo gradativa que teve durante todos estes ano at a segurana das redes, como implementar uma rede segura, trabalhando com uma ferramenta do sistema operacional Linux, introduzida no kernel do sistema, o iptables, evitando assim um problema maior no futuro. A evoluo da tecnologia periodicamente nos leva a grandes ideias e ao mesmo tempo a grandes dificuldades de mudar, proteger e acompanhar a sua evoluo e desenvolvimento. A Tecnologia tende a mudar a cada dia, hoje em dia ningum mais vive sem ela, empresas usurios, e todas as pessoas de todos os lugares.

Nesse trabalho tambm abordaremos assuntos como pequenas e grandes ameaas, e outros assuntos interessantes para quem gosta e esta envolvido no mundo da informtica. Nosso trabalho voltado a um pblico diferenciado e um pblico totalmente interativo com a tecnologia. Menos por seu um tema bastante robusto e com muita abrangncia, conseguimos focar diretamente nos principais e mais interessantes tpicos, e poder trazer ao leitor o que parece ser mais importante para a segurana da informao, e despertar a vontade de aprender cada vez mais. O principal tema abordado no trabalho o Sistema operacional Linux e sua segurana, um tema muito interessante e com muitas dicas de segurana. Vamos ver bastante sobre o Firewall, IPTABLES e suas barreiras de segurana, filtragem de pacotes e trfico de dados. Com base em livros, pesquisas, estudos e contedo visto e elaborado, desenvolvemos este trabalho como forma de aprendizagem e desenvoltura, desta forma apresentando em forma de trabalho de concluso grande parte do nosso aprendizado durante todo o perodo do curso.

1. DEFINIO DE SEGURANA Segundo o Livro Writing Information Security Policies de Scott Barman, publicado pela Editora New Riders nos Estados Unidos (sem traduo no Brasil) a politica de Segurana composta por um conjunto de regras e padres sobre o que deve ser feito para assegurar que as informaes e servios importantes para a empresa recebam a proteo conveniente, de modo a garantir a sua confidencialidade, integridade e disponibilidade.

A segurana da informao um conjunto de normas seguidas e utilizadas para manter sempre a segurana de coisas que so ativos de informao. Esta relacionada com a proteo de um conjunto de dados, no sentido de preservar o valor que possuem para um individuo ou uma organizao. Isto se aplica a todos os aspectos de proteo de informaes e dados, incluindo no apenas a segurana dos dados, mas tambm as dos sistemas em si. (FERREIRA, 2008, p.7).

A segurana da informao se refere proteo existente sobre as informaes de uma determinada empresa ou pessoa, isto , aplica se tanto as informaes corporativas quanto s pessoais, entende-se por informao todo e qualquer contedo que tenha valor para alguma organizao ou pessoa. Ela pode estar guardada para uso restrito ou exposta ao pblico para consulta ou aquisio.

(FERREIRA, Acesso em 08 jun.2013)

2. SISTEMA OPERACIONAL ADOTADO

O Software Livre j existe a muitos anos, muito tempo antes do que muitos imaginam. Nos anos 80 os programadores trocavam softwares entre si, podendo dividir entre si seus conhecimentos. Quando haviam modificaes ou algumas melhorias as mesmas eram compartilhadas umas com os outros e todos ficavam bem satisfeitos com isso. Com a modernizao e popularizao dos computadores muitas empresas comearam a no divulgar mais seus cdigos, ou seja elas apenas vendiam uma licena para o uso, isso com diversas restries e sem a

possibilidade do cliente fazer cpias, (com o tempo a hbito de fazer cpias levou o nome de piratria). Muitos Hackers sentiram-se prejudicados com essa mudana pois isso era contra seus principios de liberdade. GNU significa GNU is not Unix, ou seja GNU no Unix. O projeto obteve esse nove para mostrar ao publico que o novo sistema operaciona seria parecido com o Unix, mas apenas parecido. No continha nenhum cdigo fonte do mesmo, pelo motivo qual que Richard stallmam desenvolveu o aplicativo do zero. O termo Free significa Grtis e ao mesmo tempo Livre, mas na realidade o termo Free no pelo fato de preo mais sim pela liberdade de utilizar o Software.

Existem 4 liberdades bsicas no software que so: - A liberdade de executar um programa para qualquer propsito; - A liberdade de estudar um programas como ele funciona e adapt-lo para suas necessidades, acesso ao cdigo fonte um pr requisito liberdade; - A liberdade de redistribuir cpias de modo que possa ajudar o prximo; - A liberdade de aperfeioar o programa e liberar os seus aperfeioamentos de modo que todos se beneficiem;

(THE FREE SOFTWARE DEFINITION, Acesso em 08 jun.2013)

3. RAZO A QUAL UTILIZAR O FIREWALL DO LINUX

O Iptables um dos firewalls em software livres mais utilizados, e como ele j vem instalado por padro, na maioria das distribuies do Linux, e pelo fato dele ter bom desempenho, tima segurana, estabilidade, tima customizao e certa facilidade de configurao, claro, aps conhecer bem o seu funcionamento, sero por estes motivos que ser utilizado o Firewall do Linux, Iptables. 3.1 A SEGURANA DO LINUX Qualquer distribuio Linux, tem como o administrador do sistema o super usurio (root), com este usurio possvel fazer o que quiser no sistema, o nico usurio que irrestrito ao sistema. Para um melhor entendimento do usurio root, necessrio entender que todos os processos, arquivos ou diretrios tem um usurio proprietrio que no tem restries sob aquele arquivo, diretrio, etc. Porm todo esse poder por ser perigoso para algum que no saiba utilizar o sistema.
Segundo Silva (2008, p. 147), possvel que outras contas de acesso ao sistema sejam criadas com mesmo privilgio do usurio root; como se fosse outros administradores do sistema. Algumas organizaes adotam esta alternativa para nomear cada usurio ao invs de usar aplicativos como o SU ou SUDO. No entanto, o problema quando existem contas com este privilgio sem serem contas autorizadas, ou seja: contas clandestinas. A primeira ao de um invasor qualquer que tenha conseguido acesso privilegiado ao servidor providenciar a criao de dois usurios, um com privilgio de root, e outro no-root. Isso lhe garantir acesso futuro, a no ser que o administrador do sistema identifique e remova estas contas rapidamente. O meliante criar contas com nomes no sugestivos, como admin, PHP, OK, syst, NOP, e vrios outros nomes que poderiam ser confundidos com algo prprio do sistema operacional. Outra questo que deve ser constantemente avaliada a existncia de contas sem senha, que poderiam permitir algum tipo de acesso no autorizado. (SILVA, 2008, p. 147).

4. RAZES PARA SE PREOCUPAR COM A SEGURANA

Invasores de sistema, ou os chamados Crackers buscam sempre achar as vulnerabilidades de sistemas, redes, para poder atacar empresas, ou at mesmo usurios domsticos desprotegidos, ou que tenham sua rede mal configurada. A maior parte dos ataques tem como objetivo acesso a importantes informaes. Exemplo: Documentos importantes, fotos, e-mails, senhas de banco, cartes de crdito, etc.

4.1 COMO O ATAQUE PODE SER FEITO

O Invasor pode, por meio de uma rede mal configurada entrar em algum computador da rede e a partir dai, realizar o roubo de informaes, ou alterar configuraes na rede, como por exemplo, alterar informaes do site, ou intranet da empresa, documentos da rede, etc. Sempre buscando preservar o anonimato (deixando o computador invadido como se fosse o que efetuou o ataque na rede). 4.2 PRINCIPAIS TIPOS DE ATAQUES

Com a crescente ampliao da atividade dentro das organizaes, dificilmente ser encontrada uma empresa sujeita apenas a um tipo de risco. Cada risco envolver caractersticas especificas, sendo necessrio um conhecimento amplo do segmento analisado, com o objetivo de realizar uma melhor avaliao dos riscos.

A seguir sero definidos alguns conceitos relativos aos principais tipos de riscos: Risco estratgico e Empresarial (Negcio)

Geralmente

as

decises

estratgicas

influenciavam

toda

uma

organizao nos seus mais variados nveis (executivo, Gerencial, Operacional, Tcnicos etc.). Alm disso, as informaes estratgicas so responsveis por manter e aumentar a competitividade de uma organizao seja qual for o nicho de negcio em que esteja inserida. Por isso, o risco estratgico deve ter uma ateno toda especial. Risco Humano proveniente de aes de pessoas com intenes ou no de atingir a organizao. Por exemplo, um funcionrio interno de uma empresa poder causar danos, uma vez que podem possuir amplo conhecimento do funcionamento da organizao permitindo aes mais direcionadas. Outro exemplo seria o de danos causados por pessoas internas da organizao que cometem involuntariamente. Risco tecnolgico Em virtude de seu potencial ainda no totalmente explorado e com poucos diretores de TI com entendimento da sua real necessidade, tem sido uma porta de entrada para muitos Hackers que enxergam nas falhas dos sistemas uma porta de entrada para obter acesso no autorizado aos sistemas.
comum ouvir que a analise deste tipo de risco pode ser automatizada e realizada por qualquer analista. Ai est o maior perigo, pos uma analise mal feita, ou mesmo realizada superficialmente, poder comprometer um sistema com informaes valiosssimas, causando prejuzos enormes para a organizao. Recentemente as empresas tm alinhado estas anlises com o seu negcio, direcionando os esforos sobre os ativos realmente relevantes. (Alberto, 2006, p. 64).

5. ENGENHARIA SOCIAL

A Engenharia social um termo utilizado para a obteno de informaes importantes de uma mquina ou servidor, atravs de seus usuarios e colaboradores, na qual essas informaes podem ser obtidas pela ingenuidade ou confiana, e por via de telefone, Email e outros fins.

Segundo a (NBSO, 2003) a Engenharia social quando o atacante abusa da ingenuidade de um usurio para obter informaes importantes, muitas vezes para ter acesso a computadores no autorizados. Ferreira (2008 p.119), afirma que a Engenharia Social ocorre quando os alvos so as pessoas ingnuas ou aquelas que simplesmente desconhecem as melhores prticas de segurana. Pouca ou nenhuma segurana deixa as organizaes vulneraveis. Entretanto, em exagero atrapalha a conduo e o crescimento das atividades do negcio. No h como garantir a segurana da informao na organizao somente envestindo em equipamentos e recursos de tecnologia da informao, como, por exemplo Firewalls, sistmas de deteco de intrusos, antivirus etc.

Os tipos de ataques mais frequentes so no local de trabalho, por telefone e On line. Existem algumas formas de preveno para evitar de cair em alguma cilada da engenharia social, tais como:

- Implementar formalmente a Politica de Segurana da informao. Quando possivel, efetuar palestras para os colaboradores para conscientizar sobre seu uso. - Classificar as informaes de forma a esclarecer a cada colaborador sobre o que pode ser divulgado e o que no pode.

- Desconfiar de grandes promoes, preos baixos e das ofertas veiculadas na internet. - Desconfiar sempre que for surpreendido por um telefonema de algum que no conhea. Nunca divulgar nada e pedir um nmero de retorno para verificar se a ligao verdadeira. Engenheiros sociais que utilizam o telefone para obter informaes
8

possuem como objetivo ou passar se por algum funcionrio e colega de trabalho, ou algum tipo de autoridade externa, como um auditor por exemplo. Os primeiros alvos so secretrias, recepcionistas e seguranas, pois esses funcionrios esto sempre em contato direto ou indireto com pessoas que detm cargos de poder dentro da empresa, os verdadeiros alvos. Assim atravs de pessoas mais acessiveis e com cargos menores possivel obter informaes sobre aquelas mais bem posicionadas na hierarquia. (MARTINS, acesso em 09/06/13)

Por fim, a engenharia social o ato de conseguir informaes de uma forma inusitada, a autoconfiana, facilidade de comunicao, aptido profissional e grande capacidade de persuaso so caracteristicas de um engenheiro social. Muitas vitimas do ataque, afirmam no saber que passaram informaes que no deveriam devido ao talento da pessoa com quem conversou, e esse caso no to improvavel quanto pensamos.

6. CONCEITO E DEFINIO DE UM FIREWALL

Um Firewall pode ser definido como um sistema que controla os pacotes e conexes de rede que passam por ele;seja no sentido de entrada, seja no sentido de saida. Uma definio mais bsica diz que o Firewall objetiva proteger uma ou mais redes internas de outras redes. Existem vrios tipos de Firewalls, incluindo os packt filters, statefull inspection, aplication firewall e outros. Como o IPTABLES um dos Firewalls em software livre mais utilizado, e como ele j vem instalado por padro na maioria das distribuies Linux e pelo fato dele ser de bom desempenho e segurana, por ser de facil configurao ele ser utilizado para proteger o sistema operacional. (SILVA, 2008 p.201).

O Linux de uma forma geral relativamente imune a virus, worms e trojans, que so a principal causa de invases e dores de cabea em geral no windows. Isto no ocorre apenas porque o windows usado em mais maquinas e por isso um alvo maior, mas tambm por que o aplicativos disponiveis no Linux so pela mdia bem mais seguros. Veja o caso do Apache, por exemplo. Ele usado em quase 70% dos servidores web, contra os 11% do IIS. Mesmo assim, o nmero de falhas criticas de segurana e invases bem-sucedidas registradas contra servidores web rodando o IIS bem maior do que nos 7 vezes mais numerosos servidores Apache. Mesmo assim, brechas de segurana podem surgir onde menos se espera. Por exemplo, em 2004 foi descobertoum buffer overlow no servidor SSH, que poderia ser usado para desenvolver um exploit. Esta brecha no chegou a ser explorada, pois assim que a possivel vulnerabilidade foi descoberta, uma correo foi rapidamente disponibilizada e a noticia se espalhou pela web. Antes que algum tivesse tempo de escrever um exploit, a maior parte dos servidores do mundo j estavam seguros.
Imagine o Firewall como a muralha que cercava muitas cidades na idade mdia. Mesmo que as casas no sejam muito seguras, uma muralha forte em torno da cidade garante a segurana. Se ningum consegue passar pela muralha, no possivel chegar at as casas vulnerveis. Se por acaso as casas j so seguras, ento a muralha aumenta ainda mais a segurana.

(MORIMOTO, 2005, p.285)


10

7. FUNCIONAMENTO DE UM FIREWALL

A idia mais comum de um firewall como um dispositivo que fica entre o switch ou Hub em que esto ligados os micros da rede e a internet. Nesta posio usado um PC com duas placas de rede (eth0 e eth1, por exemplo), onde uma ligada internet e outra rede local. O Firewall aceita as conexes vindas dos micros da rede local e roteia os acessos a internet. De dentro da rede voc consegue acessar quase tudo, mas todas as tentativas de conexo vindas de fora so bloqueadas antes de chegarem aos clientes. Imagine um micro com o windows XP, onde o sistema acabou de ser instalado, sem nenhuma atualizao de segurana e com o Firewall inativo. Conectando este micro na internet diretamente, ser questo de segundos at que ele comece a ser infectado por Worms e se transforme num zumbi a atacar outras mquinas ligadas a ele. Mas, se houver um Firewall no caminho, os pacotes nocivos no chegam at ele, de forma que ele seja mantido relativamente seguro. Ele ainda pode ser infectado de forma indiretas, como ao acessar uma pgina que explore uma vulnerabilidade do IE, ou receber um E-mail infectado atravs do Outlook, mas no mais diretamente, simplesmente por estar conectado a internet. Substituindo o IE e o Outlook por programas mais seguros como o Firefox e o Thunderbird, est mquina pode manter-se a salvo por um bom tempo, mesmo sem as atualizaes. Opcionalmente, o servidor rodando o Firewall pode ser equipado com um servidor Squid configurado para remover arquivos executveis das pginas acessadas e um servidor Postfix, encarregado de bloquear mensagens infectadas, o que adiciona mais um nivel de proteo.
No Linux, o firewall incluido no proprio Kernel do sistema, na forma do IPtables, encontrado no Kernel 2.4 em diante. Embora seja sempre mais seguro ter um servidor dedicado, voc pode ter um nivel de segurana muito simplesmente habilitando o firewall localmente. Todos os pacotes provenientes da internet passam primeiro pelo IPtables antes de serem encaminhados para os aplicativos. Por isso um Firewall local, bem configurado, garante uma segurana muito proxima de um firewall dedicado. (MORIMOTO, 2005, p. 286) 11

8. FIREWALL IPTABLES O firewall do Linux trata-se de uma ferramenta de Front-End que permite gerenciar tabelas do Netfilter. O Netfilter uma verso mais robusta que suas verses anteriores, que so: IPFWADM e IPCHAINS implementados no kernel 2.0 e 2.2 respectivamente. As principais caractersticas do Firewall Iptables, a velocidade de leitura de pacotes, sua segurana, eficcia, economia tanto no aspecto financeiro quanto em hardware, o suporte a e desenvolvimento avanado em controle de QOS sobre trfego, suporte a SNAT, NAT, DNAT, redirecionamento de trfego, portas, mascaramento de conexes, deteco de fragmentos, controle e armazenamento de Logs (trafego da rede), TOS, bloqueio a ataques Spoofing, Synflood, DOS, scanners ocultos, pings da morte entre muitos outros. Ainda existe a possibilidade de utilizar mdulos externos na composio de regras ainda mais avanadas. Para a implementao de um servidor Firewall Iptables, no preciso muito gasto com hardware, com uma mquina com a seguinte configurao: Arquitetura 386 com aproximadamente 7 MB, rodando com um kernel acima da verso 2.4 j possvel implementar uma ferramenta de segurana em sua rede.
Composio do Iptables Iptables: Principal aplicativo do iptables para protocolos ipv4. Ip6tables: Principal aplicativo do iptables para protocolos ipv6. Iptables-save: Tem a funo de salvar todas as regras criadas, em memria RAM e direciona-las a um arquivo especificado. Iptables-restore: Tem a funo de restaurar todas as regras salvas pelo software iptables-save. possvel substituir o Iptables-save por qualquer outro arquivo, criando assim um script, com permisso de execuo, colocando-o para iniciar junto ao sistema dentro do diretrio /etc/rc.d/rc.local na ltima linha do arquivo. (NETO, 2004, p. 26.) 12

9. FLUXO KERNEL VS NETFILTER O Linux utiliza um recurso independente em termos de kernel para controlar e monitorar todo o tipo de fluxo de dados dentro de sua estrutura operacional. Essa funo trabalha ao lado de processos e tarefas to somente. Para que o kernel pudesse trabalhar ainda melhor o controle de trafego foi agregada uma ferramenta batizada de Netfilter. Esta ferramenta criada por Marc Boucher, James Morris, Harald Welte e Rusty Russel, um conjunto de situaes de fluxo de dados agregadas inicialmente ao Kernel do Linux e dividida em tabelas. O Netfilter pode ser comparado a um grande banco de dados contendo as trs tabelas que so: Filter, Nat e Mangle. Cada uma dessas tabelas tratam os pacote dentro de suas respectivas cadeias. O netfilter em si um conjunto de ganchos que ficam dentro do kernel do Linux, dando permisso para os mdulos do kernel registrar as funes de retorno de chamada com a pilha de rede. As vantagens do Netfilter so muitas e existem muitas coisas que podem ser feitas com ele, como por exemplo: - Construir firewalls de internet baseados em filtragem de pacotes - Fazer manipulao de pacotes e alterar o TOS/DSCP/ECN bits do cabealho IP. (AYUSO, acesso em 09/06/2013) O Netfilter / Iptables trabalha com 4 tabelas distintas, a FILTER / NAT / MANGLE / RAW. Existem tambm os Chains que so usadas para o controle de fluxo dos pacotes dentro das tabelas como entrada de FILTER, e sada de NAT, e entre eles existem 5 principais Chains que so: INPUT / OUTPUT / FORWARD / PREROUTING / POSTROUTING.

13

10. TABELAS DO IPTABLES

O Iptables trabalha com trs tabelas de inspeo filter, NAT, mangle, conforme segue, a tabela indicada pelo parmetro -t -table. A tabela padro a filter. Como funciona a tabela filter: a tabela padro. Quando nada for especificado no comando, a tabela filter utilizada. Refere-se s atividades normais de trafego de dados, sem a ocorrncia de NAT. Possui trs correntes INPUTS, OUTPUT E FORWARD. Funcionamento da tabela NAT: Utilizada quando a traduo de endereos. Exemplo: Passagem de dados de uma rede privada para a internet. Admite as correntes PREROUTING E POSTROUTING. Funcionamento da tabela mangle: utilizada para alteraes especiais em pacotes. Raramente utilizada. Admite as correntes PREROUTING e OUTPUT.

Funcionamento das cadeias da tabela filter

INPUT, a cadeia INPUT trata todos os pacotes que entram no servidor, isso quer dizer: Pacotes que tenham sido originados em qualquer outra mquina, em qualquer outra rede, e com destino final o prprio servidor onde o Firewall est instalado. OUTPUT, a cadeia OUTPUT o inverso do INPUT, trata todos os pacotes originados na mquina onde o Firewall est instalado e com destino a qualquer outra mquina. FORWARD, j esta cadeia, trata todos os pacotes que atravessam o Firewall, seja no sentido da rede externa para a interna, como da rede interna para a externa, nenhum destes pacotes foi originado ou destinado ao Firewall, eles simplesmente atravessam o Firewall. (SILVA, 2008, p. 35).

14

11. NECESSIDADE DE UMA REDE SEGURA

O conceito segurana significa no dicionrio Houaiss, "conjunto de processos, de dispositivos, de medidas de precauo que asseguram o sucesso de um empreendimento, do funcionamento preciso de um objeto, do cumprimento de algum plano etc..
No mundo informatizado, segurana significa, segundo a Norma ISO/IEC 17799 (cdigo de melhores prticas para implementao da segurana da informao) "a proteo da informao que, como qualquer outro ativo importante para ser adequadamente salvaguardada". (ALBERTO, 2006, p. 1.)

A segurana hoje no s um complemento, como tambm uma necessidade, se pensarmos bem, tudo hoje precisa de segurana, por exemplo, quando adquirimos um veiculo, seja automvel ou algo do tipo, necessidade de colocarmos no seguro, prevenindo de qualquer dano, roubo, etc. Contudo a segurana aplicada nunca ser 100% de segura, porm podemos minimizar as vulnerabilidades de bens, e recursos.

Vulnerabilidades Falha e/ou conjunto de falhas que podem ser exploradas por ameaas. Exemplos: Contas sem senha, ou senhas fracas; Falhas em programas (buffer overflow em servios DNS, FTP, SMTP, etc.); SQL Injection;

15

Principais Ataques Ataque Dos: O ataque de DoS, um tipo de ataque, que se utilizado de conexes mltiplas e simultneas ao servidor, gerando uma sobrecarga na rede de forma a tira-lo do ar, deixando-o indisponvel. Ataque DDoS: Este tipo de ataque muito parecido com o ataque de DoS, na verdade um ataque de DoS, porm com maior ampliao, onde o cracker utiliza vrios computadores escravos para efetuar ataques a uma determinada estao/mquina. Hoje com a facilidade da banda larga, e abaixo de valor nos computadores, a grande maioria dos usurios j tem seu computador pessoal, o que permite que os usurios, caso queiram, possam facilmente derrubar grandes servidores com este tipo de ataque. Neste trabalho ser ainda apresentada uma configurao de firewall que bloqueia o servidor Firewall deste tipo de ataque.

Consideraes importantes a serem adotadas: No existe sistema de segurana totalmente seguro e sem falhas; No existe sistema operacional totalmente seguro, e sem falhas; No existe ferramentas de segurana das quais um cracker ou hacker nunca conseguir detectar uma brecha para quebrar; No existe segurana plena, 100 por cento ou definitiva; (ALBERTO, 2006, p3.)

16

12. COMANDOS BSICOS DE GERENCIAMENTO

Neto, (2004, p. 33), afirma quea tabela filter a tabela padro do Iptables. Se for adicionado uma regra sem ser adicionado a flag t [tabela] a regra se aplicar a tabela filter. J no caso das tabelas NAT e Mangle quando for adicionar as regras preciso especificar adicionando a flag t.

COMANDOS

A sintaxe genrica usada pelo comando iptables : Iptables comando regras extenses

-A cadeia Anexa regras ao final de uma cadeia. Se um nome de host fornecido, como fonte ou como destino, uma regra adicionada para cada IP relacionado a este host. -D cadeia Apaga uma ou mais regras da cadeia especificada -D cadeia regra_num Apaga a regra residente na posio indicada por regra_num da cadeia especificada. A primeira regra na cadeia a de nmero 1. -R cadeia regra_num Substitu a regra regra_num da cadeia especificada pela regra dada -I cadeia regra_num Insere uma ou mais regras no comeo da cadeia. Se um nome de host fornecido, como fonte ou como destino, uma regra adicionada para cada IP relacionado a este host. -L [cadeia] Lista todas as regras em uma cadeia. Caso no haja nenhuma cadeia especificada, todas as regras em todas as cadeias so listadas. -F [cadeia] Remove todas as regras de uma cadeia. Se nenhuma cadeia for especificada, remove as regras de todas as cadeias existentes, inclusive as do usurio.
17

-Z [cadeia] Restaura os contadores de datagramas e de bytes em todas as regras das cadeias especificadas para zero, ou para todas as cadeias se nenhuma for especificada. -N cadeia Cria uma cadeia definida pelo usurio com o nome especificado. -X [cadeia] Apaga a cadeia definida pelo usurio ou todas se no for especificada uma. -C cadeia Verifica o datagrama descrito pela regra especificada contra a cadeia especificada. Este comando retorna uma mensagem descrevendo como a cadeia processou o datagrama. Isto muito til para testar a configuraco do firewall, e para uma anlise posterior. -P cadeia poltica Define a poltica padro para uma cadeia dentro de uma poltica especificada. As polticas vlidas: ACCEPT, DROP, QUEUE e RETURN. ACCEPT permite a passagem do datagrama. DROP descarta o datagrama. QUEUE passa o datagrama para rea do usurio para posterior processamento. RETURN fora o cdigo do firewall a retornar para a cadeia anterior e continua o processamento na regra seguinte que retornou.

Regras As seguintes regras podem ser usadas: -p Protocol Define o protocolo ao qual a regra se aplica. O parmetro protocol pode ser qualquer valor numrico do arquivo /etc/protocol ou uma das palavras chave: tcp,udp ou icmp -s addres[/mask] Define a origem do pacote ao qual a regra se aplica. O parmetro address pode ser um nome de host, um nome de rede ou um endereo IP com uma mscara de rede opcional. -d address[/mask] Define o destino do pacote ao qual a regra se aplica. O endereo e a porta so definidos usando-se as mesmas regras utilizadas para definir esses valores para a origem do pacote. -j alvo Define um alvo para o pacote caso ele se encaixe nesta regra.

18

Os alvos possveis so ACCEPT, DROP, QUEUE ou RETURN. possvel especificar uma cadeia do usurio. Tambm possvel especificar uma extenso. -i interface_name Define o nome da interface por onde o datagrama foi recebido. Um nome de interface parcial pode ser usado encerrando-o com um sinal de +; por exemplo, eth+ corresponderia a todas as interfaces Ethernet iniciadas com eth. -o interface_name Define o nome da interface por onde o datagrama ser transmitido. -f Indica que a regra somente se refere ao segundo fragmento e aos subseqentes de pacotes fragamentados. Observao: O smbolo ! usado na regras como uma negao da expresso. Exemplo: -s 192.168.0.10/32 equivale ao endereo de origem

192.168.0.10, -s !192.168.0.10/32 equivale a todos os endereos exceto o 192.168.0.10.

Opes que podem ser utilizadas

-v Sada em modo verbose. Mais rico em termos de detalhes sobre o que est acontecendo ou sendo feito. -n Sada em modo numrico e no por nome de host, rede ou porta. -x Exibe o valor exato do pacote e dos contadores de bytes em vez de arrendond-los para o milhar, milho ou bilho mais prximo. line-numbers Quando lista as regras, adiciona um nmero de linha ao comeo de cada regra, correspondendo posio da regra dentro da cadeia. Extenses que podem ser utilizadas Para fazer uso das extenses preciso especificar o seu nome usando o parmetro -m [argumento] para o que o iptables carregue este mdulo.
19

Extenso TCP: usada com -m tcp -p tcp sport [!] [port[:port]] Especifica a porta que a origem do datagrama usa. Portas podem ser especificadas com um conjunto especificando-se o seu limite superior e inferior separados por dois pontos (:). Por exemplo, 20:25 descreve todas as portas numeradas de 20 at 25 inclusive. Tambm possvel usar o caracter ! para inverter a expresso. dport [!] [port[:port]] Especifica a porta que o destino do datagrama usa. tcp-flags [!] mask comp Especifica que esta regra somente ser validada quando os flags do datagrama TCP coincidirem com o especificado em mask e comp. Mask uma lista separada por vrgulas dos flags que devem ser examinados quando for feito o teste. Comp uma lista separada por vrgulas dos flas que devem ser configurados. Os flags vlidos so: SYN, ACK, FIN, RST, URG, PSH, ALL ou NONE. syn Especifica que a regra deve encontrar somente datagramas com o bit SYN ligado e os bits ACK e FIN desligados. Datagramas com essas opes so usados para requisitar incio de conexo TCP. Extenso UDP: usada com -m udp -p udp sport[!][port[:port]] Este parmetro tem funcionamento idntico ao da extenso TCP. dport[!][port[:port]] Este parmetro tem funcionamento idntico ao da extenso TCP. Extenso ICMP: usada com -m icmp -p icmp icmp-type [!] typername Especifica o tipo de mensagem ICMP que a regra deve satisfazer. O tipo pode ser determinado por um nmero ou nome. Alguns nomes vlidos so: echo-request, echo-reply, source-quench, timeexceeded, destionation-unreachable, network-unreachable, host-unreanchable, protocol-unreachable e port-unreachable. (SILVA, 2008, p. 204)

20

13. CRIANDO REGRAS BSICAS NO IPTABLES

Morimoto (2002 P. 541) diz que, existem vrios programas grficos para configurao de Firewalls, como o GuarDog e Shorewall, para distribuies Debian, Red Hat, Mandrake, etc. Estes softwares trabalham em cima do Iptables, e servem para facilitar a configurao. O Iptables muito verstil, e pode ser usado para prticamente tudo relacionado a inspeo, encaminhamento e at alterao de pacotes. Caso ele no faa algo prontamente, possvel criar um mdulo que faa.

A partir deste ponto, seram criadas algumas regras bsicas a serem adicionadas no Host, visando resolver os problemas mais simples, trabalharei em cima de regras adicionadas diretamente no terminal, sem interface grfica. Para garantir que o Iptables est carregado preciso rodar o comando a seguir:

# Modprobe iptables

Para adicionar as regras dentro do Firewall Iptables simples, dentro do terminal, s preciso estar logado como super usurio (root) e digitar o comando utilizando a sintaxe correta:

Iptables

comando

regras

extenses

# iptables filter A INPUT s 0/0 p tcp syn j DROP

A regra acima vai ignorar qualquer conexo com destino a qualquer porta TCP, sem enviar qualquer confirmao de recebimento de pacote. Essa regra no bloqueia o acesso do usurio a internet, porm ele no ir aceitar qualquer conexo, em qualquer porta, agora somente conexes inicadas deste computadores so aceitas. Para aceitar conexes originadas de uma mesma rede (Local) a est mqiuna que esta sendo configurada, preciso criar uma regra que aceite
21

pacotes destinados a mquina. Na regra ser liberado a rede de classe C IP: 192.168.0.0/24.

# iptables filter A INPUT s 192.168.0.0/24 p tcp j ACCEPT # iptables filter A INPUT p tcp syn j DROP A regra est aceitando conexes originadas pela rede 192.168.0.0/24 e a segunda regra bloqueia, rejeita qualquer outra tentativa de conexo.
O Iptables processa os comandos em sequncia. Ento todos os pacotes passam pela primeira instruo antes de ir para a segunda. Quando um pacote vem de um dos endereos da rede local imediatamente aceito, os demais vo para as duas ltimas linhas e acabam recusados. uma simples questo de sim ou no. A primeira linha diz sim para os pacotes da rede local enquanto a segunda linha diz no para todos os demais. (MORIMOTO. 2002 p. 542).

Agora ser adicionada uma regra que vai permitir conexes externas com destino a porta 22 (SSH) somente, e deixando o restante das portas dropadas, mantendo as regras anteriores.

# iptables t filter A INPUT syn s 192.168.0.0/24 p tcp j ACCEPT # iptables t filter A INPUT p tcp dport 22 s 0/0 j ACCEPT # iptables t filter A INPUT p tcp syn j DROP # iptables t filter A INPUT p udp j DROP

A leitura das regras e resultado destas regras, ser uma aceitao de pacotes originados pela rede 192.168.0.0/24, aceitando conexo de qualquer origem na porta 22, dropando todo o restante de pacotes com protocolo tcp, e udp. A prxima regra vai aceitar pacotes de IMCP (ping) originados pela rede local.
22

# iptables t filter A INPUT s 192.168.0.0/24 p icmp j ACCEPT.

Morimoto (2002 P. 543) ensina em seu livro Entendendo e dominando o Linux, que para compartilhar a conexo com a internet, preciso primeiramente configurar as placas de rede da mquina, a mquina precisa ter duas placas de rede, onde uma ser conectada diretamente com o Modem ADSL, ou roteador da operadora de internet, e a outra placa precisa estar se comunicando com a rede interna que ter acesso a internet a partir do compartilhamento.

Para compartilhar a conexo internet ADSL instalada na placa eth0:

# modprobe iptable_nat # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # echo 1 > /proc/sys/net/ipv4/ip_forward

As trs linhas respectivamente ativam o mdulo NAT do iptables, responsvel pela traduo de endereos, avisam para o iptables que ele deve direcionar todas as conexes recebidas para a interface eth0 (a primeira placa de rede configurada) e devolver as respostas para os clientes, e confirmam a ativao no arquivo de configurao do TCP/IP.

23

14. CONCLUSO

Com todo o avano e crescimento na rea tecnolgica, houve a necessidade de se abordar nesse trabalho algumas das ferramentas de maior importncia na informtica, que se foi originada e criada, com viso de acabar com problemas e falhas na tecnologia. Esse trabalho teve como alvo mostra para os leitores um pouco sobre cada coisa na tecnologia, desde o incio das redes ao seu alge e seus avanos e suas falhas. Como foco esse trabalho teve a necessidade de falar mais

especificamente sobre a segurana em redes Linux, onde h muitas dvidas em cada usurio sobre a suposta to falada segurana no Sistema Operacional Linux. de fato conclusivo que de acordo com o estudo realizado e do trabalho concludo que o Firewall iptables, pode se comportar de maneira muito eficiente e estvel, porm mesmo com todos os recursos de segurana vinculados a essa ferramenta no de segura forma ser utilizado como nica forma de proteo contra intruses, pois no possivel obter um controle completo com apenas essa ferramenta agindo. O iptables por sua vez uma ferramenta poderosa porm h sua limitao, pois no possui como padro a propriedade de verificar o contedo de pacotes, verificar por completo se h cdigos maliciosos. O trabalho em si por sua vez representa um pouco da essncia da tecnologia e sua segurana, como foco a proteo a dados e segurana na rede. O trabalho como um todo teve como ensinamento durante o seu processo de concluso, um estudo que propiciou a reflexo de grandes fatores que devem ser considerados de fato na questo da segurana.

24

O Sistema operacional Linux hoje em dia considerado o Sistema mais seguro entre os seus concorrentes, porm nesse trabalho mostramos um pouco sobre suas falhas, ameaas e precauo. Conseguimos com o desenvolvimento de esse trabalho transmitir um pouco do nosso conhecimento e aprender mais, passar nossas ideias de segurana e ainda ter uma ampla viso com um foco diferenciado sobre o tema abordado. A tecnologia algo que com o piscar de olhos podemos ver que seu crescimento algo muito rpido, e que estamos vivendo em uma era na qual ningum pode viver sem, por mais que a pessoa tente viver sem algo hoje indispensvel, no tem como viver fora da tecnologia. E com isso a Segurana se faz cada vez mais necessria, e com isso foi elaborado esse trabalho com foco nessa situao.

25

15. REFERNCIAS BIBLIOGRFICAS Referncias Impressas: ALVES, Gustavo Alberto. Segurana da informao - Uma viso inovadora da gesto. Rio de janeiro, Editora Cincia Moderna LTDA, 2006.

FERREIRA, Fernando Nicolau. ARAUJO, Mrcio. Ltica de segurana da informao - guia prtico para elaborao e implementao, 2 edio revisada. Rio de janeiro. Editora Cincia moderna LTDA. 2008.

MORIMOTO, Carlos Eduardo. Redes e servidores Linux: Guia prtico. Porto Alegre: Sul Editores. 2005. MORIMOTO, Carlos Eduardo. Entendendo e dominando o Linux. 7 Edio. So Paulo, GDH Press. 2002. NETO, Urubatan. Dominado o Linux firewall Iptables. RJ, Editora Cincia Moderna LTDA, 2004. SILVA, Gilson. Segurana em sistemas Linux. Rio de janeiro. Editora moderna LTDA. 2008. Referncias Eletrnicas: APINFO, artigo. Definio de segurana. So Paulo. Disponvel em: <http://www.apinfo.com/artigo81.html/> Acesso em 08 jun.2013. A definio de Software livre. Disponvel em: <http://www.gnu.org/philosophy/freesw.html>e<http://www.fsf.org/licensing/essa ys/free-sw.html> Acesso em 08 jun.2013. Linux, under. Disponvel em: < https://under-linux.org/entry.php?b=9/> Acesso em 09 jun.2013 CANALTECH, artigo. Engenharia Social. Disponvel em: http://www.canaltech.com.br/o-que-e/seguranca/O-que-e-Engenharia-Social/ Acesso em 09 jun.2013. AYUSO, Filter. NETFILTER/IPTABLES. Disponvel em: http://www.netfilter.org/ Acesso em 09 jun.2013.

26

16. ANEXOS

ANEXO A: Estrutura das tabelas Filter, Mangle, e NAT Fonte: onlytutorials, 2008

ANEXO B: Fluxo da tabela Filter Fonte: Eriberto.pro


27

ANEXO C: Fluxo tabela NAT Fonte: Eriberto.pro

28

ANEXO D: Rede com Firewall Fonte: howtoforge

29

ANEXO E: Esquema da rede praticada na apndice

30

17. REVISO BIBLIOGRFICA

FERREIRA (2008, p.119, p. 7), em sua obra Politica da segurana da informao, referenciado nos captulos 1 e 5, que define a definio de segurana e engenharia social. Resolvemos referenciar esse escritor, pois, em seus livros conseguimos enxergar grandes coisas, na qual vimos que seria de extrema importncia tambm em nosso trabalho.

SILVA (2008, p.147, p. 201, 35) Segurana em sistemas Linux, referenciados nos captulos 3.1, 6, 10, fala um pouco sobre a segurana das contas do sistema operacional Linux, no capitulo 6, fala sobre a definio de um Firewall. J o capitulo 10, aborda o funcionamento das cadeias INPUT, OUTPUT e FORWARD da tabela filter. Referenciamos esse grande escritor e mestre nos tpicos listados, pois trabalho no poderia ficar sem algo desse grande mestre da informtica que aborda em seu livro com grande clareza o funcionamento das principais tabelas e suas cadeias.

ALVES (2006, p. 3) Segurana da informao : uma viso inovadora da gesto, referenciado no captulo 11, aborda um pouco sobre a governana de TI. Bom o autor do livro no qual pegamos grande parte do contedo dos tpicos mostra com bastante clareza como manter uma rede segura e se livrar de ataques, e tambm qual a necessidade de se manter a rede segura, por isso nos identificamos com o seu trabalho e referenciamos aqui, conseguimos absorver uma quantidade enorme de contedo com suas obras e no poderamos deixar de referencia-lo aqui.

31

MORIMOTTO (2005, p 285, 286, 541) Redes e servidores Linux (Guia prtico) e Entendendo e dominando o Linux, referenciado nos captulos 6, 7, 13, aborda o conceito de firewall que includo no kernel do sistema operacional Linux. O grande escritor, autor, profissional, criador de sites, brasileiro, e grande motivador do uso do de software livre, Carlos E. Morimotto, no poderia deixar de fazer parte do nosso trabalho assim como outros grandes profissionais e autores, porm o contedo referenciado desse autor foi muito importante para o desenvolvimento do projeto, e desde o inicio sabamos que iriamos utilizar grandes tpicos de suas grandes obras.

32

18. APNDICE ESTUDO PRTICO Este capitulo tem a proposta de criar algumas regra de segurana e liberao de alguns servios que seram restritos a rede local, bloqueando todo o restante, visando a implementao de uma rede segura, as regras criadas podem ser utilizadas em um script de firewall em qualquer emresa, claro alterando as configuraes de ip, interface etc. A seguir, ser mostrado alguns importantes conceitos para aplicao e que serviro como parmetro para um bom entendimento.

Caracteristicas Para simularmos uma rede corporativa, onde preciso um servidor firewall, e que contem alguns computadores em rede, foi considerada uma rede, hipottica, com os seguintes aspectos:

7 estaes de trabalho com 1 placa de rede ethernet; 1 servidor rodando os servis de (FTP, SSH, WEB); 1 SWITCH; 1 Computador com sistema operacional Linux Debian, verso do kernel 2.6, com duas interfaces de rede, uma para LAN, e outra para WAN, que ser o gateway da rede; E um link de internet ligado a interface eth0 do

computador/servidor com linux; Apartir deste esquema, ser apresentado as configuraes necessrias para se garantir uma rede segura, permitindo a conexo com a internet das estaes e permitindo o acessos somente aos servios aprentados acima. Na anexo contido na pgina 49 (Mapa da rede, Anexos) apresentado modelo de rede proposta.

33

Requisitos para o funcionamento A rede como consta no anexo 3, pgina 49, possui 8 terminais, sendo um servidor de servios e sete estaes de trabalho comuns. O servidor Firewall ser o gateway da rede, onde estar ligado diretamente no roteador ADSL, a interface de rede que ser interligada tem a nomenclatura Eth0, e a Eth1 ser a segunda interface de rede do servidor, que estar ligada no switch onde ser compartilhado o acesso a internet e os servios apresentados, com a rede Local. Configuraes e requisitos necessrios A rede precisa estar protegida contra os principais tipos de ataques; Deve-se liberar o procedimento de troca de endereo IP privado do firewall para o IP vlido, no momento em que ele se conecta com a internet; Tentivas de checagem de host utilizando ping dever ser limitado tanto para a rede interna como externa para que o servidor no venha a sobrecarregar; Permitir acesso a rede Local aos servios disponiveis na internet; No servidor com os servios de SSH E FTP configurados, preciso liberar o acesso as estaes locais; Gerar um registro das conexes no autorizadaas; Descartar todas as outras tentativas de conexes com destino ao Firewall. Soluo apresentada Nesta prxima fase, ser apresentada a soluo de firewall traduzidos para a linguagem entendida pelo compuador, utilizando o Iptables no Linux, S.O Debian 6. Todas as regras pertinentes aos parmetros e requisitos citados anteriormente, foram formuladas para que se garantisse a funcionalidade da rede considerada como modelo experimental. Por padro os mdulos do iptables nesta verso de Kernel utilizada 2.6 j vem ativas, mas mesmo assim por desencargo, irei ativalos. Ativando o principal mdulo do iptables: # modprobe iptables

34

Ativando os mdulos das tabelas filter e NAT: # modprobe iptables_filter # modprobe iptables_nat Ativando o mdulo reject: modprobe iptables_REJECT

Ativando o mdulo multport: # modprobe ipt_multport

Ativando o mdulo responsvel pelo mascaramento da conexo; # modprobe ipt_MASQUERADE

Ativando o mdulo gerador de LOG do iptables: # modprobe ipt_LOG

Os mdulos do iptables necessrios para configurao do firewall j esto ativos. Agora preciso preparar as chains para receber as regras de configurao.

10.5 Preparando as chains e tabelas Os prximos comandos so de grande importncia por que limpam as tabelas do iptables, visto que o mesmo possa ter alguma regra j adicionada anteriormente. Limpando as regras residuais das tabelas filter e nat: # iptables -t filter -F # iptables -t nat -F

35

O prximo comando zeram os contadores das tabelas: # iptables -t filter -Z # iptables -t nat -Z

Agora adotarei a politica de filtragem padro para as tabelas nat e filter.

# iptables -filter -P INPUT DROP # iptables -filter -P FORWARD DROP # iptables -filter -P OUTPUT DROP # iptables -nat -P POSTROUTING DROP # iptables -nat -P PREROUTING DROP # iptables -nat -PN OUTPUT DROP

A partir da aplicao destas regras o iptables j est preparado para ser utilizado. Feito isso j possvel iniciar a criao das regras de acordo com o esquema proposto anteriormente.

Construo das regras necessrias As regras a seguir correspondem s regras da tabela filter com as chains (cadeias), INPUT, FORWARD e OUTPUT. A regra a seguir aceita conexo loopback de entrada do firewall ele mesmo: # iptables -filter -A INPUT -i lo -j ACCEPT

A regra a seguir permite pacotes TCP e UDP com destino ao Firewall que j esto estabelecidos ou relacionado uma outra conexo, feito a partir dele anteriormente: # iptables -t filter -A INPUT -p tcp -m state --state
36

ESTABLISHED,RELATED -j ACCEPT # iptables -t filter -A INPUT -p udp -m state --state

ESTABLISHED,RELATED -j ACCEPT

A prxima regra limita a tolerncia de resposta do servidor a um pacote por segundo, esta regra protege o servidor contra ping da morte: # iptables -t filter -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT

A regra a seguir habilita a funo de roteamento de pacotes no kernel: # echo "1" > /proc/sys/net/ipv4/ip_forward Agora a prxima regra faz o repasse de pacote entre as interfaces eth0 (WAN) eth1 (LAN) j registrando os dados do trfego referente elas. As portas que sero liberadas so 443, 80 (HTTP, HTTPS) e 20, 21, 22 (FTP, SSH) que deveram estar disponiveis para a rede local: # iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp -m multiport -dports 20,21,22,443,80 -j ACCEPT # iptables -t filter -A FORWARD -d 192.168.0.0/24 -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCCEPT # iptables -t filter -A FORWARD -j LOG --log-prefix "FIREWALL: FORWARD "

Liberando acessos ao servidor FTP e SSH todas as estaes da rede: # iptables -t filter -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.10 --dport 20 -j ACCEPT # iptables -t filter -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.10 --dport 21 -j ACCEPT # iptables -t filter -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.10 --dport 22 -j ACCEPT

37

Regras de Output na tabela filter Liberando conexes TCP e UDP originadas pelo prprio Firewall so aceitas: # iptables -t filter -A OUTPUT -p tcp -m state --state

NEW,ESTABLISHED,RELATED -j ACCEPT # iptables -t filter -A OUTPUT -p udp -m state --state

NEW,ESTABLISHED,RELATED -j ACCEPT A regra a seguir aceita conexo loopback de sada do Firewall ele mesmo: # iptables -t filter -A OUTPUT -o lo -j ACCEPT

A prxima regra estabelece um limite de tempo de 1 pacote ping por segundo de resposta de conexes origindas pela internet: # iptables -t filter -A INPUT -p icmp -m limit --limit 1/s j ACCEPT

A prxima regra registra nos LOGS do sistema as tentativas de conexo no autorizadas ao servidor Firewall vindos da internet: # iptables -t filter -A INPUT -p udp --dport 53 -j LOG --log-prefix "FIREWALL: dns " # iptables -t filter -A INPUT -p tcp --dport 113 -j LOG --log-prefix "FIREWALL: identd " # iptables -t filter -A INPUT -p udp --dport 111 -j LOG --log-prefix "FIREWALL: rpc " # iptables -t filter -A INPUT -p tcp --dport 111 -j LOG --log-prefix "FIREWALL: rpc " # iptables -t filter -A INPUT -p tcp --dport 137:139 -j LOG --log-prefix "FIREWALL: samba " # iptables -t filter -A INPUT -p udp --dport 137:139 -j LOG --log-prefix "FIREWALL: samba "
38

As

prximas

regras

tratam

da

tabela

NAT

com

as

cadeias

(POSTROUTING, PREROUTING, OUTPUT). Cadeias postrouting e masquerade

# iptables -t nat -A POSTROUTING -p tcp -m multiport --dports 80,443 -s 192.168.0.0/24 -o eth0 -j MASQUERADE A regra acima mascara o IP da rede local liberando acesso a internet, porm restringindo somente aos servios HTTP, HTTPS. Agora preciso liberar conexo da rede local internet, porm limitando aos servios HTTP, HTTPS, mas trabalhando na cadeia PREROUTING da tabela NAT: # iptables -t nat -A PREROUTING -i eth0 -p tcp -s 200.140.2.45 -dport 80 -j SNAT --to 192.168.0.10:80 # iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.10 -dport 80 -j ACCEPT # iptables -t nat -A PREROUTING -i eth0 -p tcp -s 200.140.2.45 -dport 443 -j SNAT --to 192.168.0.10:80 # iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.10 -dport 443 -j ACCEPT A regra a seguir ir registrar todas as tentativas externas de conexo s estaes locais: # iptables -t nat -A POSTROUTING -o eth1 -d 192.168.0.10/24 -j LOG --log-prefix "FIREWALL: SNAT unknown " Agora para que o firewall seja o gateway da rede, necessrio configurar nas estaes o IP: 192.168.0.1 como gateway da rede. Para verificar as regras aplicadas no servidor, preciso rodar o comando "iptables -L". Para salvar as regras aplicadas em um arquivo, para utilizar como script,
39

pode ser utilizado o comando do iptables, "iptables-save" da seguinte forma. # iptables-save > /etc/init.d/script_firewall.sh

Com este comando ser salvo todas as regras aplicadas at o momento dentro do arquivo "script_firewall.sh" que ser criado, dentro do diretrio /etc/init.d . Aps salvar estas regras necessrio dar permisso de execuo no arquivo, caso queira utiliza-lo como script. # chmod +x /etc/init.d/script_firewall.sh

Consideraes finais O sucesso da implementao de uma rede segura por meio deste recurso, depende to somente de uma boa previso de incidentes e uma cuidadosa interpretao dos fatores que devem ser considerados para que se garanta a disponibilizao de acesso, recursos e servios dos quais uma organizao pode necessitar. Todas as regras foram testadas, simulando um senrio de uma pequena rede.

40

19. TERMO DE COMPROMISSO

Autenticidade e exclusividade sob as penas da Lei 9610/98

Pelo presente, o abaixo assinado declara, sob as penas da lei, que o presente trabalho indito e original, desenvolvido especialmente para os fins educacionais a que se destina e que, sob nenhuma hiptese, fere o direito de autoria de outrem.

Para maior clareza, firmamos o presente termo de originalidade.

Guarulhos, 09 de junho de 2013

Nome e assinatura

Clio de Jesus Sousa.

Cleiton de Jesus Sousa

41