ALUNOS: EDER, HANANNY, ALEXANDRE



Documentos relacionados
Instalação Apache + MySQL + PHPMyAdmin CentOS

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Manual do Usuário. Resumo

FACULDADE DE TECNOLOGIA SENAC GESTÃO DA TECNOLOGIA DA INFORMAÇÃO LABORATORIO DE REDE

Guia de instalação para ambiente de Desenvolvimento LINUX

Projeto Integrador Programação para Internet

Atividade Proposta da Disciplina: Laboratório de Rede de Computadores

Instalação e Configuração

Instalação do PHP no Linux

Sistemas Operacionais Livres. Servidor Web Apache

Faculdade de Tecnologia Senac Goiás. Goiânia, 28 de novembro de 2014.

Protocolos Telnet e SSH. Professor Leonardo Larback

Procedimentos para Reinstalação do Sisloc

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

COORDENAÇÃO DE TECNOLOGIA (COTEC) JUNHO/2010

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Procedimentos para Instalação do Sisloc

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Docas do Pará - Guia de Instalação

HOW TO Procedimento para instalar Aker Firewall virtualizado no ESXi 5.0

Instalação e Conguração do Xoops. Rogério Vinhal Nunes 26 de março de 2007

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Conexão rápida entre dois computadores em uma plataforma Linux

UNIVERSIDADE FEDERAL DE PELOTAS

Passo a Passo da instalação da VPN

Instalando servidor Apache

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

Procedimento para instalação do OMNE-Smartweb em Raio-X

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Instalando um pacote LAMP (Linux, Apache, MySQL, PHP) no Mandriva

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

SISTEMA CACIC IMPLANTAÇÃO AMBIENTE CENTRALIZADO RESUMO. Novembro de 2007 Dataprev URES

Introdução ao Sistema. Características

Kaspersky Anti-Virus 2013 Kaspersky Internet Security 2013 Lista de novos recursos

Manual de operação. BS Ponto Versão 5.1

MSN-Proxy v0.7 no Debian 5 (Atualizado)

SAD Gestor Gerenciador de Backup

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

MANUAL DE CONFIGURAÇÃO DO BACKUP

Servidor de Correio Eletrônico Postfix


Lógica de Programação

Mercado Eletrônico Instalação e Atualização MEConnect2

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Web Design Aula 11: Site na Web

Administração de redes Servidor FTP

TUTORIAL DE INSTALAÇÃO APACHE PHP POSTGRESQL 8.2

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Simulador ITIL Exame de Certificação da EXIM

GUIA PRÁTICO DE INSTALAÇÃO

Configuração de Digitalizar para

Laboratório de Redes. Professora Marcela Santos

Manual de Instalação do Agente Citsmart

Instalando o Debian em modo texto

Maker Planet Manual do Usuário

Desenvolvendo Websites com PHP

Como instalar o Ocomon passo a passo.

Projeto Amadeus. Guia de Instalação Windows

1 # yum install -y mysql mysql-devel mysql-server php-mysql. Instalação do openssl (necessário para comunicação web segura) 1 # yum install -y openssl

Manual Instalação e-cidade-transparência no Ubuntu Server

MEDCLIN Software de Clínica Médica

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Laboratório - Exploração do FTP

18/04/2006 Micropagamento F2b Web Services Web rev 00

PRÁTICA DE DNS - LINUX DIFERENÇAS NO ROTEIRO EM RELAÇÃO A IMAGEM DO DVD 1.A) INSTALAÇÃO DO SERVIDOR DNS INICIALIZAÇÃO DO AMBIENTE DO DVD

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Fonte: - Illustration by Gaich Muramatsu

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

BH PARK Software de Estacionamento

TRBOnet ENTERPRISE. Guia de Instalação. NEOCOM Ltd

Instalando o WordPress em localhost

Para que seja instalado o Bematef Total, é necessário que o computador onde seja efetuada a instalação

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Conceitos de relação de confiança

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Troubleshooting Versão 1.0

Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007

INSTRUMENTO NORMATIVO 004 IN004

Manual de Operação do Sistema de Tickets Support Suite

s editores de s Como configurar contas de nos principais Como configurar contas de s nos principais editores de s

Informática - Prof. Frank Mattos

HOW TO Como distribuir o Aker Client em

INSTALAÇÃO OASIS + WAMP SERVER NO AMBIENTE WINDOWS

Transcrição:

ALUNOS: EDER, HANANNY, ALEXANDRE Servidor Web Descrição O Projeto Apache HTTP Server é um esforço para desenvolver e manter um servidor HTTP de código aberto para os sistemas operacionais modernos, incluindo UNIX e Windows. O objetivo do projeto é fornecer um servidor seguro, eficiente e extensível que fornece serviços HTTP em sincronia com os padrões HTTP atuais. Apache httpd tem sido o servidor web mais popular na Internet desde abril de 1996, e comemorou seu aniversário de 17 anos como um projeto em fevereiro deste ano. O Apache HTTP Server ("httpd") é um projeto do The Apache Software Foundation. Configuração Instalando yum install httpd. Criando Virtual Host no ficheiro /etc/httpd/conf/httpd.conf:

Criando a pasta para a aplicação web no diretório /var/www/: Alterar o grupo da pasta para apache: Comando chrgrp apache loja/ Criando arquivo para teste:

Hardening HTTP Não é interessante que qualquer usuário tenha acesso aos detalhes técnicos do servidor então vamos fazer algumas alterações: Passo 1: Esconder a versão Apache. Acesse e edite o httpd.conf com vi /etc/httpd/conf/httpd.conf e encontre a linha ServerSignature e deixe como Off.

Passo 2: Ainda dentro do httpd.conf encontre a linha ServerTokens e coloque como Prod. (Valor que exibe menos informações). Passo 3: Agora vamos comentar a linha Options Indexes FollowSymLinks para que algum invasor não possa navegar pelos diretórios do Apache, é que links simbólicos não permita o acesso ao /, ou seja, ao sistema operacional. Passo 4:

Procure pelo parâmetro AllowOverride none e altere todos para all, existe mais de um AllowOverride. Isso irá otimizar o seu Apache e evitará que ao utilizar o.htaccess deixe caminhos abertos para invasões. Passo 5: Efetue o comando chown apache:apache /etc/httpd -R para que o diretório do Apache seja controlado pelo próprio usuário e dê a permissão 751 para que usuários que não sejam do servidor web, possam apenas executar os scripts, para isso, utilize o comando chmod 751 /etc/httpd -R. Reinicie o serviço com service httpd restart. OBS: No PHP, instalar o módulo do suphp para que cada site tenha um usuário igual ao Apache e os arquivos em PHP fiquem com a permissão máxima de 751 e html em 755 para evitar ataques pelo PHP.

Banco de Dados Descrição MySQL é a base de dados em código aberto número um, é a número um para web e uma excelente base de dados para embarcar. Configuração Instalando os pacotes do banco de dados e do PHP: Yum install php php-mysql mysql mysql-server Iniciando daemon: O comando abaixo instala algumas bases necessárias para o funcionamento interno do servidor, pois sendo um banco de dados, o MySQL usa a si próprio para armazenar informações de controle, tais quais como usuários e senhas.

Depois com o daemon parado inicie o MySQL pela primeira vez para a criação do banco:

Após entrar crie uma senha para o usuário root: Hardening MySQL Passo 1: Para uma maior segurança ao instalar o MySQL você pode executar o comando mysql_secure_installation :

Nas perguntas: Set root password? [Y/n] #Tecle Enter para setar a senha do usuário root do servidor MySQL New password: #Senha do root do SQL Re-enter new password: #Senha do root do SQL Remove anonymous users? [Y/n] #Tecle Enter para remover o acesso de usuários anônimos Disallow root login remotely? [Y/n] #Tecle Enter para remover o acesso remoto do root

Remove test database and access to it? [Y/n] #Tecle Enter para remover a tabela teste e seus acessos Reload privilege tables now? [Y/n] #Tecle Enter para recarregar os privilégios das tabelas Passo 2: Ative o log no arquivo /etc/my.cnf : Passo 3: Mude o diretório root no arquivo /etc/my.cnf :: Passo 4: Remover Histórico: Durante os procedimentos de instalação, há uma grande quantidade de informações sensíveis que podem ajudar um intruso para invadir um banco de dados. Esta informação é armazenada na história do servidor e pode ser muito útil se algo der errado durante a instalação. Devemos remover o conteúdo do arquivo MySQL history (~ /.mysql_history), onde todos os comandos SQL executados são armazenados (especialmente senhas, que são armazenados como texto simples):

Servidor DNS Descrição BIND é um software de código aberto que implementa o Sistema de Nomes de Domínio (DNS) protocolos para a Internet. É uma implementação de referência desses protocolos, mas é também o software de nível de produção, adequado para uso em aplicações de alto volume e de elevada fiabilidade. BIND é de longe o software DNS mais amplamente utilizado na Internet, fornecendo uma plataforma robusta e estável em cima do qual as organizações podem construir sistemas de computação distribuída com o conhecimento de que esses sistemas são totalmente compatíveis com os padrões de DNS publicados. Configuração Instalação: yum install bind bind-libs bind-utils Alterando arquivo de configuração /etc/named.conf: Any = para que o servidor possa receber requisições de qualquer host além do local.

Incluindo a zona: Criando o arquivo loja.db em /var/named: Alterando o arquivo loja.db: Use o comando chgrp named loja.db para alterar o grupo da base de dados: Testes em outra máquina:

Acessando o site pelo nome virtual:

Hardening DNS Configuração Servidor Master-Slave (Primário-Secundário): Configurando /etc/named.conf servidor máster para transferir a zona para o servidor 192.168.1.14: Configurando servidor slave para receber zona do máster: Acrescentando permissão de escrita para o diretório corrente /var/named/ :

Transferência: SERVIDOR 2 :

Servidor FTP O serviço de FTP do ambiente criado será o proftpd, entre outros existentes escolhemos esse pelo seu alto reconhecimento no mercado e pela sua fácil implementação, é na verdade um serviço que já vem quase pronto para se colocar em produção, somente com algumas configurações detalhadas visando maior segurança no ambiente criado. Comparados com os demais serviços decidimos fazer a utilização do mesmo para garantir maior segurança ao cenário ou ao menos reduzir o risco e ameaças que venham ser projetadas contra o ambiente. Configuração Iniciando a parte de configuração, o proftpd tem seu arquivo de configuração que fica em /etc/proftpd.conf lá iniciaremos sua parte de configuração visando o máximo de segurança no serviço, o servidor está rodando em modo standalone o que promove aos usuários disponibilidade do serviço de FTP, definindo também o access para que o administrador possa ter os resultados e verificar o dia e hora que o usuário acessou o serviço, olhe:

Com isso o administrador pode verificar usuário fulano logou no servidor" que é algo bastante útil quando o assunto se trata de segurança. Deixamos o acesso a raiz somente para o usuário root, isso também pode ser definido no arquivo de configuração, com isso temos a garantia de que somente o "super usuário" poderá acessar a raiz do serviço, já o usuário comum terá acesso a sua pasta home para maior integridade do serviço, veja: Descomentar essa linha é algo crucial, garantirá ao ambiente maior segurança ao ter cada usuário acessando a sua pasta home e não a raiz por completo. As definições da quantidade de usuários foram feitas conforme o ambiente já para evitar logon de algum usuário não autorizado e adequar o uso do serviço conforme o ambiente criado. Já as definições de logs no serviço, direcionamos para /var/log/proftpd, com isso o administrador tem a informação dos logs efetuados no sistema e o mesmo pode fazer a verificação se os logs estão em conformidade com o ambiente, após isso vamos configurar para que o serviço faça inicialização no boot, juntamente com o sistema, isso para ter mais uma garantia de segurança no serviço FTP, o usuário será criado no próprio servidor para que já temos a

listagem dos usuário que poderão ter acesso ao serviço e para que o administrador possa ter um controle maior do ambiente. Servidor E-mail O serviço de e-mail é o Postfix, tem a função de mensagens entre os usuários do ambiente, ele foi escolhido pelo alto reconhecimento no mercado e pela sua fácil implementação para atender o ambiente de trabalho. Configuração Configuração do serviço de e-mail foi feita no mesmo servidor que o FTP, ou seja, no primeiro servidor. Visando a segurança do serviço direcionamos os arquivos de logs para /var/log/maillog, dessa forma o administrador faz a análise do momento do log e também o horário em que o e-mail foi enviado dentro do ambiente, temos uma demonstração, veja:

Esse é uma mensagem colhida pelo administrador que mostra que o usuário alexandre@domain.com envia um e-mail para o usuário eder@domain.com no horário das 22:35 minutos, através dos logs tem como o administrador verificar o horário que o usuário enviou o e-mail, horário do seu log entre outras... Na verdade o serviço de e-mail não tem muitas ferramentas de segurança integradas no seu próprio serviço, então associamos o serviço de e-mail ao antivírus clamav e ao analisador de conteúdo de e-mail Amavis. Quando o serviço de correio eletrônico recebe uma mensagem, antes de disponha-la ao usuário destinatário, ele entrega ao Amavis para que o conteúdo da mensagem seja analisado. Caso alguma detecção de ameaça seja constatada, o Amavis envia a mensagem para o antivírus Clamav, este sim, o antivírus, tratará devidamente a mensagem conforme a sua configuração, lixeira, quarentena etc. Além desses dois softwares, foi utilizado também o Spamassassim, um software de detecção de spams. Fizemos o uso dessas ferramentas em conjunto justamente para garantir maior segurança na troca de e-mails no ambiente.

Pentests Após a demonstração do projeto chegamos a realizar alguns testes para verificar como anda a composição do local, para isso utilizamos alguns scanners conhecidos no mercado, utilizaremos nmap, nikto e OpenVAS contra o projeto acima mostrado para verificar o estado dos serviços depois de configurados, veja: Resultados com nmap: Resultados com nikto:

Resultados com OpenVAS: Vulnerabilidades:

Netsparker é um scanner de segurança de aplicações web, com suporte tanto para a detecção e exploração de vulnerabilidades. Tem como objetivo ser falso positivo-livre por apenas relatar vulnerabilidades confirmados após explorar com sucesso ou testá-los de outra forma.

Scans Resultados

Vulnerabilidades Detalhes Netsparker identificou uma injeção SQL baseada-booleano, que ocorre quando a entrada de dados por um usuário é interpretada como um comando SQL em vez de dados normais pelo banco de dados back-end. Netsparker confirmou a vulnerabilidade executando uma consulta SQL teste no banco de dados back-end.

Impacto Dependendo do banco de dados de back-end, as configurações de conexão de banco de dados e sistema operacional, um atacante pode montar um ou mais dos seguintes tipos de ataques com sucesso: Leitura, atualização e remoção de dados arbitrários / tabelas do banco de dados; A execução de comandos do sistema operacional subjacente. Ações à se tomar 1. Utilizar uma camada de acesso a banco de dados (DAL) ou usar ORM (Object Relational Mapping). A maioria dos sistemas de ORM utilizar apenas consultas parametrizadas e isso pode resolver todo o problema de injeção SQL. 2. Localizar todas as consultas SQL geradas dinamicamente e convertê-los para consultas parametrizadas. Prevenção A melhor maneira de proteger o seu código contra injeções SQL é usando consultas parametrizadas (declarações preparadas). Que todas as línguas modernas, oferecem bibliotecas internas para isso. Sempre que possível, não criar consultas SQL dinâmica ou consultas SQL com concatenação.

Detalhes Netsparker detectou que os dados senha estão sendo transmitidos através de HTTP. Impacto Se um atacante puder interceptar o tráfego de rede, ele / ela pode roubar as credenciais dos usuários. Ações à se tomar Mover todas as formas e páginas críticas para HTTPS e não atendê-los através de HTTP. Prevenção Todos os dados sensíveis devem ser transferidos através de HTTPS em vez de HTTP. Os formulários devem ser servidos através de HTTPS. Todos os aspectos da aplicação que aceitar a entrada do usuário, a partir do processo de login, só deve ser servido por HTTPS.