do Projeto

Transcrição

do Projeto
Faculdade de Tecnologia SENAC Goiás
Segurança da informação
Projeto Integrador
LUIS HENRIQUE FERREIRA PORTILHO
ANA GABRIELA MOREIRA RIOS
SAMUEL LUCAS DE BRITO
LUCAS REGES BARROS
Goiânia
2013
LUIS HENRIQUE FERREIRA PORTILHO
ANA GABRIELA MOREIRA RIOS
SAMUEL LUCAS DE BRITO
LUCAS REGES BARROS
Projeto Integrador
Projeto Final de semestre apresentado
para avaliação do Curso de Segurança da
informação módulo III, da Faculdade de
Tecnologia SENAC Goiás de Goiânia,
GO.
Orientadores:
Marissol Martins
Olegário Correia neto
Marcelo de Almeida Gonzaga
Alice Mota Faleiro
Elias Batista Ferreira
Lucília Gomes Ribeiro
Goiânia
2013
LISTA DE FIGURAS
Figura 1 - Tabela de partições..................................................................................... 7
Figura 2 - MER .......................................................................................................... 31
Figura 3 - DER .......................................................................................................... 32
SUMÁRIO
1 INTRODUÇÃO ......................................................................................................... 4
2 SISTEMAS OPERACIONAIS ................................................................................... 5
2.1 Hardening........................................................................................................... 5
2.1.1 Pontos positivos de utilizar esta técnica ...................................................... 5
2.1.2 Particionamento de discos ........................................................................... 7
2.1.3 Serviços Desnecessários e inseguros ......................................................... 7
2.1.4 Procura de senhas fracas ............................................................................ 8
2.1.5
PAM (Pluggable Authentication Module) .................................................. 9
2.1.6 Usuários Inválidos........................................................................................ 9
2.1.7 Desconexão de usuários não autorizados ................................................. 10
2.1.8 Colocar senha criptografada no GRUB...................................................... 10
2.1.9 Política de utilização de serviços de Rede................................................. 10
2.1.10 Gerenciamento de privilégios................................................................... 11
2.1.11 Segurança no Terminal............................................................................ 11
2.1.12 SSH (Secure Shell) .................................................................................. 13
2.1.13 Portas Abertas ......................................................................................... 14
2.1.14 Suid Bit .................................................................................................... 15
2.1.15 NOEXEC.................................................................................................. 19
3 SERVIÇOS IP ........................................................................................................ 21
3.1 Serviços IP e alguns aspectos de segurança................................................... 21
3.1.1 Protocolo DHCP......................................................................................... 21
3.1.2 Protocolo HTTP ......................................................................................... 23
3.1.3 Protocolo SMTP ......................................................................................... 23
3.1.4 Protocolo SSH ........................................................................................... 25
4 NOÇÕES DE DIREITO E LEGISLAÇÃO EM INFORMÁTICA ............................... 26
4.1 Legislação aplicável a crimes cibernéticos....................................................... 26
5 BANCO DE DADOS ............................................................................................... 31
5.1 MER(Modelo Relacional) ................................................................................. 31
5.2 DER (Dagrama Entidade Relacionamento)...................................................... 32
5.3 Script ................................................................................................................ 32
5.4 Respostas dos Selects..................................................................................... 34
6 PLANEJAMENTO DE SI ........................................................................................ 38
6.1 Planejamento de Segurança da Informação .................................................... 38
7 CONCLUSÃO ......................................................................................................... 44
REFERÊNCIAS ......................................................................................................... 45
4
1 INTRODUÇÃO
O projeto integrador do terceiro período de Segurança da Informação é o
Planejamento de Segurança com ênfase nas recomendações de segurança para
Serviços IP, influencia do sistema operacional sobre estes serviços, nas citações da
Legislação aplicável a crimes cibernéticos e definição de um modelo de banco de
dados para registro de incidentes de segurança.
5
2 SISTEMAS OPERACIONAIS
2.1 Hardening
Com, o aumento e a sofisticação de pragas virtuais, a cada dia devemos estar
atualizados sobre as melhores formas de proteger a informação em redes
corporativas, e esta proteção não deve somente estar ligada a servidores com
acesso a internet, servidores de acesso interno como servidores de impressão
também devem ser protegidos. Muitos administradores por falta de experiência ou
praticidade preparam os servidores com uma instalação básica e depois que suas
aplicações estão disponíveis não se preocupam em manter a integridade do sistema.
A técnica Hardening (blindagem do sistema), que em uma descrição simplificada
consiste na implementação de diretivas de segurança que devem ser seguidas
antes, durante e após a instalação e configuração de servidores GNU/Linux.
Trazendo assim mais
conhecimento, segurança, e
tranquilidade
para
os
administradores da rede. Sem contar os benefícios que serão agregados a
segurança de sua rede.
2.1.1 Pontos positivos de utilizar esta técnica
•
Pode ser aplicada em qualquer sistema operacional;
•
Aumenta o desempenho de hardware, liberando recursos que estão sendo
utilizados por aplicativos desnecessários, implementando configurações específicas
em alguns serviços, consequentemente gerando um ambiente mais estável e
seguro;
•
Pode ser utilizado para evitar que usuários mal intencionados aproveitem da
ausência do administrador e implantem scripts maliciosos em servidores infectando
6
toda a rede
•
Bloqueia o usuário administrador impedindo que faça login diretamente no
terminal
•
Efetuar logout por tempo de inatividade
•
Remover permissões especiais de binários executáveis
Essas só são alguns dos benefícios desta técnica, ao decorrer do texto vou
citando outras.
Vamos analisar esta técnica desde a instalação do sistema operacional, o
processo de particionamento de discos, análise de serviços desnecessários e
inseguros, localização de senhas fracas, verificação de usuários inválidos,
desconexão de usuários não autorizados, implementação de políticas de utilização
de serviços de rede, gerenciamento de privilégios e aplicação de segurança no
terminal.
As técnicas aqui demonstradas foram testadas em maquinas virtuais com as
seguintes configurações
2 clientes Ubuntu (versão 9.10);
1 Servidor Debian Lenny.
Atenção: Recomendo a utilização de maquinas virtuais para realizar esta técnica
e evitar possíveis falhas na implementação.
Ao se aplicar Hardening há três grandezas que devem ser consideradas:
segurança, risco e flexibilidade. O administrador de redes deve analisar e estar
ciente dessas grandezas, para elevar o sistema a um alto padrão de produtividade,
estabilidade, confiança e segurança.
É importante ressaltar que as técnicas aqui apresentadas podem não ser
adequadas para todas as situações. Para isso é essencial que seja feito um estudo
7
por completo do cenário e dos serviços.
A primeira medida é fazer uma atualização dos sistemas operacionais e serviços
críticos como WEB, DNS e E-MAIL, pois nessas atualizações que contem as
maiorias das correções de segurança, alias essa medida de manter o sistema
atualizado deve ser rotineiro, junto com o ato de retirar programas obsoletos e
pacotes inseguros devem ser substituídos por alternativas mais confiáveis.
2.1.2 Particionamento de discos
Uma importante parte da configuração de um sistema é a parte de
particionamento de disco, que é a divisão do disco, deixando assim cada partição
com sua tabela de alocação de arquivos separada, a seguir um exemplo/opção de
como pode ser configurada a tabela de partições. Conforme mostrado na Figura 1.
Figura - Tabela de partições
Fonte: Autoria própria.
2.1.3 Serviços Desnecessários e inseguros
8
Após a instalação de um sistema operacional, deve ser feito uma analise dos
programas instalados, a procura de programas que não serão utilizados, como já
ditos anteriormente quanto menos aplicações em seu sistema melhor o
desempenho, estabilidade, e segurança. Uma parte importante dessa analise é
verificar se possuem programas “clientes” instalados, pois este é um falha de
segurança, alguns exemplos seriam: telnet, rshd, rlogind, rwhod, ftpd, sendmail,
identd, wget, wireless-tools (caso o servidor não utilize placa sem fio), esses e outros
do mesmo gênero devem ser removidos. Para a remoção de pacotes que não são
utilizados pelo sistema é só seguir os seguintes passos:
Crie uma pasta em “/root” chamado auditoria, que será gerado nesta pasta a lista
(LOG) de todos os pacotes instalados.
Digite o seguinte comando no terminal para a geração deste LOG:
# dpkg -l | awk '{print $2,$3}' | sed '1,5d' >/root/auditoria/pacotes.txt
Para a remoção de um pacote/aplicativo utilize o seguinte comando:
# aptitude purge wget
2.1.4 Procura de senhas fracas
Qualquer empresa que não tome as devidas precauções está passível de ter sua
rede de computadores comprometida. A senha é uma maneira de autenticação do
usuário, ela é uma
certificação que ele quem está utilizando o computador
naquele momento, então devemos ter alguns cuidados para que isto não vire um
problema.
A criação de uma senha segura é algo simples, mas você pode ter problemas
caso a faça de maneira errada. Para criar uma senha segura é só seguir as dicas a
baixo:
•
Nunca utilize palavras de dicionários, marcas de produtos, nomes telefones,
9
apelidos ou dados pessoais como senha.
•
Crie senhas com mais de oito caracteres e que misture letras maiúsculas,
minúsculas, números e caracteres especiais.
•
A melhor maneira é criar uma senha aleatória.
•
Segundo especialistas 8 caracteres é mais que suficiente, dês que siga os
padrões citados a cima.
2.1.5
PAM (Pluggable Authentication Module)
É um conjunto de bibliotecas compartilhadas que permitem ao administrador do
sistema local definir como determinadas aplicações autenticam os usuários, sem a
necessidade de modificar e recompilar programas. O PAM é um recurso que auxilia
muito quando se pensa em segurança. Existem vários módulos que podem ser
implementados, aumentando assim o controle de criação e troca de senhas.
Uma boa utilidade de se usar PAM é a limitação do tamanho mínimo da senha
do usuário, basta utilizar o comando a baixo:
password required pam_unix.so
nullok obscure min=10 md5
2.1.6 Usuários Inválidos
Nos Sistemas GNU/Linux existem três tipos de usuários:
Root: Administrador do sistema
Usuários comuns: Os quais possuem uma senha para logar no sistema e acesso
a um diretório home onde os mesmos poderão ter privacidade com seus arquivos
pessoais e.
10
Sistema: Responsáveis por controlar requisições de serviços. O shell é a
interface entre usuário e sistema. Sem um shell válido, não é possível digitar
comandos e interagir com o sistema. O usuário de sistema www-data, responsável
por receber requisições do servidor Web, que esteja com um shell válido, poderá
introduzir vulnerabilidades ao seu sistema.
2.1.7 Desconexão de usuários não autorizados
A tentativa ou o acesso não autorizado pode ocorrer tanto da parte externa da
empresa quanto da parte interna, funcionários da própria empresa acessando locais
aos quais não foi liberado acesso tentando burlar as regras de segurança, neste
caso em especial se deve aplicar ações disciplinares, e dependendo a ação temos
que nos atentar ao fato de não desativar a conta deste funcionário pois podemos
destruir as provas deste acesso não autorizado.
2.1.8 Colocar senha criptografada no GRUB
O acesso físico ao servidor deve receber atenção especial da parte dos
administradores, dar acesso ao servidor físico somente as pessoas autorizadas, pois
ao reiniciar o servidor a pessoa mal intencionada tem acesso ao (GRUB) podendo
assim alterar a senha do root. Uma maneira de impedir isso é vetando o acesso ao
servidor, como dito anteriormente e criptografando a senha, impedindo assim o
acesso ao modo de segurança do servidor.
2.1.9 Política de utilização de serviços de Rede
Ainda na lista de boas práticas que devemos ter, entra a politica de utilização de
serviços de rede, que conta com um ótimo aliado, TCP wrappers que oferece
11
controle de acesso a vários serviços como SSH, Telnet e FTP. O TCP wrappers
monitora a entrada de um pedido e o serviço requisitado.
Outra boa pratica é liberar acesso somente a IPs desejados, configurando as
restrições do ssh para não permitir login como root e configurar os módulos do PAM
para restringir acesso ao servidor em determinado horário.
2.1.10 Gerenciamento de privilégios
O foco de um Cracker/Hacker é conseguir o controle total do sistema, e a
melhor maneira é conseguir a senha do root. Após conseguirem a senha do root
eles passam a ter acesso ilimitado ao sistema. Para evitar que isso ocorre podemos
utilizar algumas técnicas como:
•
Desativar o login como usuário root nos terminais modo texto torna-se
fundamental, dessa forma, o administrador deverá efetuar o login como usuário
comum e quando for necessário executar uma tarefa administrativa tornar se root
com o comando su.
•
Determinar a data de validade para a senha dos usuários e, com auxílio do
comando usermod, remover shells válidos de usuários que não estão em uso
também são ações importantes a serem tomadas para garantir a robustez do
sistema.
2.1.11 Segurança no Terminal
Uma maneira simples mas pratica de proteger o terminal é utilizar a variável
TMOUT que tem a função de executar um logout automático após determinado
tempo de inatividade do terminal, seu valor pode ser configurado no arquivo
/etc/profile. O valor a ser adicionado deverá ser analisado com cuidado, evitando
12
assim acessos indevidos. Valores muito altos podem dar espaço para que o usuário
tenha acesso à estação logado como root, valores muito baixos podem interferir em
tarefas onde é necessário uma pesquisa, por exemplo. Para editar o arquivo
/etc/profile e adicionar um valor de 60 segundo utilize os seguintes comandos:
Inserindo valores no /etc/profile.
#vim /etc/profile
TMOUT=60
export PATH TMOUT
Comando source.
#source /etc/profile
Outro ponto importante a ser levado em consideração quando se pensa em
controle de acesso em uma organização, é avaliar quem tem acesso aos servidores.
Usuários mal intencionados podem simplesmente usar o CTRL+ALT+DEL para
reiniciar o servidor, parando assim todos os serviços disponíveis em uma rede.
Segundo a norma ISO 27002, devem-se tratar as questões de acesso físico à sala
de servidores. No entanto, independentemente desta norma, pode-se inibir a função
CTRL+ALT+DEL editando o arquivo /etc/inittab, conforme o exemplo a seguir.
#vim /etc/inittab
Antes
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
Depois
# What to do when CTRL-ALT-DEL is pressed.
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
Ou
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/bin/echo “Opção desativada !”
13
Zoom de Listagem [fechar]
2.1.12 SSH (Secure Shell)
Atenção especial em configurar o SSH, pois este programa é utilizado para
executar comandos em uma máquina remota e copiar arquivos de um computador
para outro. Isso tudo pode ser feito pela internet não é necessário estar na mesma
rede física que o servidor.
Editando o arquivo /etc/ssh/sshd_config (ssh)
#vim /etc/ssh/sshd_config
Altere a porta padrão
Port 42129
Protocolo 2 (anteriores possuem falhas de segurança)
Protocol 2
Tempo ativado para digitar a senha
LoginGraceTime 45
Não aceitar login como root
PermitRootLogin no
Não aceitar login sem senha
PermitEmptyPasswords no
Usar o modulo do pam para se autenticar
UsePAM yes
Definir usuários que tem permissão de fazer login
14
AllowUsers “luis”
Depois basta reiniciar o serviço ssh:
$invoke-rc.d ssh restart
2.1.13 Portas Abertas
Nmap veio para ajudar os administradores, a verificarem portas abertas em seus
servidores, na instalação de um novo sistema ou de novos serviços a grande
possibilidade de deixarem portas abertar/vulneráveis. Nmap faz um scan em todas
as portas e gera um log onde mostra as portas abertas em seu servidor, com esse
auxilio fica mais fácil verificar que portas realmente necessitam de estarem abertas e
que medidas devemos tomar para protege-las.
Abaixo um exemplo do log criado pelo Nmap:
#nmap -A -p 1-65535 localhost
PORT STATE SERVICE VERSION
22/tcp open ssh protocol 2.0
25/tcp open smtp Postfix smtpd
53/tcp open domain dnsmasq 2.47
80/tcp open http httpd 2.2.11
631/tcp open ipp CUPS 1.3.9
3306/tcp open mysql MySQL 5.0.75-0
Podemos verificar que a porta 80 está aberta, caso ela não seja utilizada
devemos fecha-la, para isso utilize o seguinte comando:
#iptables -A INPUT -i eth0 -p tcp -dport 80 -j DROP
15
Agora uma nova verificação para ver se continua aberta:
#nmap -A -p 80 localhost
PORT STATE SERVICE VERSION
22/tcp open ssh protocol 2.0
25/tcp open smtp Postfix smtpd
53/tcp open domain dnsmasq 2.47
80/tcp filtered http
631/tcp open ipp CUPS 1.3.9
3306/tcp open mysql MySQL 5.0.75-0
Como podemos perceber a porta 80 foi alterada para filtered, isso indica que a
regra de firewall foi adicionada com sucesso.
2.1.14 Suid Bit
É uma permissão especial disponível no GNU/Linux. Quando está
atribuída a um binário, é possível que um usuário execute o mesmo com os
privilégios de seu dono. Se o dono do binário for o usuário root, o usuário vai
executar o binário como root. Segundo a norma ISO 27002, no item 11.6.1, o acesso
à informação e às funções dos sistemas de aplicações por usuário e pessoal do
suporte devem ser restritas, de acordo com o definido na política de controle de
acesso. Os funcionários devem estar cientes desta norma, pois algo for violado, não
podem alegar o não conhecimento de seus deveres. Para fazer as alterações
dessas permissões no Suid-Bit podemos utilizar o seguinte script:
#vim /root/auditoria/localiza_suid.sh
#!/bin/bash
Envia uma mensagem na saída padrão de vídeo
16
echo "Verificando arquivos com permissão de SUID BIT.."
Faz uma busca em todo sistema por arquivos que contenham a permissão de
SUID BIT e salva em um arquivo texto
find / -perm -4000 > /root/auditoria/list.suid
Envia mensagem na tela orientando o que deve ser feito
echo -n "Deseja remover o SUID BIT dos arquivos?(S/N):"
Recebe a opção escolhida
read acao
Executa a ação
case $acao in
S|s)
chmod -Rv -s /
echo " Permissões de SUID BIT Removidas!"
sleep 3
exit
;;
N|n)
exit
;;
*)
echo "Opção Inválida!!"
sleep 3
exit
;;
esac
17
Após o script ter sido criado as permissões de acesso ao mesmo devem ser
alteradas, para que somente o root tenha acesso a ele, com o seguinte comando:
#chmod 700 /root/auditoria/localiza_suid.sh
O primeiro passo é executar o script, e como parâmetro deverá ser utilizado “n”
ou “N”. Nesse modo ele apenas irá gerar uma lista de binários que possuem a
permissão de SUID-BIT no sistema.
#./localiza_suid.sh n
Como se trata de um sistema recém-instalado, o administrador não deve
encontrar nenhum problema. Mas é necessária a atenção do mesmo, pois se estiver
analisando um servidor de uma empresa, onde este se encontra em produção,
devem-se remover as permissões suid.
Agora execute o script utilizando o parâmetro “s” ou “S”, removendo assim a
permissão SUID BIT de todos os binários.
#./localiza_suid.sh s
Deve-se observar quais binários serão necessários ficar com a permissão ativa.
Considerando que o firewall está sendo desenvolvido, o comando su será
necessário para que o usuário comum possa virar root e assim executar as políticas
implementadas no firewall. Utilizando o comando chmod, atribui-se a permissão suid
somente ao comando su, para isso utilize o comando:
# chmod +s /bin/su
Outro binário que precisamos deixar com a permissão SUID BIT ativa é o
passwd, para que os usuários consigam trocar suas próprias senhas:
18
# chmod +s /usr/bin/passwd
Com essa modificação, um dos problemas será resolvido. Mas apenas retirar a
permissão SUID BIT dos comandos não evitará problemas no sistema de
arquivos.
Um cracker pode instalar uma backdoor no sistema utilizando uma técnica como,
por exemplo, o PHP Injection (inserção de script malicioso através de páginas
vulneráveis), a colocando dentro do /tmp com permissões de SUID BIT e executá-la
remotamente. Para exemplificar um ataque ao diretório /tmp, é utilizado o comando
adduser para adicionar um usuário luis:
.
#adduser luis
Copiar todos os shells do sistema para a partição /tmp:
# cp /bin/*sh* /tmp
Atribuir a permissão de Suit-Bit:
# chmod 4755 /tmp/*sh*
Exemplo de usuário comum com permissão de root:
$w
22:31:21 up 3:46, 1 users, load average: 0,07, 0,07, 0,08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
luis tty1 - 22:20 0.00s 0.26s 0.01s w
$ cd /tmp
$ ./sh
Utilizando o parâmetro nosuid evitamos este tipo de problema, ele inibe a
execução de binários na partição indicada. Logado como usuário root, aplica-se
19
essa opção à partição montada em /tmp, Para remontar o diretório com a opção
nosuid utiliza-se:
# mount -o remount,rw,nosuid /tmp
# mount
Atenção. O diretório /tmp deverá estar em uma partição separada. Isso segue as
boas práticas de particionamento.
2.1.15 NOEXEC
O comando mount tem um parâmetro chamado noexec, seu uso pode evitar que
um script malicioso seja executado dentro dessa partição.
Para isso utilize o seguinte comando:
# mount -o remount,rw,noexec /tmp
Atenção, realizando a montagem das partições manualmente, os parâmetros não
serão aplicados de forma fixa às partições, ou seja, ao reiniciar o sistema, essas
configurações serão perdidas. Para que as configurações sejam mantidas mesmo
após um restart, basta editar o arquivo /etc/fstab (responsável por armazenar a
tabela de partições do GNU/LINUX, que é lido durante o boot do sistema).
Se o administrador for executar o aplicativo aptitude com as partições /tmp e /var
já configuradas com noexec e nosuid, pode encontrar um erro, pois o aplicativo
aptitude necessita de executar scripts dentro dessas partições, o seguinte script
pode ser utilizado para resolver este problema, removendo assim a proteção ao
executar o aplicativo e depois reativa-las.
#!/bin/bash
case $1 in
20
start)
Monta as partições listadas
mount -o remount,rw,noexec /var
mount -o remount,rw,noexec /tmp
mount
echo "Partições SEM permissão de execução"
;;
stop)
Monsta as partições listadas
mount -o remount,rw,exec /var
mount -o remount,rw,exec /tmp
mount
echo " Partições COM permissão de execução "
;;
*) echo "erro use $0 {start|stop}"
exit 0
;;
esac
exit 1
21
3 SERVIÇOS IP
3.1 Serviços IP e alguns aspectos de segurança
Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde
ataques passivos (como espionagem) até ataques ativos (como a impossibilidade de
acesso aos serviços). Por esses e outros motivos necessitamos de manter um nível
de segurança e controle desses serviços.
3.1.1 Protocolo DHCP
DHCP. Do inglês Dynamic Host ConfigurationProtocol é um protocolo utilizado
em redes de computadores que permite às máquinas obterem um endereço IP
automaticamente.
O protocolo DHCP, por meio de um servidor é capaz de distribuir
automaticamente endereços de IP diferentes a todos os computadores à medida que
eles fazem a solicitação de conexão com a rede. Essa distribuição dos IPs é feita em
um intervalo pré-definido configurado no servidor. Sempre que uma das máquinas
for desconectada o IP ficará livre para o uso em outra.
•
Configuração manual - O administrador de rede pode configurar um
determinado endereço para um determinado host.
•
Configuração automática - O administrador permite que um servidor DHCP
atribua um endereço permanente quando um computador conecta-se pela primeira
vez na rede.
•
Configuração dinâmica - O servidor “empresta” um endereço a um host, por
um tempo limitado.
No conceito de segurança o DHCP dinâmico pode vir a comprometer seriamente
a rede cujos pontos de acesso não são controlados, ou são utilizados por usuários
22
não confiáveis. Um usuário mal intencionado ou desavisado pode causar grandes
transtornos, configurando um servidor DHCP não oficial, por exemplo. Em redes
onde o tipo de controle é feito á nível de maquina, é necessário restringir o uso do
DHCP dinâmico.
O uso do DHCP com alocação dinâmica pode comprometer seriamente a
segurança de uma rede cujos pontos de acesso não são controlados, ou são
utilizados por usuários "não confiáveis". As máquinas clientes buscam o serviço de
DHCP na rede através de Broadcast e o servidor irá responder, mas quem pode
garantir que este servidor que respondeu é o legitimo da rede? O DHCP é
construído sobre o protocolo UDP, que é um protocolo inseguro, herdando, portanto,
as suas falhas de segurança.
A base de protocolo DHCP não inclui qualquer mecanismo de autenticação. Por
isso, é vulnerável a uma variedade de ataques como:
* Servidores DHCP não autorizados fornecimento de informações falsas aos
clientes.
* Clientes não autorizados tenham acesso aos recursos.
* Esgotamento dos recursos de clientes ataques maliciosos DHCP.
Em alocação manual, o endereço de IP de um cliente é atribuído pelo
administrador da rede, e o DHCP é usado simplesmente para transmitir o endereço
atribuído ao cliente. O endereço IP é associado ao endereço físico da maquina, o
MAC.
Uma rede privada, independentemente de seu porte, estrutura ou finalidade
poderá e irá utilizar um ou mais desses mecanismos, dependendo de fatores como:
a política do administrador da rede, finalidade da rede, serviços sendo executados e
disponibilizados na rede, tipos de maquinas e equipamentos conectados, entre
outros.
O servidor DHCP não tem nenhum mecanismo seguro para autenticar o cliente,
os clientes podem obter acesso não autorizado aos endereços IP de apresentação
de credenciais, tais como identificadores do cliente, que pertencem a outros clientes
DHCP. Isso também permite que os clientes DHCP para esgotar o DHCP
armazenamento de servidor de endereços IP-, apresentando novas credenciais cada
vez que ele pede um endereço, o cliente pode consumir todos os endereços IP
disponíveis em um link de rede particular, impedindo outros clientes DHCP da
obtenção de serviços. DHCP fornece alguns mecanismos para mitigar esses
23
problemas.
3.1.2 Protocolo HTTP
Hyper Text Transfer Protocol é o protocolo usado na World Wide Web para a
distribuição e recuperação de informação. A troca de informações entre um browser
e um servidor Web é toda feita através desse protocolo, que foi criado
especificamente para a World Wide Web.
O HTTP define uma forma de conversação no estilo pedido-resposta entre um
cliente (o
(Browser) e um servidor (o servidor Web). Toda a conversação se dá no formato
ASCII (texto puro) através de um conjunto de comandos simples baseados em
palavras da língua inglesa
No conceito de segurança o HTTP pode limitar a quantidade de informações
exibidas sobre o servidor, pode remover as funcionalidades desnecessárias, e limitar
à quantidade de informações exibidas sobre o servidor. Em sua configuração padrão
os servidores HTTP exibem uma série de informações valiosas, nas quais devemos
limitar ao máximo a sua exibição para em caso de ataques, elas não ficarem
expostas. Quando for configurado, devemos remover as funcionalidades que são
consideradas desnecessárias como: Módulos para autenticação, redirecionamentos,
páginas pessoais de usuários, pois se ficarem expostas possa por em risco a
segurança de todo o servidor.
Já que o foco é segurança, é valido também citar o protocolo HTTPS, que, para
fácil entendimento, é o protocolo HTTP, melhorado com uma camada extra de
segurança, onde os dados que trafegam sob esse protocolo são transmitidos de
forma criptografada usando os protocolos SSL/TLS, que permitem justamente essas
comunicação segura, e a verificação da autenticidade do servidor e do cliente.
3.1.3 Protocolo SMTP
24
O SMTP (Simple Mail TransferProtocol, que se pode traduzir por Protocolo
Simples de Transferência de Correio), controla como o e-mail é transportado e
entregue através da Internet, ao servidor de destino. O serviço SMTP envia e recebe
e-mails entre os servidores. Sempre que alguém manda um e-mail, um servidor
SMTP se encarrega de levá-los a seu destino, ou seja, qualquer ferramenta ou
serviço de e-mail pode utilizar esse protocolo de envio de mensagens.
O SMTP deve ser configurado de forma eficiente, pois por ele é possível enviar
mensagens de e-mail com qualquer identificação, se esta questão não for trabalhada
durante a sua configuração.
Como exemplo, e por efeito de conhecimento, explicarei um pouco sobre
alguns aspectos de uma ferramenta de e-mail bastante difundida entre os adeptos
de softwares livres, o Sendmail.
O Sendmail é um agente de transferência de correio de código aberto, que
suporta diversos tipos de transferência de e-mail e métodos de entrega, incluindo o
SMTP, citado acima. Algumas dicas para a segurança de quem quiser implementar
o serviço seguem abaixo.
Devido à natureza do e-mail, um determinado atacante pode facilmente lotar o
servidor com correspondências e causar um ataque “denial of service”. Ao
determinar limites para as diretivas a seguir em /etc/mail/sendmail.mc, a efetividade
de ataques deste tipo é limitada.
•
confCONNECTION_RATE_THROTTLE — O número de conexões que o
servidor pode receber por segundo. Por default, o Sendmail não limita o número de
conexões. Se um limite for definido e alcançado, conexões futuras terão demora.
•
confMAX_DAEMON_CHILDREN — O número máximo de processos-filho que
podem ser gerados pelo servidor. Por default, o Sendmail não determina um número
limite de processos-filho. Se um limite for definido e alcançado, conexões futuras
terão demora.
•
confMIN_FREE_BLOCKS — O número mínimo de blocos livres que devem
estar disponíveis para que o servidor aceite correspondência. O default são 100
blocos.
•
confMAX_HEADERS_LENGTH — O tamanho máximo aceitável (em bytes)
para o cabeçalho de uma mensagem.
•
confMAX_MESSAGE_SIZE — O tamanho máximo aceitável (em bytes) para
qualquer mensagem.
25
3.1.4 Protocolo SSH
O protocolo de comunicação SSH (Secure Shell), é um protocolo que visa fazer a
comunicação remota de forma segura entre dois hosts. Existem duas versões do
protocolo, o SSH1 e o SSH2. O SSH1 já é considerado ultrapassado, por isso nas
comunicações e trocas de dados baseadas nesse protocolo é utilizada a versão
SSH2, que garante uma segurança mais elevada em relação à primeira versão.
Em uma estrutura cliente servidor o SSH garante, o acesso seguro aos
servidores para manutenção remota. Possui opções nativas, que necessitam ser
ativadas e configuradas, que permitem impedir, por exemplo, que o usuário faça o
login como root, evitando permissões especiais a visitantes que não precisam, é
possível também limitar o tempo de uma sessão dos usuários como root.
São apenas alguns exemplos das vantagens relacionadas à segurança que
esse protocolo oferece, o que o torna uma ferramenta de grande relevância para um
ambiente de rede seguro.
Para resumir, O SSH envia dados criptografados e dependendo da sua
configuração, pode implantar autenticação de chaves, por isso ele se torna uma
ótima opção em relação aos outros que enviam dados em texto puro, dificultando o
ataque de spoofing e snifers.
26
4 NOÇÕES DE DIREITO E LEGISLAÇÃO EM INFORMÁTICA
4.1 Legislação aplicável a crimes cibernéticos
Classifica-se como Crime Cibernético: Crimes contra a honra (injúria, calúnia e
difamação), furtos, extorsão, ameaças, violação de direitos autorais, pedofilia,
estelionato, fraudes com cartão de crédito, desvio de dinheiro de contas bancárias. A
lista de crimes cometidos por meio eletrônico é extensa e sua prática tem
aumentado geometricamente com a universalização da internet.
Crime informático, e-crime, cyber crime, crimes eletrônicos ou crime digital são
termos utilizados para se referir a toda à atividade onde um computador ou uma rede
de computadores é utilizada como uma ferramenta, uma base de ataque ou como
meio de crime.
A internet ainda é tida por muitos como um território livre, sem lei e sem punição.
Mas a realidade não é bem assim: diariamente, o Judiciário vem coibindo a
sensação de impunidade que reina no ambiente virtual e combatendo a
criminalidade cibernética com a aplicação do Código Penal, do Código Civil e de
legislações específicas como a Lei n. 9.296 – que trata das interceptações de
comunicação em sistemas de telefonia, informática e telemática – e a Lei n. 9.609 –
que dispõe sobre a proteção da propriedade intelectual de programas de
computador.
Atualmente existem mais de 17 mil decisões judiciais envolvendo problemas
virtuais, em 2002 eram apenas 400. Na ausência de uma legislação específica para
crimes eletrônicos, os tribunais brasileiros estão enfrentando e punindo internautas,
crakers e hackers que utilizam a rede mundial de computadores como instrumento
para a prática de crimes. Grande parte dos magistrados, advogados e consultores
jurídicos considera que cerca de 95% dos delitos cometidos eletronicamente já estão
tipificados no Código Penal brasileiro por caracterizar crimes comuns praticados por
27
meio da internet como: insultar a honra de alguém (calúnia – artigo138), espalhar
boatos eletrônicos sobre pessoas (difamação – artigo 139), insultar pessoas
considerando suas características ou utilizar apelidos grosseiros (injúria – artigo
140), ameaçar alguém (ameaça – artigo 147), utilizar dados da conta bancária de
outrem para desvio ou saque de dinheiro (furto – artigo 155), comentar, em chats, emails e outros, de forma negativa, sobre raças, religiões e etnias (preconceito ou
discriminação – artigo 20 da Lei n. 7.716/89), enviar, trocar fotos de crianças nuas
(pedofilia – artigo 247 da Lei n. 8.069/90, o Estatuto da Criança e do Adolescente ECA).
Os outros 5% para os quais faltaria enquadramento jurídico abrangem
transgressões que só existem no mundo virtual, como a distribuição de vírus
eletrônico, cavalos-de-tróia e worm (verme, em português).
O STJ, como guardião e uniformizador da legislação infraconstitucional, vem
consolidando a aplicação desses dispositivos em diversos julgados. Nos casos de
pedofilia, por exemplo, o STJ já firmou o entendimento de que os crimes de pedofilia
e divulgação de pornografia infantil por meios eletrônicos estão descritos no artigo
241 da Lei n. 8.069/90 (apresentar, produzir, vender, fornecer, divulgar ou publicar,
por qualquer meio de comunicação, inclusive pela rede mundial de computadores ou
internet, fotografias ou imagens com pornografia ou cenas de sexo explícito
envolvendo criança ou adolescente), e previstos em convenção internacional da qual
o Brasil é signatário.
Aplicando os dispositivos do Código Penal, o STJ vem negando habeas-corpus a
acusados e condenados por diversas modalidades de crimes eletrônicos. Entre
vários casos julgados, a Corte manteve a prisão do hacker Otávio Oliveira Bandetini,
condenado a 10 anos e 11 meses de reclusão por retirar irregularmente cerca de R$
2 milhões de contas bancárias de terceiros via internet; negou o relaxamento da
prisão preventiva de um tatuador denunciado por divulgar fotos pornográficas de
crianças e adolescentes na internet; de um acusado preso em operação da Polícia
Federal por participar de um esquema de furto de contas bancárias; de um hacker
preso pelos crimes de furto mediante fraude, formação de quadrilha, violação de
sigilo bancário e interceptação telemática ilegal; e de um técnico em informática de
Santa Catarina acusado de manipular e-mails para incriminar colegas de trabalho.
Já os delitos informáticos próprios são aqueles em que o bem penal protegido é
28
violado. Exemplo desse crime pode ser apontada a interceptação telemática ilegal,
prevista no art. 10 da lei 9296/96 (Lei federal Brasileira) pirataria/reprodução não
autorizada de um programa informático protegido: processo de cópia ilegal de
software, reprodução, difusão ou comunicação ao público, sem autorização, de um
programa informático protegido pela lei. Tal conduta já se encontra devidamente
tipificada pelo legislador penal pátrio, no art. 12 da Lei nº 9.609, de 19 de fevereiro
de 1998.
Utilização não autorizada de um programa informático protegido: utilização sem
autorização de um programa informático protegido pela lei e reproduzido sem
autorização, na intenção, seja de obter para si ou para outrem qualquer vantagem,
seja de causar prejuízos ao titular do direito. Tal conduta também se encontra
devidamente tipificada pelo legislador penal pátrio, no art. 12 da Lei nº 9.609, de 19
de fevereiro de 1998, vez que viola o direito de autor de programa de computador.
O legislador começou a se preocupar com o mau uso dos recursos da
informática, introduzindo em nosso ordenamento jurídico a Lei 7.646/87, que
regulamenta a proteção da propriedade intelectual sobre programas de computador
e sua comercialização no país. Esta Lei prevê dois tipos penais relativos à matéria:
Art. 35 – Violar direito do autor de programa de computador: Pena-detenção, de 6
(seis) meses a 2 (dois) anos e multa.
Art. 37- Importa, expor, manter em depósito, para fins de comercialização,
programas de computador de origem externa não cadastrada. Pena- detenção, de 1
(um) a 4 (quatro) anos e multa.
Lei 8.078/90
Art. 72- Impedir ou dificultar o acesso de consumidor às informações que sobre
ele constem em cadastros, banco de dados, fichas e registros: Pena- detenção de 6
(seis) meses a 1 (um) ano ou multa.
Art. 73- Deixar de corrigir imediatamente informação sobre consumidor constante
no cadastro, banco de dados, fichas ou registros que sabe ou deveria saber ser
inexata: Pena- detenção de 1 (um) a 6 (seis) ou multa.
O texto legal, Lei nº 9.296, de 24 de julho de 1996, em seu art. 10 tipifica a
interceptação de comunicações de informática e telemática.
Art. 10. Constitui crime realizar interceptação de comunicações telefônicas, de
29
informática ou telemática, ou quebrar segredo da Justiça, sem autorização judicial ou
com objetivos não autorizados em lei.
Pena: reclusão, de dois a quatro anos, e multa.
Lei nº 9.609, de 19 de fevereiro de 1998.
Dispõe sobre a proteção da propriedade intelectual de programa de computador
e sua comercialização no País tutelando apenas e tão-somente o direito de autor de
programas de computador.
Lei nº 9.983, de 14 de julho de 2000.
Essa lei alterou alguns artigos da Parte Especial do Código Penal, acrescentando
dispositivos que tratam das seguintes condutas concernentes à criminalidade
informática:
Art. 313 – “A” do Código Penal: Inserção de dados falsos em sistema de
informações, alteração ou exclusão indevidas de dados corretos nos sistemas
informatizados ou bancos de dados da Administração Pública;
Art. 313 – “B” do Código Penal: Modificação ou alteração não autorizada de
sistema de informações ou programa de Informática;
[...]
Art. 153, § 1º, do Código Penal: Divulgação, sem justa causa, de informações
sigilosas ou reservadas, assim definidas em lei, contidas ou não nos sistemas de
informações ou banco de dados da Administração Pública;
[...]
Art. 325, § 1º, inc. I, do Código Penal: Fornecimento e empréstimo de senha a
pessoas não autorizadas, a sistemas de informações ou banco de dados da
Administração Pública;
Art. 325, § 1º, inc. II, do Código Penal: Utilização indevida do acesso restrito.
O Estatuto da Criança e do Adolescente (com redação dada pela Lei n° 10.764,
de 12 de novembro de 2003) divulgação, por qualquer meio de comunicação,
inclusive pela internet, de imagens com pornografia ou cenas de sexo explícito
envolvendo criança ou adolescente.
“Art. 241”. Apresentar, produzir, vender, fornecer, divulgar ou publicar, por
qualquer meio de comunicação, inclusive rede mundial de computadores ou internet,
fotografias ou imagens com pornografia ou cenas de sexo explícito envolvendo
30
criança ou adolescente:
Pena - reclusão de 2 (dois) a 6 (seis) anos, e multa.
§ 1o Incorre na mesma pena quem:
I - agencia, autoriza, facilita ou, de qualquer modo, intermedeia a participação de
criança ou adolescente em produção referida neste artigo;
II - assegura os meios ou serviços para o armazenamento das fotografias, cenas
ou imagens produzidas na forma do caput deste artigo;
III - assegura, por qualquer meio, o acesso, na rede mundial de computadores ou
internet, das fotografias, cenas ou imagens produzidas na forma do caput deste
artigo.
§ 2o A pena é de reclusão de 3 (três) a 8 (oito) anos:
I - se o agente comete o crime prevalecendo-se do exercício de cargo ou função;
II - se o agente comete o crime com o fim de obter para si ou para outrem
vantagem patrimonial.
31
5 BANCO DE DADOS
Este banco de dados foi modelado com o intuito de armazenar informações
sobre a incidência de ataques que ocorre em determinado ambiente, os tipos de
ataques mais comuns, as soluções dadas a determinados tipos, e também
demonstrar o estado do chamado (Em andamento, sem solução ou solucionado) e
os respectivos relatores, e responsável pelo fechamento, ou atualização do status do
chamado.
5.1 MER(Modelo Relacional)
Figura - MER
Fonte: Autoria própria.
32
5.2 DER (Dagrama Entidade Relacionamento)
Figura - DER
Fonte: Autoria própria.
5.3 Script
CREATE DATABASE projeto;
\c projeto
CREATE TABLE usuario(
codigo integer not null,
usuario varchar(80) not null,
CONSTRAINT Usuario_PK PRIMARY KEY (codigo)
);
33
CREATE TABLE incidente(
Cod_Incidente integer NOT NULL,
Class_Incidente integer NOT NULL,
Usuario_Cod integer NOT NULL,
Incidente_Data_Hora timestamp NOT NULL,
Incidente_Tipo varchar(120) NOT NULL,
Incidente_Depart varchar(30) NOT NULL,
CONSTRAINT Incidente_PK PRIMARY KEY (Cod_Incidente),
CONSTRAINT Usuario_Cod_Incidente_Fk FOREIGN KEY (Usuario_Cod)
REFERENCES usuario (codigo)
);
CREATE TABLE solucao(
Incidente_Cod_Incidente integer NOT NULL ,
Usuario_Cod_Usuario integer NOT NULL,
Solucao_Descricao text NOT NULL,
Solucao_Data_Hora timestamp NOT NULL,
CONSTRAINT Solucao_PK PRIMARY KEY (Incidente_Cod_Incidente),
CONSTRAINT
Incidente_Cod_Incidente_FK
FOREIGN
KEY
(Incidente_Cod_Incidente) references incidente (Cod_Incidente),
CONSTRAINT
Usuario_Cod_Usuario_FK
FOREIGN
KEY
(Usuario_Cod_Usuario) references usuario (codigo)
);
insert into usuario (codigo, usuario) values(001,'Samuel');
insert into usuario (codigo, usuario) values(002,'Ana');
insert into usuario (codigo, usuario) values(003,'Luis');
insert into usuario (codigo, usuario) values(004,'Lucas');
insert
into
incidente
(Cod_Incidente,Class_Incidente,Usuario_Cod,Incidente_Data_Hora,Incidente_Tipo,I
ncidente_Depart) values(101,2,002,'2012-05-16 15:36:38','Foi detectado um ataque
34
de Spam no Emails','Financeiro');
insert
into
solucao
(Incidente_Cod_Incidente,Usuario_Cod_Usuario,Solucao_Descricao,Solucao_Data_
Hora) values(101,2,'Foi Trocada a porta de recebimento de email, para a porta 587 e
instalacao do certificado de seguranca','2012-05-18 15:36:38');
5.4 Respostas dos Selects
2- Quais incidências ainda não foram resolvidas (estão pendentes)?
Select Incidente_Tipo from incidente where Class_Incidente=0;
3- Quais incidências estão em avaliação?
Select Incidente_Tipo from incidente where Class_Incidente=1;
4- Quais incidências foram resolvidas (estão concluídas)?
Select Incidente_Tipo from incidente where Class_Incidente=2;
5- Qual a solução foi dada para uma determinada incidência? Quem resolveu?
Quanto tempo (em dias) demorou a soluciona-la? Quem relatou o incidente?
Select Solução_Descricao from Incidente where Cod_Incidente = 101
Select Usuario_Cod from Incidente where Cod_Incidente = 101
Select Usuario_Cod_Usuario from Solucao where Incidente_Cod_Incidente = 101
Select Incidente.Incidente_data_hora,Solucao.Solucao_data_hora,
timestamp '2012-05-16 15:36:38' - timestamp '2012-05-18 15:36:38'
dias FROM Incidente where Incidente.Cod_Incidente=101;
7- Quais os tipos de ataques mais comuns na empresa nos últimos12 meses?
Select cod_Incidente,Class_Incidente, Count(*) from incidente where
date_part('year',Incidente.Incidente_Data_Hora) = '2013' and
cod_incidente='101' group by cod_Incidente;
35
5.5 Especificações técnicas do servidor de banco de dados
Processador
Família de produtos E5-2400 com processador Intel® Xeon®
Soquetes de processador:
2
Interconexão interna:
Link Intel QuickPath Interconnect (QPI): 6,4 GT/s; 7,2 GT/s; 8,0 GT/s
Cache:
2,5 MB por núcleo; opções de núcleo: 2, 4, 6, 8
Sistema operacional
Microsoft® Windows Server® 2012
Microsoft Windows Server 2012 Essentials
Microsoft Windows Server 2008 R2 SP1, x64 (inclui Hyper-V® v2)
Novell® SUSE® Linux Enterprise Server
Red Hat® Enterprise Linux®
Opções de virtualização:
Citrix® XenServer®
VMware® vSphere® ESX™ e ESXi™
Red Hat Enterprise Virtualization®
Chipset
Intel C600 Series
Memória RAM1
Até 384 GB (12 slots DIMM) DDR3 de 2 GB/4 GB/8 GB/16 GB/32 GB até 1600 MT/s
Storage
Armazenamento interno máximo:
Até 32 TB
Unidades de disco rígido:
Opções de disco rígido com conector automático:
SATA de 2,5”, SAS nearline, SAS (15.000, 10.000), SSD SAS, SSD SATA
SATA de 3,5”, SAS nearline, SAS (15.000)
Unidades com criptografia automática disponíveis
Opções de disco rígido com cabo:
36
SATA de 3,5”, SAS nearline, SAS (15.000)
Compartimentos de unidade
As opções são: quatro de 3,5” cabeados, oito de 3,5” de conector automático ou
dezesseis de 2,5” de compartimento de unidade de conector automático
Slots
6 slots PCIe:
Dois slots x16 com largura de banda x16, 3.0, altura e comprimento completos
Um slot x8 com largura de banda x4, 3.0, meio comprimento, altura completa
Um slot x8 com largura de banda x4, 2.0, meio comprimento, altura completa
Um slot x8 com largura de banda x4, 3.0, altura e comprimento completos
Um slot x8 com largura de banda x1, 2.0, altura e comprimento completos
Opções de GPU:
Uma placa gráfica NVIDIA® Quadro® 6000 ou até duas placas gráficas NVIDIA
Quadro 4000
Controladores RAID
Controladores internos:
PERC S110 (SW RAID)
PERC H310
PERC H710
PERC H710P
HBAs externos (RAID):
PERC H810
HBAs externos (não RAID):
SAS HBA de 6 Gbps
Controlador de rede
Placa de rede incorporada:
Broadcom® 5720 GbE de duas portas
Alimentação
Fonte de alimentação:
Fontes de alimentação redundantes de conector automático e eficiência Platinum de
495W, 750 W e 1.100 W
Fonte de alimentação cabeada com eficiência Silver de 550 W
Fontes de alimentação de variação automática
Disponibilidade
37
Fontes de alimentação de alta eficiência, conector automático e redundante
opcionais; compartimentos de unidade de conector automático; TPM; suporte ao SD
interno duplo; ventiladores redundantes; memória ECC; tela de LCD interativa
opcional; suporte térmico estendido; compatível com ENERGY STAR®;
particionamento independente de switch, sem perda de performance em caso de
falha de fonte ou ventilador redundante.
Chassi
Formato:
Torre (montável em rack de 5 U)
Suporte a rack:
Trilhos deslizantes ReadyRails II para montagem sem ferramentas em racks de 4
hastes de orifícios redondos não rosqueados ou quadrados, ou montagem com
ferramentas em racks de 4 hastes rosqueadas, com suporte para braço de
gerenciamento de cabo opcional sem ferramentas (somente modelo para chassi
montável em rack)
Gerenciamento
Gerenciamento remoto:
Gerenciamento básico (padrão)
iDRAC7 com Lifecycle Controller
iDRAC7 Express (opção de atualização) ou iDRAC7 Enterprise (opção de
atualização)
Mídia vFlash de 8 GB ou 16 GB (opções de atualização)
Gerenciamento de sistemas:
Compatível com IPMI 2.0
OpenManage™ Essentials e Dell Management Console
OpenManage Power Center
Conexões do Dell OpenManage:
OpenManage Integration Suite para o Microsoft® System Center
Plug-in da Dell para o VMware® vCenter®
HP Operations Manager, IBM Tivoli® Netcool® e CA Network and Systems
Management (NSM)
38
6 PLANEJAMENTO DE SI
6.1 Planejamento de Segurança da Informação
O Planejamento de Segurança é algo necessário para bom funcionamento da
empresa como um todo. Ao contrário do que se pensa, o Planejamento de
Segurança vai muito além de limitações de acesso tanto físico quanto lógico, mas
começa desde a formatação de uma máquina e configuração do seu sistema
operacional (principalmente se tratando de servidores), até o controle de acessos,
limitação de banda, liberação de portas etc.
As configurações de serviços, de sistemas operacionais, de politicas e
procedimentos internos, devem possuir documentos devidamente atualizados,
especificando as devidas configurações, ou que atitude tomar em determinados
problemas que podem vir a ocorrer na empresa. Toda documentação tem por
objetivo garantir a continuidade do negocio, educar o usuário sobre os bons hábitos
de T.I, dar embasamento de acordo com a legislação vigente, para uma devida
punição caso qualquer tipo de violação das normas e políticas venham a ser
violadas por algum usuário.
Iniciando pelos servidores, é importante expor a real necessidade de se “blindar”
o S.O de um servidor, visando uma maior margem de segurança, e um mínimo risco
assumido sobre o mesmo. Algumas atitudes práticas podem ser tomadas visando a
preservação do “tripé” da área de segurança da informação, Integridade,
confidencialidade e disponibilidade, no que se trata de configuração de máquinas
para servidores.
A técnica Hardening (blindagem do sistema), que em uma descrição simplificada,
consiste na implementação de diretivas de segurança que devem ser seguidas
antes, durante e após a instalação e configuração de servidores. Trazendo assim
mais conhecimento, segurança, e tranquilidade para os administradores da rede.
Sem contar os benefícios que serão agregados a segurança de sua rede.
Algumas das vantagens de se utilizar essa técnica são, o fato de poder ser
39
aplicada em qualquer sistema operacional, a sua implementação aumenta o
desempenho de hardware, liberando recursos que estão sendo utilizados por
aplicativos desnecessários, implementando configurações específicas em alguns
serviços, consequentemente gerando um ambiente mais estável e seguro, pode ser
utilizado para evitar que usuários mal intencionados aproveitem da ausência do
administrador e implantem scripts maliciosos em servidores infectando toda a rede,
bloqueia o usuário administrador impedindo que faça login diretamente no terminal,
efetuar logout por tempo de inatividade, remover permissões especiais de binários
executáveis entre outros.
É fácil notar que a simples configuração minuciosa de um sistema operacional
pode evitar serias dores de cabeça para um administrador de redes.
Mas a técnica de Hardening não se limita simplesmente a configuração de um
sistema operacional propriamente dito.
Os serviços implementados no S.O, como por exemplo, DHCP, SSH, HTTP,
SMTP, podem ser configurados com parâmetros de segurança que assim como as
configurações primordiais do sistema operacional, visa dificultar a vida dos hackers,
e garantir que as informações mais sensíveis para o negocio da empresa estejam
seguras.
O DHCP, Dynamic Host Configuration Protocol (Protocolo de configuração
dinâmica de host), é um protocolo de serviço TCP/IP que oferece configuração
dinâmica de terminais, com concessão de endereços IP de host, Máscara de subrede, Default Gateway (Gateway Padrão), Número IP de um ou mais servidores
DNS, Número IP de um ou mais servidores WINS e Sufixos de pesquisa do DNS.
Este protocolo é o sucessor do BOOTP que, embora mais simples, tornou-se
limitado para as exigências atuais.
Resumidamente, o DHCP opera da seguinte forma:

Um cliente envia um pacote UDP em broadcast (destinado a todas as
máquinas) com uma requisição DHCP (para a porta 67);

Os servidores DHCP que capturarem este pacote irão responder (se o cliente
se enquadrar numa série de critérios — ver abaixo) para a porta 68 do Host
solicitante com um pacote com configurações onde constará, pelo menos, um
40
endereço IP, uma máscara de rede e outros dados opcionais, como o gateway,
servidores de DNS, etc...
O DHCP usa um modelo cliente-servidor, no qual o servidor DHCP mantém o
gerenciamento centralizado dos endereços IP usados na rede.
Para dificultar as invasões e aumentar o nível de segurança pode-se vincular o IP
com o endereço MAC da estação cliente que esta recebendo o IP.
O protocolo SSH, é muito utilizado no ambiente corporativo para o acessa
remoto a servidores, para manutenções e etc. Quando devidamente configurado, o
SSH garante, o acesso seguro aos servidores para manutenção remota, com suas
configurações bem feitas ele pode impedir por exemplo: que o usuário faça logim
como root, tendo acesso total ao servidor, e também é possível limitar o tempo de
acesso ao usuário root. O SSH, diferente dos outros protocolos têm o texto
criptografado por tanto evita ataques de spoofing e snifers.
O (HTTP) - Protocolo de Transferência de HyperText - é um protocolo de
comunicação (na camada de aplicação segundo o Modelo OSI) utilizado para
sistemas de informação de hipermídia distribuídos e colaborativos. Seu uso para a
obtenção de recursos interligados levou ao estabelecimento da World Wide Web
(WWW).
Ex: www.google.com
Normalmente, este protocolo HTTP utiliza a porta 80 e é usado para a comunicação
de site web, comunicando na linguagem HTML. Contudo, para haver comunicação
com o servidor do site é necessário utilizar comandos adequados, que não estão em
linguagem HTML.
No protocolo HTTP são usados alguns métodos que indicam algumas diferentes
ações com uma finalidade específica: a ser realizadas no recurso especifico como
GET e Post etc...
GET: Busca certo recurso.
Post: Envia certo recurso.
Vulnerabilidade do protocolo HTTP.
41
Vulnerabilidades existem, pois as informações trafegadas no protocolo HTTP
(métodos GET e Post) podem ser capturadas por softwares maliciosos, com isto
sugerimos a utilização do protocolo HTTPs (HTTP encapsulado por SSL), ou
melhorar o código da pagina acessada inibindo a execução de comandos direto pelo
navegador.
HTTPs (HyperText Transfer Protocol Secure) é uma implementação do protocolo
HTTP sobre uma camada adicional de segurança que utiliza o protocolo SSL/TLS.
Essa camada adicional permite que os dados sejam transmitidos por meio de uma
conexão criptografada e que se verifique a autenticidade do servidor e do cliente por
meio de certificados digitais. A porta TCP usada por norma para o protocolo HTTPS
é a 443.
Sistema operacional.
O serviço HTTP esta na camada da aplicação, e com isto gerenciado pelo sistema
operacional.
Para que o serviço HTTP tenha um bom resultado com relação a segurança, as
camadas transporte, internet e rede anteriores precisam estar bem configuradas.

Interface
de
Rede:
Podemos
desabilitar
alguns
serviços
como
compartilhamento arquivos e impressoras, IPV6, etc.

Firewall (Bloqueio de Portas e Acesso)

Configuração de segurança no servidor HTTP
Limitar execução de arquivos via HTTP (Arquivos: CGI)
Um outro ponto critico quando se trata de segurança no ambiente corporativo,
são os e-mails. Além dos trabalhos de conscientização dos usuários, uma boa
configuração do servidor e-mail pode ajudar a impedir a proliferação de Spans na
rede, e conseqüentemente, além de impedir a disseminação de softwares
maliciosos, e a quedo do desempenho da rede por causa dos spans e e-mails
indesejados.
SMTP – (Simple Mail Transfer Protocol "Protocolo de transferência de correio
simples") é o protocolo padrão para envio de e-mails através da Internet. É um
42
protocolo relativamente simples, baseado em texto simples, onde um ou vários
destinatários de uma mensagem são especificados (e, na maioria dos casos,
validados) sendo, depois, a mensagem transferida. É bastante fácil testar um
servidor SMTP usando o programa telnet.
Esse protocolo usa por padrão a porta 25 numa rede Transmission Control Protocol
(ou 465 para conexão criptografada via SSL).
A resolução DNS de um servidor SMTP de um dado domínio é possibilitada por sua
entrada MX (Mail eXchange).
A utilização em massa do SMTP remonta aos anos 1980. Na altura, era um
complemento ao UUCP, que era mais adequado para transferências de correio
eletrônico entre máquinas sem ligação permanente. Por outro lado, o desempenho
do SMTP aumenta se as máquinas envolvidas, emissor e receptor, se encontrarem
ligadas permanentemente.
O Sendmail foi um dos primeiros (se não o primeiro) agente de transporte de email
a implementar SMTP.
Em 2001, havia, pelo menos, cerca de 50 programas que implementavam SMTP
como cliente (emissor) ou servidor (receptor). Outros servidores SMTP muito
conhecidos são: exim, Postfix, Qmail, Microsoft Exchange Server e o Mail da Apple
disponível apenas para usuários do Mac OS ou do iOS para dispositivos móveis da
Apple.
Dada a especificação inicial, que contemplava apenas texto ASCII, este protocolo
não é ideal para a transferência de arquivos (também chamados de ficheiros).
Alguns Standards foram desenvolvidos para permitir a transferência de ficheiros em
formato binário através de texto simples, como o caso do MIME. Hoje em dia, quase
todos os servidores SMTP suportam a extensão 8BITMIME.
O SMTP é um protocolo de envio apenas, o que significa que ele não permite que
um usuário descarregue as mensagens de um servidor. Para isso, é necessário um
cliente de e-mail com suporte ao protocolo POP3 ou IMAP, o que é o caso da
maioria dos clientes atuais.
43
Sistema operacional.
O serviço SMTP está na camada da aplicação, e com isto gerenciado pelo sistema
operacional.
Para que o serviço SMTP tenha um bom resultado com relação a segurança, as
camadas transporte, internet e rede anteriores precisam estar bem configuradas.

Interface de Rede (Podemos desabilitar alguns serviços como Ex:
Compartilhamento arquivos etc.)

Firewall (Bloqueio de Portas e Acesso)

Implementar um serviço de Blacklist (BL) para filtrar é validar os endereços
positivos.

Mudar a porta em que o serviço SMTP irá ouvir (tradicionalmente é a 25). A
escolha de uma porta alta (maior que 1024) é importante pois muitos
scanners procuram somente por portas até 1024.
44
7 CONCLUSÃO
Neste trabalho foi exposto o resultado do Projeto Integrador, do curso de
Segurança da Informação III Período, onde foram integradas as disciplinas de
Serviços IP, Banco de Dados, Noções de Direito e Legislação de Informática,
Planejamento de SI e Sistemas Operacionais.
O principal objetivo deste trabalho foi integrar as disciplinas supra citadas,
visando a aplicação de politicas de segurança da informação.
45
REFERÊNCIAS
Hardening - Texto originalmente criado por:
Flavio Alexandre dos Reis
Eduardo Pagani Julio
Marcos Fabiano Verbena