12.04.2013 Views

APOSTILA GNU/DEBIAN AVANÇADO - Gerds

APOSTILA GNU/DEBIAN AVANÇADO - Gerds

APOSTILA GNU/DEBIAN AVANÇADO - Gerds

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

10.3. Planejando a Implementação<br />

<strong>APOSTILA</strong> <strong>GNU</strong>/<strong>DEBIAN</strong> <strong>AVANÇADO</strong><br />

Antes de iniciar a construção de um firewall, é necessário levar em consideração os<br />

seguintes aspectos:<br />

• Quais serviços precisão ser protegidos. Serviços que devem ter acesso garantido a<br />

usuários externos e quais serão bloqueados a todas ou a determinadas máquinas. É<br />

recomendável implantar uma política austera de acesso a todas portas menores que a<br />

1024 (portas privilegiadas) por disponibilizarem serviços muito importantes.<br />

• Que tipo de conexões serão bloqueadas/permitidas. Serviços com autenticação em texto<br />

plano e potencialmente inseguros como rlogin, telnet, FTP, NFS, DNS, LDAP, SMTP RCP,<br />

X-Window, etc. são serviços que devem ter acesso garantido somente para<br />

máquinas/redes que você confia.<br />

Outros fatores que devem ser levados em consideração são:<br />

• Que máquinas terão acesso livre e quais serão restritas;<br />

• Que serviços deverão ter prioridade no processamento;<br />

• O volume de tráfego que o servidor manipulará. Através disso você pode balancear o<br />

tráfego entre outras máquinas, configurar proteções contra ataques do tipo DoS, syn flood,<br />

etc;<br />

• Que pacotes terão permissão para trafegar de uma rede para outra.<br />

A análise destes pontos pode determinar a complexidade do firewall, custos de<br />

implementação, prazo de desenvolvimento e tempo de maturidade para implementação.<br />

Existem muitos outros pontos que podem influenciar a implementação de um sistema de<br />

segurança, procuramos elencar aqui, o que consideramos ser os mais comuns para que você<br />

tenha uma base para seu projeto.<br />

10.4. Conhecendo os conceitos do iptables<br />

Neste tópico, explicaremos a estrutura de funcionamento no qual o iptables é baseado.<br />

10.4.1. O que são regras?<br />

As regras são como comandos passados ao iptables para que ele realize uma<br />

determinada ação (como bloquear ou permitir a passagem de um pacote), de acordo<br />

com o endereço/porta de origem/destino, interface de origem/destino, etc. As regras são<br />

armazenadas dentro dos chamados “chains” e processadas na ordem que são inseridas.<br />

As regras são armazenadas em memória, o que significa que quando o<br />

computador for reiniciado todas serão perdidas. Por este motivo, elas deverão ser<br />

gravadas em um arquivo para serem aplicadas a cada inicialização do sistema.<br />

Um exemplo de regra:<br />

iptables -A INPUT -s 123.123.123.1 -j DROP<br />

10.4.2. O que são chains?<br />

Os “chains”, são locais onde as regras do firewall definidas pelo usuário são<br />

armazenadas para operação do firewall. Existem dois tipos de chains: os embutidos<br />

(como os chains INPUT, OUTPUT e FORWARD) e os criados pelo usuário. Os nomes<br />

dos chains embutidos devem ser especificados sempre em letras maiúsculas (note que<br />

os nomes dos chains devem ser escritos respeitando maiúsculas e minúsculas).<br />

10.4.3. O que são tabelas?<br />

Tabelas são os locais usados para armazenar os chains e um conjunto de regras<br />

com uma determinada característica em comum. As tabelas podem ser referenciadas<br />

com a opção “-t nome” do iptables. Por padrão, existem 3 tabelas disponíveis no iptables:<br />

filter<br />

Esta é a tabela padrão, contém 3 chains padrões:<br />

INPUT - Consultado para os pacotes que chegam a máquina<br />

PÁG.: 95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!