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