Implementando Projetos de Segurança de Redes com o Software Livre
Sandro Melo
Diretor de Tecnologia - 4Linux
[email protected]
Abstract: Today when we talk in security, many times we think about solutions without the o less to imagine
what we are really wanting in defending. The objective of this article is to demystify and to show that solutio in
open standards can be option for corporations when conceived of concise and functional form and that the same
one can be implemented, objectifying to have security with I begin in transparency for future auditorships
through the open source.
Resumo: Hoje quando falamos em segurança, muitas vezes pensamos em soluções sem ao menos imaginar do
que realmente estamos querendo nos defender, ou seja, “segurança de olhos vendados”. O objetivo deste
artigo é desmistificar e mostrar que soluções baseadas em padrões abertos podem ser a opção para
corporações, desde que concebidas de forma concisa e funcional, e que podem ser implementadas objetivando
ter segurança com princípio em transparência para auditorias futuras através do código aberto.
1. Introdução
Inicialmente, quando a suite TCP/IP foi
projetada, o cenário era de um conjunto de redes
militares, em que cada uma era uma base militar e
o roteamento se mostrava uma necessidade.
A rede militar saiu da estrutura “teia” e
subiu aos satélites, ficando a Internet disponível
aos órgãos de pesquisa como o MIT e, doravante, à
todo mundo.
O problema de segurança de redes de
computadores podia, inicialmente, ser resolvido
com filtros de pacotes. Embora fosse simples, para
a realidade da época era o suficiente, na maioria
dos casos.
Hoje, quando falamos sobre segurança,
devemos ser cautelosos até mesmo ao formularmos
as sentenças e nos preocuparmos com o que pode
estar sendo ouvido.
aberto, cujo princípio de segurança baseia-se em
sua transparência totalmente auditável.
3. Estatísticas de ataques
Vemos nos índices das estatísticas o
grande volume de ataques e, na grande maioria dos
casos, é a desconfiguração do site que faz a
diferença. Não apenas a melhor solução de
Firewall, e sim o profissional que está por trás dela:
o peopleware é agora - como sempre foi - o
diferencial.
Não podemos assumir que a melhor
ferramenta é tudo que se necessita para um projeto
de segurança.
Quando pensamos em segurança de
sistemas, temos uma formula algébrica de recursos:
“capacitação (técnicos, usuários) + metodologia
(normas, planejamento) + ferramental = bom
projeto de segurança”. Mas é importante que essa
obra foque apenas o aspecto técnico da ferramenta,
técnicas de intrusão de sistemas e vulnerabilidades.
O fato é que o assunto segurança de
informação precisa ser pensado e é extremamente
necessário, afinal, ter o nome da empresa
manchado com certeza não será agradável para
nenhum acionista ou investidor, mas, infelizmente,
como qualquer investimento em TI, não é tangível
em um primeiro momento.
4. Consciência do risco
2. Paradigmas
Sabemos que os invasores de sistemas que
podem levar perigo à uma empresa não se
contentam apenas em trocar sua Home Page, pois
são capacitados e, na maioria das vezes, são ótimos
programadores ou engenheiros de rede, quase
sempre autodidatas. Para ser capaz de se defender,
é necessário ter as mesmas armas, “o
conhecimento”
tanto das vantagens das
ferramentas que são utilizadas, como também de
suas limitações. Mas, o que fará a diferença é
justamente ter o conhecimento das técnicas
comumente utilizadas pelos invasores - que
segundo os mesmos, são as técnicas não éticas
Temos alguns paradigmas a optar no que
tange à escolha de ferramentas. Podemos deixar a
segurança de nossa empresa à mercê do melhor
produto, baseado em soluções “Caixa Preta”, na
qual toda a engenharia da tecnologia empregada na
concepção da solução é apenas de conhecimento do
fabricante e a segurança tem como princípio a
obscuridade de sua criação.
Por outro lado, podemos pensar em
soluções baseadas em software livre e código
É necessário ter a consciência de como o
invasor pode atuar em nosso site. Já diz Sun Tzu:
“... se conhece o inimigo e conhece a si mesmo,
não precisa temer o resultado de cem batalhas”
[4].
desse submundo conhecido como “Mundo
Underground” - para que a elaboração de
contramedidas seja concisa e verdadeiramente
funcional.
Nos programas convencionais, o código
de programação é secreto e de propriedade da
empresa que o desenvolveu, sendo quase
impossível decifrar a programação.
5. O perfil do novo administrador de ambientes
computacionais
Um software só pode ser considerado
como tal se proporcionar as quatro liberdades
fundamentais:
É notório que um bom administrador de
ambientes computacionais dos novos tempos tem
que conhecer bem o que faz, conhecer bem o
protocolo TCP/IP e até suas limitações para que
seja capaz de configurar de maneira eficaz um
Firewall e um sistema de IDS, como também
reconhecer uma assinatura de ataque. Por melhor
que seja a ferramenta, sua capacitação será o
diferencial, como também sua pró-atividade em
busca de atualizações constantes e até, quando
possível, testar as vulnerabilidades dos sistemas
por ele utilizados, seja em busca de erros de
configurações padrões ou mesmo submetê-lo a um
teste de um possível exploit. Tudo isso baseado em
metodologias coesas, fundamentas em normas
como a BS1799 (Norma britânica de políticas para
segurança de informação).
6. Pensando em Software de código aberto,
pensando em Software Livre
Não podemos deixar de citar que muitas
das soluções de segurança “Open Source“ nascidas
em ambiente acadêmicos são base para soluções
proprietárias, provando que, em momento algum, o
fato de não existir custo na aquisição da ferramenta
siginfica que sua tecnologia seja inferior.
Muitos sistemas de Firewall caixa preta
rondam em cima de Kernel baseados em Linux e
Unix BSD (Unix de código aberto oriundos da
Universidade de Berkely). Ou ainda padrões
abertos como IPSEC são base para soluções
fechadas e abertas.
6.1 O que é Software Livre
São programas de computador construídos de
forma colaborativa via Internet por uma
comunidade internacional de desenvolvedores
independentes. São milhares de “hackers”, no
verdadeiro sentido da palavra, ou seja,
programadores especialistas que renegam sua
associação com os “violadores de segurança”, tanto
que a maioria prefere simplesmente se autodenominar “geek”.
Esses programas são entregues à
comunidade com o código fonte aberto e
disponível, o que permite que a idéia original possa
ser aperfeiçoada e devolvida novamente à
comunidade.
Utilização do programa com quaisquer
propósitos[3];
Modificação e adaptação do programa às
suas necessidades (para tornar essa liberdade
efetiva, é necessário ter acesso ao código fonte,
porque modificar um programa sem tê-lo é difícil)
[3];
Redistribuição de cópias, tanto grátis
como com taxa [3];
Distribuição de versões modificadas do
programa, de tal modo que a comunidade possa
beneficiar-se com as suas melhorias [3].
O exemplo mais conhecido de software
que segue esse conceito é o sistema operacional
Linux, alternativo ao Windows e utilizado por
quase metade dos provedores de Internet do
mundo, como por exemplo, pela NASA e pelo
sistema de defesa norte-americano. Há ainda os
sistemas Unix BSD, desenvolvidos por núcleos de
pesquisas na Universidade de Berkely.
O Linux é baseado em uma licença
conhecida como GPL e os Unix BSD em uma
licença denominada BSD, que em relação à
primeira tem como grande diferença a não
obrigatoriedade de manter o código aberto se o
mesmo for usado em parte ou em totalidade na
criação de uma nova ferramenta [3].
A partir deste cenário, podemos ter como
referência o fato de um padrão ser aberto ou
fechado não o tornar melhor ou inferior
tecnologicamente. Por outro lado, padrões abertos
acabam tornando-se mais praticáveis e auditáveis
quando a veracidade de suas qualidades são
questionáveis a qualquer momento. Assim sendo,
tornam-se estrategicamente mais interessantes para
um ambiente computacional cuja segurança tem
como princípio a transparência da concepção da
solução respectiva.
7. Segurança Corporativa com a Plataforma
Software Livre''
Sabe-se que não há segurança 100%.
Então, o que existe afinal? Existe a necessidade de
equilibrar fatores, o que se pensa como
implementação de segurança, ou seja, todo o
aparato destinado a compor uma estrutura
computacional que garanta a segurança do sistema
em questão, equilibrando a flexibilidade dos
usuários da organização e com o objetivo de
diminuir o risco assumido pela empresa. Tendo,
para isso, a capacitação como base e, como meio,
políticas, normas e softwares específicos.
7.1. Ferramentas necessárias
Quanto se pensa em softwares destinados
a segurança de sistemas computacionais tem-se
uma grande variedades de opções de fabricantes,
mas surgem como alternativas as grandes
corporações de softwares de código aberto que, em
sua maioria, resultaram de pesquisas em centros
acadêmicos. Encontramos ferramentas de várias
categorias, entre elas:
- Fornecimento de provas legais, no caso de
processo contra os invasores;
- Logs consistentes.
Usando os Host Intrusion Detection
Systems temos a possibilidade de avaliar até que
ponto um sistema violado foi corrompido através
de uma metodologia que consiste em criar uma
base criptografada que faz um histórico do sistema
e confronta essas informações com o sistema atual
no momento de uma auditoria, dando condições de:
- Detectar intrusos no sistema;
- Verificar a integridade dos arquivos;
- Sistema de Detecção de Intrusos
- Identificar Backdoos;
- Firewalls
- Identicar trojans.
- VPN
7.1.3. O uso de Proxy para conexão Web
- Scan para análises de vulnerabilidades
Permite o controle de conteúdo da Web
acessado pelos funcionários da corporação.
- Controle de Conteúdo da Web
- Sistemas de IDS
Lista negra com sites ou conteúdo não
interessantes à corporação.
- Monitoramento de Redes
- Controle temporizado;
- Sniffers
- Controle por usuário, grupo e/ou máquina;
7.1.1 Firewall com Linux ou BSD
- Definição de conteúdo em específico;
Podemos ter Firewalls ativos implantados
tanto em fronteira de redes com gateway como
também em topologias departamentais em grandes
corporações, sem onerar o projeto, apenas
aumentando sua funcionalidade .
- Relatório legível das atividades (html);
- Cache de página para todos os usuários;
- Controle de conteúdo acessado na Web.
Há ainda a possibilidade de soluções de
Firewall Bridge na fronteira da rede, sendo
extremamente estratégico, pois não têm IP [1][2].
7.1.4. Interligando filias com VPN
7.1.2. Quando pensamos em IDS temos opções
de Sistemas de Detecção de Intrusos
Através de várias soluções de código
aberto pode-se ter VPNs baseadas em PPTP e
IPSEC. E, com isso:
Ao usar os Networks Intrusion Detection
Systems temos a possibilidade de detectação de
intrusos na rede, capturando pacotes e através de
perfis denominados assinaturas:
Permitir controle de acesso, integridade,
confiabilidade, confidencialidade e autenticação no
nível de rede através de criptografia forte.
- Problemas com Switches;
- Assinaturas de ataques;
- Monitoramento das Conexões de Rede sobre
atividades suspeitas;
- Alerta em tempo hábil de possíveis ataques;
Ao usar IPSEC padrão aberto proposto
pelo IETF, podemos conceber VPN com suporte a
X.509 certificate e compatibilidade com outras
soluções de VPN como com Windows 2000, Check
Point ou Cisco [2].
Solução de segurança fim-a-fim entre
roteadores, Firewalls, estações de trabalho e
servidores. A implementação de VPN usando
Linux tem custo inferior a qualquer solução similar
em outra plataforma, mas, em momento algum, é
inferior tecnologicamente, uma vez que foram
desenvolvidas tendo o mesmo padrão como
referência.
7.1.5.
Gerenciamento
como
continuidade da segurança
apoio
na
Depois de implantar uma solução de
segurança para gerenciamento de servidores Linux,
FreeBSD e OpenBSD uma opção chamada webmin
permite o uso SSL para a administração de
servidores por completo de forma fácil e objetiva e
com a segurança garantida por criptografia.
Para o monitoramento dos serviços de
toda rede temos a opção de usar o Nagios, que
utiliza, entre outros recursos, o protocolo SNMP.
8. Conclusão
No mundo do software de código aberto o
conceito de segurança por obscuridade não é
aceito, ao contrário, pois a segurança está na
transparência do código fonte aberto. Além disso, o
fato de ser aderente aos padrões internacionais e
fundamentado em pesquisas acadêmicas, o torna,
tecnologicamente, uma solução sustentável e
confiável.
Atualmente, toda corporação tem como
alternativa em projetos de segurança de seus
sistemas computacionais softwares de código
aberto e podem usá-los confiando em sua qualidade
e funcionalidade.
9. Referências Bibliográficas
[1] RUFINO, Nelson Murilo. Segurança Nacional.
Editora Novatec, 1 rd edition, 2001.
[2] GUES, Paulo e NAKAMURA, Emilio.
Segurança de Redes em ambientes cooperativos.
Editora Berkely, 1 rd edition, 2002.
[3] BRANCO, Marcelo D'Elia. Livres de Bill
Gates. Disponível em:
http://www.softwarelivre.rs.gov.br/artigos/Livresde
BilGatescompleto.txt, em 01/2003.
[4] CLAVELL, James. A Arte da Guerra Sun Tzu.
Editora Record, 22 rd edition, 1999.
Download

local