Leandro Rodrigo de Carvalho Silva

Propaganda
SOFTWARES PARA CRIAÇÃO DE MECANISMO DE
SEGURANÇA BASEADO NA PLATAFORMA LINUX
Leandro Rodrigo de Carvalho Silva1, Alexandre Paulino Sierra da Silva1
1
Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected], [email protected]
Resumo. Este artigo apresenta aplicações que podem ser utilizadas para a
criação de um mecanismo de segurança baseado na plataforma Linux. Serão
apresentados exemplos de ferramentas como servidor Proxy, Sistema de Detecção
de Intrusão e Filtro de Pacotes. Serão citados objetivos, vantagens e forma de
distribuição das ferramentas relacionadas. O objetivo do mecanismo de
segurança baseado no conjunto destes softwares é proporcionar maior
confiabilidade, segurança dos dados trafegados, proteção contra
intrusão, agilidade, proporcionada pelo servidor Proxy, e filtro de acesso a
conteúdo.
1. Introdução
Atualmente a tecnologia está difundida em diversos setores, fazendo-se necessário o uso
de soluções de segurança nos sistemas computacionais existentes.
Visando o aumento da qualidade e velocidade das tarefas em virtude da
competitividade e serviços online, como NFe, as empresas vêm se utilizando cada vez
mais de sistemas computacionais interligados, tanto via rede interna quanto externa,
ficando expostas a variados riscos e inseguranças, se sujeitando segundo Mendes [2000]
a atividades de crackers, hackers e a insegurança natural da comunicação em redes e da
internet.
Os dados trafegados em uma rede percorrem um longo caminho até seu destino
estando propensos à atividade não desejada pelo usuário. Decorrente destes fatos, é
necessário garantir que a informação chegue ao seu destino de forma integra, sem
alterações [Moreira, 2001]. Isto se aplica com políticas de segurança que definem os
níveis de acesso a diferentes tipos de usuário, capacitando pessoas responsáveis para
instalações, configurações, manutenções das informações, desta forma aumentando a
segurança dos dados [Moreira, 2001].
Existem diversas ferramentas de segurança à informação disponíveis no
mercado, como: firewalls, softwares de criptografia, antivírus, sistemas de detecção de
invasão, etc. Porém, como dito anteriormente, somente estas aplicações não tornam o
acesso à informação seguro [Moreira, 2001].
Entretanto segundo Moreira [2001] não basta ter um conjunto de ferramentas de
segurança implantadas para se ter uma segurança aceitável. Para se obter um resultado
realmente eficaz, é necessário se utilizar de um Plano de Segurança, elaborado pelos
níveis estratégico, tático e operacional de uma empresa.
Este trabalho consiste em uma revisão bibliográfica que tem como objetivo
apresentar alguns softwares, que em conjunto, agem como um mecanismo de segurança
baseado em ambiente operacional Linux, de modo a proporcionar maior confiabilidade,
segurança dos dados trafegados em rede e proteção contra intrusão.
2. Conhecendo o Linux
Antes de citar e explicar o funcionamento de algumas das ferramentas de segurança, é
necessário determinar qual plataforma será utilizada para a implantação da segurança.
O crescimento do Linux em servidores se deve pelas suas vantagens sobre o
Windows. Assunção [2002] cita algumas dessas vantagens, como distribuição gratuita,
criptografia de senhas inquebráveis (somente descobertas, através de várias tentativas e
erros), possui melhores ferramentas de rede e faz melhor gerenciamento de permissões.
Noyes [2010] também cita algumas vantagens, como maior estabilidade e segurança,
não exige atualizações de hardware para suportar demandas crescentes, além de ser
mais leve, consumir menos espaço de armazenamento, ser flexível, pode ser modificado
de acordo com o perfil de uso e ser escalável.
Por estas vantagens, é escolhida a plataforma Linux como base das ferramentas
de segurança que serão demonstradas no decorrer do artigo.
O Linux é disponibilizado por Licença Publica Geral, vários programadores
adotaram e contribuíram para seu desenvolvimento.
Apesar do Linux ser desenvolvido especialmente para computadores pessoais,
devido ao modo que foi construído, foi possível criar versões para outras plataformas,
por exemplo, “hoje em dia, o Linux roda em praticamente todo o tipo de sistemas: de
PCs domésticos equipados com chips de 32 ou 64 bits, a equipamentos especializados,
usados em maquinário industrial” [Morimoto, 2009], além de servir de base para novos
sistemas, como o mais recente Android.
Atualmente o sistema possui mais de 500 distribuições, porém quase a totalidade
é derivada de versões já existentes. As suas principais versões são: Debian, Red
Hat/Fedora, Mandriva, Ubuntu, Slackware, Gentoo, e outras [Morimoto, 2009].
O Debian é a distribuição mais utilizada dentre servidores, e a segunda mais
utilizada dentre os desktops com Linux. Esta distribuição não recebe novas versões de
maneira rápida e com cronograma definido. Desta forma, o sistema é desenvolvido com
muito cuidado, utilizando-se de longo período de testes até ser lançada uma nova versão
considerada estável [Hertzog, 2012].
3. Servidores Proxy
O Proxy é um servidor que processa pedidos de informação de clientes e busca seus
resultados em outro servidor, isso se a informação não estiver disponível no próprio
servidor Proxy. Essas informações requisitadas são conexões, sites da web, arquivos ou
outros serviços [Rehem, 2010].
São mais utilizados com o intuito de filtrar conteúdo e assegurar a
confidencialidade. Também se utiliza um Proxy para se restringir acesso, controlar
velocidade de tráfego, implementar políticas de utilização, obter estatísticas de
utilização, dentre outras funções.
O Proxy pode trabalhar como cache, ou seja, ele intercepta a conexão e
armazena a informação requisitada anteriormente. Desta forma, caso um usuário da rede
requisitar a mesma informação, esta será disponibilizada de forma mais rápida [Rehem,
2010].
Segundo Bastos [2008] e Rehem [2010], os servidores Proxy possuem as
seguintes características:





Velocidade de acesso: Ganho de velocidade com armazenamento local,
evitando novo tráfego externo;
Disponibilidade: Deve estar a maior parte do tempo disponível. Em grandes
organizações, deve-se extinguir falhas, e manter sempre em funcionamento,
utilizando-se de redundância de servidores;
Transparência e Ostensividade: Utiliza políticas de utilização, controle de
acesso e recolhe informações sobre o tráfego de dados;
Simplicidade: Servidor configurado de forma a facilitar sua administração,
assim não dependendo de uma única pessoa para lidar com os problemas;
Capacidade de trabalhar com redes heterogêneas: Devem funcionar em
multiplataformas e atender bem os usuários de ambas.
Um exemplo bastante utilizado de servidor Proxy disponível para a plataforma
Linux é o Squid, sendo disponibilizado com licença de código aberto. Ele compartilha a
conexão entre diversos clientes, sendo intermediário entre os clientes e a internet. Pode
ser configurado de forma hierárquica ou mista para melhor aproveitamento da largura
de banda [Bastos, 2008].
O Squid é constantemente aperfeiçoado, melhorando seu desempenho e
adicionando novas funcionalidades. Ele se demonstra extremamente estável quando
levado ao limite [Rehem, 2010].
É um servidor compatível com diversas plataformas e bem abastecido pela
comunidade desenvolvedora com softwares que analisam logs, geram relatórios,
melhoram o desempenho e adicionam segurança ao produto.
O Sarg é um exemplo de software disponibilizado para trabalhar em conjunto
com o Squid, e tem a função de visualizar os acessos às páginas e o horário do acesso a
partir do log gerado pelo servidor [Rehem, 2010].
4. Sistemas de Detecção de Intrusão
Um sistema de detecção de intrusão, ou na sigla em inglês IDS, tem como finalidade
analisar o tráfego de dados em uma rede com o objetivo de se detectar invasores que
tentam explorar alguma vulnerabilidade ou acessar algum dado restrito [Oliveira, 2006].
Esse tipo de sistema funciona em segundo plano, notificando condutas suspeitas
ou ilegais, não interferindo no tráfego da rede.
Seu modo de funcionamento difere de um Firewall, que decide qual tráfego é
permitido, pois ele rastreia e analisa os pacotes de dados. Os IDS mais atuais podem até
bloquear conexões TCP suspeitas [Oliveira, 2006].
Os IDS também podem ser utilizados para detectar vulnerabilidades em
dispositivos de proteção de uma rede, como Roteadores e Firewalls.
Na atualidade, Firewalls não são suficientes para garantir a segurança no acesso
aos dados, pois os problemas de segurança são variados, desde vulnerabilidades a
problemas na política de segurança. Ademais, Firewalls não identificam se o que está
trafegando em uma rede é invasivo ou não, pois o tráfego mal intencionado pode estar
camuflado e pode ser aceito. Os Sistemas de Detecção de Intrusão podem detectar esse
tráfego malicioso, [Oliva, 2001] apud [Oliveira, 2006].
Existem vários softwares que detectam intrusão, mas neste artigo vamos tratar
do Fail2ban.
O Fail2ban é um aplicativo, que monitora arquivos de log verificando a
quantidade de tentativas de conexão sem sucesso. Ele bloqueia o endereço de IP
suspeito, após um número de conexões sucessivas [Nascimento, 2011].
O aplicativo monitora a tentativa de acesso em diversos serviços, e bloqueia o
possível ataque adicionando regras no Firewall instalado. Ele também bloqueia ataques
de força bruta, comuns quando se tem conexão com a internet, de forma confiável, sem
prejudicar usuários autênticos.
O Fail2ban é desenvolvido em linguagem de programação Python, tornando o
aplicativo compatível com qualquer sistema operacional [Nascimento, 2011].
5. Filtro de Pacotes
Um Firewall é um aplicativo que pode vir integrado em um sistema operacional ou
pode ser instalado de um terceiro. Este aplicativo objetiva a filtragem de pacotes de
dados e o bloqueio de acesso de aplicações a uma rede [Chicoli, 2008].
No sistema operacional Windows podemos encontrar um Firewall integrado,
que pode funcionar em um computador isolado, como também em um gateway de rede.
Porém o Firewall integrado ao sistema Windows não apresenta boa
confiabilidade e desempenho para gerenciar redes de médio e grande porte, além de
possuir inúmeras vulnerabilidades. Sendo assim, torna-se inviável a utilização de um
filtro de pacotes em um sistema Windows como gateway de rede [Chicoli, 2008].
Todavia, utilizaremos a plataforma Linux. Sendo assim, será adotado o filtro de
pacotes Iptables, aplicativo padrão em distribuições Linux para a construção de
Firewalls.O Iptables é disponibilizado sob Licença Publica Geral e foi desenvolvido em
sua maior parte pela equipe do núcleo Netfilter, mas recebeu contribuições de outros
desenvolvedores [Netfilter, 2010].
6. Metodologia
Para este trabalho foram realizadas pesquisas em livros e artigos em sites. Com
base na pesquisa realizada, obtiveram-se informações referentes a softwares que
utilizam como base a plataforma Linux, e podem ser utilizados na criação de um
mecanismo de segurança. Foram mencionados sobre estas aplicações, seus
objetivos, algumas de suas vantagens e sua forma de distribuição.
7. Conclusão
Mesmo sabendo que um conjunto de aplicações de segurança sozinho não pode garantir
total segurança em um ambiente de rede, podemos salientar que é um passo de um
trabalho árduo, onde devem também ser utilizadas políticas de segurança e um plano de
conscientização de pessoal em todos os níveis de uma empresa.
Os softwares citados possuem distribuição gratuita e podem garantir um bom
nível de segurança. Salientando que, antes de utilizá-los, é necessário efetuar uma
análise de risco e verificar a real necessidade da situação em questão.
Referências
ASSUNÇÃO, Marcos Flávio Araújo. Guia do Hacker Brasileiro. 1. ed. Florianópolis:
Visual Books, 2002.
BASTOS, Eri Ramos. Manual de Configuração do Squid. [S.I.: s.n.] [2008?]
<http://www.oocities.org/br/dionata.nunes/Documentos/Apostilas/squid.pdf>
Acesso em: 29/05/2013.
CHICOLI, Milton. Curso Prático de Montagem e Manutenção de Redes. 1. ed. São
Paulo: Digerati Books, 2008.
HERTZOG, Raphaël; Mas, Roland. O Manual do Administrador Debian. 1. ed. La
Talaudière, França: Freexian SARL, 2012.
MENDES, Wayne Rocha. O submundo hacker do Linux: Ataques e defesas. 1. ed.
Rio de Janeiro: Ciência Moderna Ltda., 2000.
MOREIRA, Nilton Stringasci. Segurança Mínima – Uma Visão Corporativa da
Segurança de Informações. 1. ed. Rio de Janeiro: Axcel Books do Brasil, 2001.
MORIMOTO, Carlos E. Linux, Guia Prático. 1. ed. GDH Press e Sul Editores, 2009.
NASCIMENTO, Ricardo B. do. Proteção utilizando fail2ban contra ataques dotipo
"força
bruta"
or
brute
force.
[S.I.:
s.n.],
2011.
<https://docs.google.com/file/d/0Byq-AAimoaXMmE4MzY0NjUtNTI4My00ZjZjLWE4MWMtNDIwOGU0NWRiMWVl/edit?hl=e
n_US>. Acesso em: 18/03/2013.
NETFILTER. The netfilter.org "iptables" project. 2010. Disponível
<http://www.netfilter.org/projects/iptables/>. Acesso em: 18/03/2013.
em:
NOYES, Katherine. Veja porque o Linux está à frente do Windows em servidores.
Disponível em: <http://pcworld.uol.com.br/noticias/2010/08/31/veja-porque-olinux-esta-a-frente-do-windows-em-servidores/>. Acesso em: 23/05/2013.
OLIVEIRA, Raimundo Corrêa de; GUIMARÃES, Alexandre Guedes; LINS, Rafael
Dueire. Segurança em Redes Privadas Virtuais – Vpns. 1. ed. Rio de Janeiro:
Brasport, 2006.
REHEM, Almerindo; BRANDÃO, Nicole Gonçalves; JUNIOR, Ubirajara de B. Cruz.
Manual de Instalação de Servidor Squid baseado no Linux CENTOS 5.4. Artigo
científico da disciplina Tecnologia de Sistemas para Internet ministrado
na Universidade
Tiradentes
de
Aracaju,
2010.
<http://almerindo.devin.com.br/index.php?option=com_content&view=article&id=1
00:manual-do-squid&catid=43:trabalhos-de-alunos&Itemid=86>
Acesso
em
29/05/2013.
Download