Você está na página 1de 35

WebServerSecurity

Sumrio
Capitulo 1 ............................................................................................................................... 4
1.

Introduo .................................................................................................................. 5

2.

Instalao e Configurao de um servidor WEB ...................................................... 5

2.1.

Configuraes Bsicas do Linux............................................................................. 5

2.2.

Alterando o nome da mquina.............................................................................. 5

2.3.

Instalao e configurao do MySQL Server......................................................... 6

2.4.

Instalao e configurao do Apache ................................................................... 6

2.5.

Instalando o PHP5 .................................................................................................. 7

2.6.

Testando o PHP5 / Obtendo detalhes sobre o PHP ............................................. 7

2.7.

Suporte ao MySQL no PHP5................................................................................... 8

3.

Wacko Picko ............................................................................................................... 9

Capitulo 2 ............................................................................................................................. 10
4.
4.1.

Tipos de Ataque ....................................................................................................... 11


Fingerprint em Servidores Web........................................................................... 11

4.1.1. Netcat ................................................................................................................... 11


4.1.2. Curl........................................................................................................................ 12
4.1.3. Whatweb .............................................................................................................. 12
5.

WebAppScans........................................................................................................... 13

5.1.1. NIKTO .................................................................................................................... 14


5.1.2. W3AF..................................................................................................................... 14
5.1.3. VEGA ..................................................................................................................... 15
5.2.

Online Web Scanners ........................................................................................... 15

Capitulo 3 ............................................................................................................................. 16
6.

Instalao do Ambiente em Chroot ........................................................................ 17

7.

Suhosin ..................................................................................................................... 19

7.1.

Instalando o PHP5 e Suhosin ............................................................................... 20

8.

ModSecurity + Geo IP .............................................................................................. 23

9.

Mod Evasive ............................................................................................................. 29

10.

Mod QoS ............................................................................................................... 31

11.

Mod Limitipconn .................................................................................................. 32

12.

OSSEC .................................................................................................................... 33

13.

Mysql..................................................................................................................... 35

Capitulo 1

Web Security Server

1. Introduo
Atualmente a maioria das aplicaes esto migrando para o ambiente WEB. E
com o crescimento dessas aplicaes on-line, a demanda por segurana tambm
aumenta, pois antes as bases de dados ficavam restritas ao acesso vindo de
dentro da empresa, entretanto agora, com as aplicaes WEB, as bases de
dados, bem como servidores pblicos que possuem acesso rede interna, esto
expostos ao acesso externo, muitas vezes sem controle de quem acessa. Por
conta desse cenrio, precisamos saber como se comporta um servidor WEB configurado
de maneira padro, bem como os riscos que corremos, e como possvel aumentar sua
segurana, dificultando as exploraes e comprometimentos. Sabemos que no caso de
uma aplicao PHP, muito do que consideramos como segurana, est vinculado
s boas prticas de programao. Entretanto, no podemos deixar de lado a
importncia que h na configurao correta, levando em conta a segurana, de
um servidor Apache e do prprio PHP, com as devidas alteraes no php.ini e
aplicao de patchs de segurana.

2. Instalao e Configurao de um
servidor WEB
Para iniciarmos nossa prtica, precisamos instalar e configurar um servidor WEB que
considerado o padro LAMP (Linux + Apache + MySQL + PHP). Utilizaremos um Debian
Linux, na verso 7, codinome Wheezy, como base e instalaremos os pacotes
existentes em seu repositrio padro, posto que assim que muitos servidores
so instalados e configurados

2.1. Configuraes Bsicas do Linux


Para o correto funcionamento do apache2, precisamos realizar algumas
configuraes para que o nome do computador seja resolvvel para si mesmo.

2.2. Alterando o nome da mquina


5

# vi /etc/hosts

127.0.0.1
192.168.x.x

localhost
oys-lamp-inseguro.oys.local

oys-lamp-inseguro

Vamos editar o arquivo /etc/hostname, para a mquina ter o nome completo com
domnio:
# vi /etc/hostname

oys-lamp-inseguro.oys.local

2.3. Instalao e configurao do MySQL


Server

# apt-get install mysql-server mysql-client

Aps a instalao dos pacotes, vamos setar uma senha para o root do MySQL:

2.4. Instalao e configurao do Apache


6

A seguir, vamos instalar o servidor Web Apache 2


# apt-get install apache2

No debian, o diretrio raiz padro do Apache2 /var/www, o arquivo de configurao


/etc/apache2/apache2.conf. As configuraes adicionais so armazenadas em subdiretrios de /etc/apache2 como /etc/apache2/mods-available (para os mdulos do
apache2)

/etc/apache2/sites-enable

(para

virtual

hosts

habilitados)

/etc/apache2/conf.d para demais configuraes.

2.5. Instalando o PHP5


Podemos instalar o PHP5 e o mdulo Apache PHP5 da seguinte forma:
# apt-get install php5 libapache2-mod-php5

Devemos reiniciar o apache aps a instalao:


# /etc/init.d/apache2 restart

2.6. Testando o PHP5 / Obtendo


detalhes sobre o PHP

O diretrio raiz do apache2 /var/www. Agora vamos criar um arquivo chamado info.php
nesse diretrio e cham-lo em um navegador. O arquivo exibir vrios detalhes da verso
do PHP instalado.
# vi /var/www/info.php
<?php
phpinfo();
?>

Agora podemos abri-la em um navegador (http://ip/info.php)

2.7. Suporte ao MySQL no PHP5


Para obter suporte ao MySQL no PHP, podemos instalar o pacote php5-mysql. uma boa
ideia instalar alguns outros mdulos, voc pode precisar deles para suas aplicaes.
Segue alguns mdulos que vamos instalar:
# apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick
php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode
php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Aps o termino da instalao vamos reiniciar o apache2:


# /etc/init.d/apache2 restart

Mais uma vez, podemos checar em http://ip/info.php os mdulos php recm instalados.
Aps ter executado os passos acima, o nosso LAMP server, com suas configuraes
padro e sem proteo estar funcional.

3. Wacko Picko
Vamos utilizar a aplicao Web WackoPicko. WackoPicko uma aplicao em PHP escrita
por Adam Doup. Ela contm as mais conhecidas e comuns vulnerabilidades (XSS, SQL
Injection, command-line injection, SessionID, File Inclusion, parameters Manipulation,
etc). WackoPicko foi desenvolvido com as bsicas funes de uma aplicao comum,
como um blog de imagens. Ela possui as seguintes funes:

Autenticao

Upload de Imagens

Comentrios nas Imagens

Compra de Imagens

Busca

Livro de Visitas

rea de Administrao

Com essa aplicao, vamos conseguir visualizar um cenrio real, com um servidor
inseguro, e um seguro, quais as diferenas que a proposta do curso lhe proporciona para
segurana. Para instalar o WackoPicko vamos precisar de uma database no banco MySQL,
porem a aplicao j possui um script que faz a criao e importao dos dados para o
MySQL.
#
#
#
#
#

wget https://github.com/adamdoupe/WackoPicko/archive/master.zip
unzip X master.zip
cp R website/ /var/www
mysql u root p senha < current.sql
chmod 777 R uploads/

Capitulo 2

Ataque a Servidores
Web

10

4. Tipos de Ataque
Os primeiros ataques a servidores web, destinavam-se mais a parte de infra estrutura,
com ataques de negao de servio (DoS), negao de servios distribuda
(DDoS)(flooding), desconfigurao de equipamentos (SNMP, Senhas padres), Portscans
em massa, Ping flood attack (no reply) e com exploits remotos, para manter o acesso a
servidores. Com as progressivas correes, atualizaes e diversidade de novos
servidores web (apache2, nginx, lighttpd), esses ataques cada vez mais vieram
diminuindo, dando mais espaos a ataques direcionados a aplicaes. Segundo a OWASP
(Open Web Application Security Project), fica em 1 lugar como maior ataque a aplicaes
Injeo de cdigo (SQL, SO, LDAP) e em 3 lugar Cross Site Scripting (XSS). Isso se d
pelo fato de muitos administradores de sistemas, terem a confiana que os
vulnerabilidades de infra estrutura sendo sanadas, seu ambiente est seguro. Auditar
constantemente suas aplicaes Web uma atividade continua e recorrente, para
manter o ambiente seguro sempre. Ao longo desse curso veremos algumas tcnicas para
amenizar os problemas citados.
Computador seguro, s desligado.

4.1. Fingerprint em Servidores Web


Quando um hacker deseja atacar um servidor web, ele deseja saber quais informaes o
servidor web tm. Para isso, usa-se a tcnica de fingerprint, que mostrar quais so as
informaes do servidor web e de sistema operacional. Vamos demonstrar essa tcnica
com algumas ferramentas.

4.1.1. Netcat
Netcat um utilitrio de rede que l e escreve dados atravs de conexes de rede,
utilizando o protocolo TCP/IP. Ele foi projetado para ser uma ferramenta confivel "backend", que pode ser usado diretamente ou facilmente conduzida por outros programas e
scripts. Ao mesmo tempo, um debug de rede rico em recursos e uma ferramenta de
explorao, uma vez que pode criar praticamente qualquer tipo de conexo que voc
precisa e tem vrias capacidades interessantes embutidas. Com o netcat, vamos utilizar
11

a seguinte sintaxe para conseguir informaes de um servidor web:


# nc www.site.com.br 80

HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Wed, 30 Jul 2014 13:08:42 GMT
Server: Apache
Last-Modified: Fri, 06 Jun 2014 20:36:58 GMT
Accept-Ranges: bytes
Content-Length: 111
Connection: close
Content-Type: text/html

4.1.2. Curl
O Curl uma ferramenta de linha de comando para transferir dados com sintaxe URL.
Suporte os protocolos FTP, FTPS, TFTP, HTTP, HTTPS, TELNET, DICT, FILE e LDAP. Alm de
suportar esses protocolos, consegue tambm tratar certificados digitais, cookies, proxies
e autenticao (incluindo NTLM, Basic, Digest, Negotiate, Kerberos). Vejamos seu
funcionamento:
# curl I www.site.com.br

HTTP/1.1 200 OK
Date: Wed, 30 Jul 2014 13:12:43 GMT
Server: Apache
X-Powered-By: PHP/5.3.28
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, precheck=0
Pragma: no-cache
Set-Cookie: PHPSESSID=f3c6f3d638ed5eb020bad0702a8aed6f; path=/
Connection: close
Content-Type: text/html

4.1.3. Whatweb
WhatWeb identifica sites. Seu objetivo responder pergunta: "O que que site?".
WhatWeb reconhece tecnologias web, incluindo os sistemas de gerenciamento de
contedo (CMS), plataformas de blogs, estatsticas/anlise pacotes, bibliotecas
JavaScript, servidores web e dispositivos embarcados. WhatWeb tem mais de 900
plugins, cada um a reconhecer algo diferente. WhatWeb tambm identifica nmeros de
verso, endereos de e-mail, identificaes de contas, mdulos de estrutura web, erros
de SQL, e muito mais. Para identificar a verso de um servidor web, faremos da seguinte
12

maneira:
# whatweb www.site.com.br

http://www.site.com.br/ [200]
http://www.site.com.br [200] Apache, Cookies[PHPSESSID], Country[UNITED
STATES][US],
Google-Analytics[UA-36284550-1],
HTML5,
HTTPServer[Apache],
IP[72.29.74.227],
JQuery,
Meta-Author[iMoth],
PHP[5.3.28],
Script[text/javascript],
Title[iMoth],
X-PoweredBy[PHP/5.3.28]
URL
: http://www.site.com.br
Status : 200

5. WebAppScans
A classe de ferramentas conhecida como scanners de vulnerabilidades tem duas partes:
um mecanismo de scanning (ou exame) e um banco de dados de vulnerabilidades. O
mecanismo realiza a negociao HTTP e fornece um mtodo para analisar informaes
retornadas pelo servidor de destino a fim de determinar se existe uma vulnerabilidade.
O banco de dados contm uma lista de exploraes conhecidas, principalmente pginas
padro que devem ser removidas da instalao de um servidor ou pginas vulnerveis
em uma aplicao comumente usada. Em alguns casos, o scanner de vulnerabilidade
tambm identifica a suscetibilidade do servidor a estouros de buffer conhecidos entre
outros. No mercado atual, existem vrios scanner s de vulnerabilidade web, de vrios
tipos vrios preos, e as vezes com os mesmos objetivos.

Em nosso curso vamos abordar sobre 3 excelentes ferramentas livres, que fazem
13

anlise de vulnerabilidades web. Nikto, Vega, e W3af.

5.1.1. NIKTO
Nikto um software de varredura do servidores web. Ele foi projetado para encontrar
vrios padro de arquivos inseguros, configuraes e programas em qualquer tipo de
servidor web. Uso:

5.1.2. W3AF
w3af um Scanner de vulnerabilidades web. O objetivo do projeto criar um quadro
para ajudar a proteger suas aplicaes web, encontrando e explorando todas as
vulnerabilidades de aplicativos web. Nossa estrutura orgulhosamente desenvolvido
utilizando Python para ser fcil de usar e estender e licenciado sob GPLv2.0. Uso:

14

5.1.3. VEGA
Vega um scanner de cdigo livre e aberto, uma plataforma para testar a segurana de
aplicaes web. Vega pode ajudar a encontrar e validar SQL Injection, Cross-Site Scripting
(XSS), inadvertidamente divulgou informaes sensveis, e outras vulnerabilidades. Ele
escrito em Java, baseado em GUI, e roda em Linux, OS X, e Windows.Vega inclui um
scanner automatizado para testes rpidos e um proxy para interceptao de trfego. O
scanner Vega encontra XSS (cross-site scripting), injeo de SQL e outras
vulnerabilidades. Uso:

5.2. Online Web Scanners


Da mesma forma que podemos fazer a Anlise de vulnerabilidades a partir de nosso
computador, existem empresas que oferecem o mesmo servio na nuvem (as a service).
Existem duas ferramentas excelentes que podemos usar de forma gratuita para alguns
scans:
https://freescan.qualys.com/freescan-front/
https://www.acunetix.com/free-network-security-scan/
15

Capitulo 3

Protegendo seu
Servidor Web

16

6. Instalao do Ambiente em
Chroot
Vimos que com a instalao e configurao padro, nosso servidor vulnervel ataques,
alm de fornecer muitas informaes um possvel atacante, facilitando o trabalho dele
de comprometimento de nosso servidor. Por conta disso, vamos realizar uma nova
instalao do Apache e do PHP para melhorar sua segurana. O Apache e o PHP sero
reinstalados dentro de um ambiente seguro chamado chroot, que permite o
enjaulamento de aplicaes, fazendo com que aquilo que estiver dentro do conteiner
no tenha acesso mquina real. Vamos instalao e configurao de nosso ambiente
seguro com um sistema operacional prprio, separado da mquina real. Para instalar o
ambiente chroot no debian, vamos utilizar o debootstrap, ele ir nos auxiliar na criao
deste ambiente.
# apt-get install debootstrap
# mkdir /var/webserversecurity
# debootstrap wheezy /var/webserversecurity/

Aps executar o comando acima, perceba que o deboostrap ir baixar uma srie de
pacotes que so necessrios para que este mnimo ambiente funcione. Agora para que
o ambiente chroot funcione, precisamos de compartilhar o diretrio /proc da mquina
real dentro do chroot.
# mount --bind /proc/ /var/webserversecurity/proc

Vamos acessar o chroot:


# chroot /var/webserversecurity/

Vamos alterar o formato que o pronto aparece, para diferenciarmos a maquina real do chroot:
# vi .bashrc
# exit

Vamos entrar novamento no chroot, agora com o prompt alterado:


# chroot /var/webserversecurity

Vamos alterar a configurao do mirror do apt para o mirro br, e atualizar os pacotes, caso
necessitem:
chroot:~# vi /etc/apt/sources.list
chroot:~# apt-get update
chroot:~# exit

17

Esses passos vo depender do nvel de segurana que voc quer implementar, so


opcionais, porem os seguindo voc ter acesso ao ssh da maquina real e acesso ao ssh
do chroot. Para isso, precisamos alterar a porta do ssh, e compartilhar /dev/pts e
reiniciar o servio da mquina real.
# vi /etc/ssh/sshd_config
# /etc/init.d/ssh restart
# mount --bind /dev/pts /var/websecurity/dev/pts

Vamos entrar no chroot e prosseguir com as demais configuraes


# chroot /var/webserversecurity/

Instalar o openssh-server:
chroot:~# apt-get install openssh-server ; instalar o ssh server

Vamos definir uma senha para o root


chroot:~# passwd root

Feito isso, vamos fazer com o servio inicie sozinho quando o servidor der boot. Dentro
da mquina real, no arquivo /etc/rc.local adicione a seguinte linha:
/usr/sbin/chroot /var/webserversecurity /etc/init.d/ssh start

Instalar o apache2 no chroot


chroot:~# apt-get install apache2

Faa um teste em seu navegador se o servio foi instalado corretamente:


http://ipdasuamaquinavirtual

Agora vamos alterar alguns parmetros de segurana no apache2


chroot:/# vi /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
chroot:/# vi /etc/apache2/conf.d/security
#
# Disable access to the entire file system except for the directories that
# are explicitly allowed later.
#

18

# This currently breaks the configurations that come with some web application
# Debian packages.
#
#<Directory />
#
AllowOverride None
#
Order Deny,Allow
#
Deny from all
#</Directory>

# Changing the following options will not really affect the security of the
# server, but might make attacks slightly more difficult in some cases.
#
# ServerTokens
# This directive configures what you return as the Server HTTP response
# Header. The default is 'Full' which sends information about the OS-Type
# and compiled in modules.
# Set to one of: Full | OS | Minimal | Minor | Major | Prod
# where Full conveys the most information, and Prod the least.
#
#ServerTokens Minimal
#ServerTokens OS
#ServerTokens Full
ServerTokens Prod
#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory
# listings, mod_status and mod_info output etc., but not CGI generated
# documents or custom error documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
#
ServerSignature Off
chroot:/# /etc/init.d/apache2 restart

Feito isso, vamos fazer com o servio inicie sozinho quando o servidor der boot. Dentro
da mquina real, no arquivo /etc/rc.local adicione a seguinte linha:
/usr/sbin/chroot /var/webserversecurity /etc/init.d/apache2 start

7. Suhosin
Suhosin um avanado sistema de proteo que foi desenvolvido com o objetivo
de proteger servidores e usurios de falhas nas aplicaes escritas em PHP e
implementar correes prpria base da linguagem. separado em duas partes
independentes que podem ser utilizadas em conjunto ou individualmente, sendo
que uma delas um patch a ser aplicado no core do PHP que implementa
proteo contra vulnerabilidades do sistema (Engine Protection) e a outra parte
uma extenso que coloca em funcionamento todas as outras protees e
implementaes de segurana.

19

Contra o qu o Suhosin nos protege?

Suhosin a nico proteo estvel e real disponvel contra remote file include
Protege contra HTTP Response Splitting Vulnerabilities
Protege contra scripts que manipulam o memory_limit
Adiciona proteo contra ataques ao mail()
Filtra caracteres ASCIIZ de inputs de usurios
Ignora variveis de GET, POST, COOKIE com os seguintes nome: GLOBALS, _COOKIE, _ENV,
_FILES, _GET, _POST, _REQUEST, _SERVER, _SESSION, HTTP_COOKIE_VARS,
HTTP_ENV_VARS,
HTTP_GET_VARS,
HTTP_POST_VARS,
HTTP_POST_FILES,
HTTP_RAW_POST_DATA, HTTP_SERVER_VARS, HTTP_SESSION_VARS

Suporta verificao de upload de arquivos atravs de um script externo


Pagina do projeto: http://www.hardened-php.net/

7.1. Instalando o PHP5 e Suhosin


H duas fomas de realizarmos a instalao do Suhosin:

A mais fcil;
A mais difcil.

Vou explicar porque uma considerada mais fcil que a outra.


No mtodo mais difcil, necessrio a instalao do pacth do Suhosin, a recompilao do
PHP5 e a instalao de uma extenso especfica do Suhosin. Esse um processo que pode
levar mais de 1h, o que pode ser precioso para o profissional que est instalando e
configurando seu servidor web. J pela maneira mais fcil, que a que adotaremos
aqui, podemos utilizar um pacote do PHP5 previamente compilado, com o patch
e a extenso j instaladas, que precisa apenas ser configurado, para
personalizarmos os controles de segurana do Suhosin. Esse pacote est
disponvel para Debian/Ubuntu.
Primeiramente vamos transferir via winscp para dentro do chroot o pacote php520

suhosin_0.9.34-1~update.1_amd64.deb
chroot:~# dpkg i php5-suhosin_0.9.34-1~update.1_amd64.deb

Vamos resolver as dependencias de pacotes que ele solicita:


chroot:~#/tmp# apt-get -f install

Aps finalizar a instalao vamos criar um arquivo chamado info.php dentro de


/var/www com o conteudo <? phpinfo(); ?> e em seguinda vamos abri-lo no navegador.
Vamos criar um apontamento para o arquivo do suhosin para sua chamada pelo php5 ser
efetiva:
chroot:~#/etc/php5/conf.d# ln -s ../mods-available/suhosin.ini

Ativando o suporte ao Mysql pelo php5


chroot:~#/etc/php5# apt-get install php5-mysql

Ativar modificaes:
chroot:~#/etc/php5# /etc/init.d/apache2 restart
Vamos editar o arquivo de configurao do Suhosin e adequar as seguintes
opes:
chroot:~#/etc/php5# vi /etc/php5/mods-available/suhosin.ini

# Limitar a quantidade de directory transversals (../../../):


suhosin.executor.include.max_traversal=4
#Desabilitar o /e no preg_replace, que normalmente utilizado de forma
insegura, j que esse parmetro permite a execuo de funes do PHP:
suhosin.executor.disable_emodifier=Off
#Proteger formulrios de e-mail contra ataque de spammers:
suhosin.mail.protect=2
#Configurar limite de memria, pois quando o safe_mode est desabilitado,
usurios podem utilizar o ini_set para alterar seu limite de memria:
suhosin.memory_limit=256M
#Qual ao o Suhosin executar ao filtrar algo (a opo 402 far com que o
cdigo no seja executado e retornse uma resposta HTTP):
suhosin.filter.action=402
#Limite mximo de tamanho para variveis vindas de COOKIE, POST e GET:
suhosin.request.max_array_depth=4096
suhosin.request.max_array_index_length=2048
suhosin.request.max_name_length=2048
suhosin.request.max_value_length=650000
suhosin.request.max_vars=4096
suhosin.post.max_array_depth=8048
suhosin.post.max_array_index_length=1024
suhosin.post.max_name_length=2048
suhosin.post.max_totalname_length=8048
suhosin.post.max_vars=4096

21

#Mximo upload de arquivos em um script:


suhosin.upload.max_uploads=100
# Cuidado com quais mdulos colocar na blacklist
#suhosin.executor.eval.blacklist = include, include_once,require,
require_once, curl_init, fpassthru, file, base64_encode, base64_decode, mail,
exec, system, proc_open, leak, syslog, pfsockopen, shell_exec, ini_restore,
symlink, stream_socket_server, proc_nice ,popen, proc_get_status, dl,
pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus,
pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped,
pcntl_wstopsig,
pcntl_wtermsig,
socket_accept,
socket_bind,
socket_connect, socket_create, socket_create_listen, socket_create_pair, link,
register_shutdown_function, register_tick_function
# Cuidado ao ativar essa funo
suhosin.executor.disable_eval = off
#Armazenar em log todas as aes, alm das queries SQL que falharam, com o
syslog:
suhosin.log.syslog = S_ALL & ~S_SQL
#Desabilitar a possibilidade de fazer o upload de binrios:
suhosin.upload.disallow_binary=Off
#Desabilitar a possibilidade realizar o upload de arquivos ELF
suhosin.upload.disallow_elf=Off

Para maiores detalhes sobre configuraes do suhosin, acesse:


http://www.suhosin.org/stories/configuration.html
Agora, vamos adequar algumas configuraes do php5:
chroot:~# vi /etc/php5/apache2filter/php.ini
disable_functions = php_uname, getmyuid, getmypid, passthru, leak, listen,
diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, dl,
set_time_limit, exec, system, highlight_file, source, show_source, fpaththru,
virtual, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate,
phpinfo
# Desativar display_errors, para evitar que informaes sejam passados para o
usurio, caso ocorra algum erro na aplicao
display_errors = off
#Desativar allow_url_fopen para no permitir a abertura de arquivos
atravs da URL
allow_url_fopen = off
#Desativar allow_url_include, para evitar ataques como RFI
allow_url_include = off
#Ativar log_errors, para que todos os erros sejam armazenados em um arquivo de
log
log_errors = on
#Desativar expose_php, para evitar que informaes sobre o PHP sejam exibidas
para o usurio, a menos que uma url esteja como .php:
expose_php = off
#Para aumentar ainda mais a segurana, limitando o tempo de execuo de cada
script, em segundos
max_execution_time = 30

22

Segue link de algumas funes para serem pesquisadas:


http://php.net/diskfreespace
http://php.net/dl
http://php.net/exec
http://php.net/fpaththru
http://php.net/getmypid
http://php.net/getmyuid
http://php.net/highlight_file
http://php.net/ignore_user_abord

Aplicar modificaes
chroot:~# /etc/init.d/apache2 restart
chroot:~# apachectl M

8. ModSecurity + Geo IP
O Mod Security um Web Application Firewall que atua na camada 7 do modelo OSI e
tem por objetivo bloquear diversos tipos de ataques, como o Cross-Site Scripting (XSS),
SQL Injection, Command Injection, ASP e PHP Injection, Trojans & Backdoors Detection,
dentre outros, que variam de acordo com as regras existentes, ele filtra todas as
requisies e respostas entre o servidor Web e o cliente fazendo a checagem das regras
que esto em vigor. Atualmente suportado pelo Apache, IIS7 e Nginx.
Vamos comear instalando os pacotes necessrios para compilar nosso Mod Security:
chroot:~# apt-get install apache2-threaded-dev libxml2-dev

libcurl4-gnutls-

dev liblua5.1-0 liblua5.1-0-dev build-essential

V at o diretrio /opt e faa o download do modsecurity:


chroot:~# cd /opt/ &&
wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Agora descompacte o arquivo e acesse o diretrio criado:


chroot:~# tar -xvzf modsecurity-2.8.0.tar.gz && cd modsecurity-2.8.0

Agora iremos iniciar a compilao com o ./configure fazendo as configuraes de path e


verificando as dependncias:
chroot:~# ./configure with-apxs=/usr/bin/apxs2 with-pcre=/usr/bin/pcreconfig with-apr=/usr/bin/apr-config with-apu=/usr/bin/apu-config withlibxml=/usr/bin/xml2-config with-curl=/usr/bin/curl-config

Depois compile e instale o Mod Security:


chroot:~# make
chroot:~# make install

23

Depois de tudo instalado hora de copiar a biblioteca do Mod Security para o diretrio
de mdulos do apache:
chroot:~# cp /usr/local/modsecurity/lib/mod_security2.so
/usr/lib/apache2/modules/

Agora iremos baixar o core rules do Spider Labs. A empresa Spider Labs, mantem um
projeto livre chamado core rules, esse projeto contm milhares de regras capazes de
mitigar as principais vulnerabilidades e ataques a aplicaes web.
V at o diretrio do apache e baixe a ltima verso do core rules:
chroot:~# cd /etc/apache2/ &&
wget https://codeload.github.com/SpiderLabs/owasp-modsecuritycrs/legacy.tar.gz/master

Descompacte o arquivo:
chroot:~# tar -xvzf master

Mude o nome do diretrio para ficar mais legvel


chroot:~# mv SpiderLabs-owasp-modsecurity-crs-ebe8790/ ModSecurity
chroot:~# cd ModSecurity/

Agora iremos renomear o arquivo modsecurity_crs_10_setup:


chroot:~# mv modsecurity_crs_10_setup.conf.example
modsecurity_crs_10_setup.conf

Agora iremos criar um link simblico para o diretrio activated_rules que como o prprio
nome j diz onde contm as regras ativas do nosso Mod Security
chroot:~# ln -s /etc/apache2/ModSecurity/modsecurity_crs_10_setup.conf
/etc/apache2/ModSecurity/activated_rules/modsecurity_crs_10_setup.conf

Depois iremos copiar o arquivo modsecurity.conf e o unicode.mapping para o diretrio


do apache e renomear o modsecurity.conf:
chroot:~# cp /opt/modsecurity-2.8.0/modsecurity.conf-recommended
/etc/apache2/ModSecurity/
chroot:~# cp /opt/modsecurity-2.8.0/unicode.mapping /etc/apache2/ModSecurity
chroot:~# mv modsecurity.conf-recommended modsecurity.conf

Modifique o local dos logs do Mod Security, abra o arquivo modsecurity.conf e procure a
entrada SecAuditLog e deixe como mostrado abaixo:
chroot:~# vi modsecurity.conf

24

SecAuditLog /var/log/apache2/modsec_audit.log

Depois disso iremos criar os arquivos mod_security2.conf e mod_security2.load para


ativar o modulo do Mod Security no Apache:
chroot:~# cd ../mods-available/
chroot:~# vi mod_security2.conf

Inclua o seguinte contedo no arquivo:


<IfModule security2_module>
SecDataDir /var/cache/modsecurity
Include /etc/apache2/ModSecurity/modsecurity.conf
Include /etc/apache2/ModSecurity/activated_rules/*.conf
</IfModule>
chroot:~# vi mod_security2.load

Adicione as seguintes linhas no arquivo:


LoadFile /usr/lib/libxml2.so.2
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so

Agora iremos criar um link simblico para a biblioteca do xml2:


chroot:~# ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 /usr/lib/libxml2.so.2

Ative o modulo do Mod Security e o modulo Unique_Id no apache:


chroot:~# a2enmod unique_id
chroot:~# a2enmod mod_security2

Reinicie o apache:
chroot:~# service apache2 restart

Execute o comando abaixo para listar os mdulos ativos:


chroot:~# apachectl -t -D DUMP_MODULES

Verifique se a sada contm os mdulos abaixo:


unique_id_module (shared)
security2_module (shared)

Pronto agora nosso Mod Security j est funcionando, vamos configurar as regras, entre
no diretrio base_rules e copie todas as regras para o activated_rules:
chroot:~# cd ../ModSecurity/base_rules/
chroot:~# cp * /etc/apache2/ModSecurity/activated_rules/

25

Agora entre no diretrio slr_rules e copie todas as regras para o activated_rules:


chroot:~# cd ../slr_rules/
chroot:~# cp modsecurity_crs_46_slr_et_wordpress_attacks.conf
/etc/apache2/ModSecurity/activated_rules/

Copie tambm as regras especificas para o WordPress:


chroot:~# cp modsecurity_46_slr_et_wordpress.data
/etc/apache2/ModSecurity/activated_rules/

Depois entre no diretrio optional_rules e copie as seguintes regras para o


activated_rules:
chroot:~#
chroot:~#
chroot:~#
chroot:~#

cd
cp
cp
cp

../optional_rules/
modsecurity_crs_42_comment_spam.conf ../activated_rules/
modsecurity_42_comment_spam.data ../activated_rules/
modsecurity_crs_16_session_hijacking.conf ../activated_rules/

Entre no diretrio experimental_rules e copie as seguintes regras para o


activated_rules:
chroot:~#
chroot:~#
chroot:~#
chroot:~#

cd
cp
cp
cp

../experimental_rules
modsecurity_crs_11_brute_force.conf ../activated_rules/
modsecurity_crs_11_dos_protection.conf ../activated_rules/
modsecurity_crs_11_proxy_abuse.conf ../activated_rules/

Baixe o banco de dados de Geo Ip para a regra de Proxy Abuse poder funcioar:
chroot:~# cd ..
chroot:~# wget
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
chroot:~# gunzip GeoLiteCity.dat.gz

Agora modifique o local do db no arquivo modsecurity_crs_11_proxy_abuse.conf:


chroot:~# vi activated_rules/modsecurity_crs_11_proxy_abuse.conf

Procure a entrada SecGeoLookupDb e deixe assim:


SecGeoLookupDb /etc/apache2/ModSecurity/GeoLiteCity.dat

Agora desative a regra que bloqueia o acesso por ip ao nosso site, comente a linha 98
do arquivo modsecurity_crs_21_protocol_anomalies.conf:
chroot:~# vi activated_rules/modsecurity_crs_21_protocol_anomalies.conf

Reinicie o Apache
chroot:~# service apache2 restart

26

Agora de o comando abaixo para acompanhar os logs gerados pelo Mod Security.
Lembre-se que o Mod Security ainda no est bloqueando os ataques, ele est
simplesmente gerando alerta. No incio muito importante voc no ativar o Mod
Security pois voc vai receber muitos falsos positivos, o ideal voc analisar os logs e
criar as excees para diminuir o mximo de falsos positivos possveis.
chroot:~# tail -f /var/log/apache2/modsec_audit.log

Depois no seu browser, realize algum ataque, pode ser Sql Injection, XSS ou rodar algum
scanner como o w3af, wpScan ou o Nikto, depois veja os alertas sendo gerados no
terminal.
Para fazer o Mod Security bloquear os ataques voc vai abrir o arquivo modsecurity.conf
e procurar a entrada SecRuleEngine:
chroot:~# vi modsecurity.conf

Deixe a entrada SecRuleEngine assim:


#SecRuleEngine DetectionOnly
SecRuleEngine On

Reinicie o Apache
chroot:~# service apache2 restart

Agora faa um teste, no seu browser, clique em algum post e coloque uma aspa no
final, assim:
http://seu.servidor/?p=1

Voc dever receber um forbidden, isso significa que seu Mod Security est bloqueando
os ataques. Para ajustar seu Mod Security voc vai precisar criar as excees, para isso
voc precisar analisar os logs para ver o que aconteceu. Por exemplo, ao entrar
no http://seu.servidor/?p=1, voc vai receber um Forbidden, ento v at o log e veja o
que aconteceu:
chroot:~# vi /var/log/apache2/modsec_audit.log

27

Voc vai ver algo parecido com isso:


--06af3f02-A-[03/Aug/2014:20:47:38 +0000] U96f6sCoCrQAAAsWFAsAAAAA 192.168.0.104 57357
192.168.0.102 80
--06af3f02-B-GET /?p=1%27 HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/36.0.1985.125 Safari/537.36
DNT: 1
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4

--06af3f02-F-HTTP/1.1 403 Forbidden


Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 179
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

--06af3f02-E-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">


<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
</body></html>

--06af3f02-H-Message: Access denied with code 403 (phase 2). Pattern match
"(^[\"'`\xc2\xb4\xe2\x80\x99\xe2\x80\x98;]+|[\"'`\xc2\xb4\xe2\x80\x99\xe2\x80\

28

x98;]+$)" at ARGS:p. [file


"/etc/apache2/ModSecurity/activated_rules/modsecurity_crs_41_sql_injection_att
acks.conf"] [line "64"] [id "981318"] [rev "2"] [msg "SQL Injection Attack:
Common Injection Testing Detected"] [data "Matched Data: ' found within
ARGS:p: 1'"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.9"] [maturity "9"]
[accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"]
Action: Intercepted (phase 2)
Stopwatch: 1407098858733652 2223 (- - -)
Stopwatch2: 1407098858733652 2223; combined=764, p1=251, p2=355, p3=0, p4=0,
p5=111, sr=57, sw=47, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.8.0 (http://www.modsecurity.org/);
OWASP_CRS/2.2.9.
Server: Apache
Engine-Mode: "ENABLED"

--06af3f02-Z--

Provavelmente voc ir receber mais alguns alertas, ento voc dever fazer o mesmo
processo at que acerte as regras do Mod Security para no gerar mais esses falsos
positivos, coloque o Mod Security em DetectionOnly e analise os alertas.

9. Mod Evasive
O Apache tem algumas ferramentas para auxlio a proteo da sua mquina e uma delas
o mod_evasive, que proteger pelo menos o DDOS. Mod_evasive um mdulo de
segurana do Apache que proporciona bloqueio de acessos em massa ou ataques de
fora bruta ao site. A inteno dele bloquear e separar os acessos em massa a rea,
atravs de uma interface que guarda os acessos gerando uma blacklist dos acessos
impedindo o acesso dos mesmos por um tempo configurvel.

Se o IP do cliente existe na lista temporria de IPS.


Acessos simultneos a pginas, configurando o tempo de acesso as pginas
o default de 1 segundo.
Nmero de requisies ao site como um todo.

A ideia retornar o status code 403 - forbidden para os acessos aps terem sido
29

bloqueados. Aps 10 segundos, perodo padro de bloqueio, o cliente tem acesso


proibido ao site. A ativao do recurso bem fcil. O mod_evasive funciona nas duas
verses de Apache: 1.3 e 2.0.
Veja abaixo os passos de instalao:
chroot:/opt# cd /opt/
chroot:/opt# tar -zxvf mod_evasive_1.10.1.tar.gz
chroot:/opt# cd mod_evasive
chroot:/opt/mod_evasive# apxs2 -c -i -a mod_evasive20.c

Aps instalarmos o mod_evasive sem erros, vamos a sua configurao:


chroot:/opt/mod_evasive# vi /etc/apache2/conf.d/evasive
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
DOSEmailNotify users@example.com
DOSLogDir /var/log/mod_evasive
</IfModule>

chroot:/opt/mod_evasive# /etc/init.d/apache2 restart


chroot:/opt/mod_evasive/apache2# apachectl M
Com a configurao setada, as tentativas de ataque sero bloqueadas por 10 minutos. O
tempo de bloqueio pode ser menor ou maior, de acordo com sua necessidade.
Vamos uma breve explicao dos parmetros configurados acima:

DOSHashTableSize = essa opo interessante ser deixada em seu valor


padro, pois quanto maior, mais memria do servidor ser consumida. S deve
ser aumentada para servidores que possuem um grande nmero de requisies.

DOSPageCount = quantidade mxima de requisies feitas por um mesmo


cliente, em uma mesma sesso uma mesma pgina antes de ser bloqueado.

DOSSiteCount = quantidade mxima de requisies feitas por um mesmo


cliente, em uma mesma sesso a qualquer objeto do site antes de ser bloqueado.

DOSPageInterval = valor em segundos do tempo em que uma pgina far


a contagem da quantidade de requisies.

DOSSiteInterval = valor em segundos do tempo em que o site far a


contagem da quantidade de requisies.

DOSBlockingPeriod = tempo em segundos que o IP suspeito ficar


bloqueado atravs de regras criadas no firewall.

DOSEmailNotify = e-mail para o qual ser enviada uma mensagem todas as


vezes que um ataque for detectado.

DOSLogDir = diretrio onde sero armazenados os logs da aplicao.

30

10.Mod QoS
Em redes de computadores, o termo qualidade de servio (QoS) descreve a gesto
de recursos e no a qualidade de um servio. Qualidade de servio implementa
mecanismos de controle para fornecer diferentes prioridades para diferentes
usurios, aplicaes e conexes. usado para garantir um determinado nvel de
desempenho de recursos de dados. O termo qualidade de servio muitas vezes
usado no campo de protocolos de rede de maior amplitude (por exemplo, ATM) e
telefonia (por exemplo, VoIP), mas raramente em conjunto com aplicaes web.
O mod_qos um mdulo de qualidade de servio para o servidor web Apache que
implementa mecanismos de controle que podem apresentar diferentes nveis de
prioridade s diferentes requisies HTTP. Ultimamente, com a popularizao do ataque
de DDoS com a ferramenta Slowloris, o mod_qos vem se popularizando, pois uma das
poucas ferramentas que pode mitigar esse ataque to devastador, que as vezes apenas
um atacante executando essa ferramenta, pode derrubar um servidor WEB com
aplicaes crticas.
Veja abaixo os passos de instalao:
chroot:/opt# cd /opt/
chroot:/opt# tar -zxvf mod_qos-11.4.tar.gz
chroot:/opt# cd mod_qos-11.4/apache2
chroot:/opt/mod_qos-11.4/apache2# apxs2 -c -i -a mod_qos.c
chroot:/opt/mod_qos-11.4/apache2# /etc/init.d/apache2 restart
chroot:/opt/mod_qos-11.4/apache2# apachectl -t -D DUMP_MODULES
chroot:/opt/mod_qos-11.4/apache2# vi /etc/apache2/mods-available/qos.load
chroot:/opt/mod_qos-11.4/apache2# ls /usr/lib/apache2/modules/mod_qos.so
chroot:/opt/mod_qos-11.4/apache2# vi /etc/apache2/mods-available/qos.conf

## Configurao de QoS
<IfModule mod_qos.c>
# manipula conexes de no maximo 100000 IPs diferentes
QS_ClientEntries 100000
# permitir apenas 50 conexes por IP
QS_SrvMaxConnPerIP 50
# nmero mximo de conexes TCP ativas est limitado em 256
MaxClients 256
# desabilita o keep-alive quando 70% das conexes TCP estiverem ocupadas

31

QS_SrvMaxConnClose 180
#

velocidade

mnima

de

requisio/respa (bloqueia

clientes

lentos

que

ocupam servidor, ie., como o slowloris que mantm conexes abertas sem requisitar
dad)
QS_SrvMinDataRate 150 1200
# e limita requisio de header e body (cuidado, pois isso tambm limita
requisi upload e post)
# LimitRequestFields 30
# QS_LimitRequestBody 102400
</IfModule>

chroot:/opt/mod_qos-11.4/apache2# a2enmod qos


chroot:/opt/mod_qos-11.4/apache2# /etc/init.d/apache2 restart
chroot:/opt/mod_qos-11.4/apache2# apachectl -M

Com essa configurao, ficaremos protegidos contra ataques de negao de servio que
baseiam sua ao em sobrecarregar o servidor, ocupando todos os seus slots de conexo
e no permitindo conexes vlidas de clientes reais aplicao web. Um exemplo de
ferramenta que executa esse tipo de ataque o Slowloris. A explicao de cada uma das
opes de configurao, encontra-se acima.

11.Mod Limitipconn
Limitar que usurios abusem da banda de nosso servidor realizando grandes quantidades
de downloads interessante, para evitar indisponibilidade ou gasto desnecessrio de
banda limitada. Isso atualmente fcil de fazer no Apache, utilizando o mod_limitipconn,
onde podemos, por exemplo, limitar 20 threads de download simultneos. Para utilizar
esse mdulo, precisamos ter o pacote apache2-prefork-dev instalado, mas como j
fizemos isso ao instalar o mod_security e os demais mdulos anteriormente, no
precisamos nos preocupar com isso.
Vamos para a instalao:
chroot:/var/log/apache2# cd /opt/
chroot:/opt# tar -xjvf mod_limitipconn-0.24.tar.bz2
chroot:/opt# cd mod_limitipconn-0.24
chroot:/opt/mod_limitipconn-0.24# apxs2 -c -i -a mod_limitipconn.c
chroot:/opt/mod_limitipconn-0.24# vi /etc/apache2/mods-available/limitipconn.load

32

ExtendedStatus On
LoadModule limitipconn_module /usr/lib/apache2/modules/mod_limitipconn.so

chroot:/opt/mod_limitipconn-0.24# vi /etc/apache2/modsavailable/limitipconn.conf

<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 10
NoIPLimit image/*
</Location>
</IfModule>

chroot:/opt/mod_limitipconn-0.24# /etc/init.d/apache2 restart


chroot:/opt/mod_limitipconn-0.24# apachectl M

12.OSSEC
OSSEC um sistema de cdigo aberto baseado em Host Intrusion Detection que realiza
anlise de log, checagem de integridade de arquivos, monitoramento de polticas,
deteco de rootkit, alertas em tempo real e resposta ativa. Ele roda na maioria dos
sistemas operacionais, incluindo Linux, MacOS, Solaris, HP-UX, AIX e Windows. Ele tem
muitas funcionalidades, tm a capacidade de trabalhar localmente, ou em uma rede
como cliente e servidor. Uma das grandes vantagens dos OSSEC trabalhar com activeresponse, ou seja, para determinados tipos de ataques ele pode tomar algumas medidas
como bloquear o IP que est atacando por um determinado tempo e mandar um e-mail
alertando sobre o ocorrido.
Vamos a instalao:
chroot:/opt/mod_limitipconn-0.24# cd /opt
chroot:/opt# tar -zxvf ossec-hids-2.8.tar.gz
chroot:/opt# cd ossec-hids-2.8
chroot:/opt/ossec-hids-2.8# ./install.sh

** Para instalao em portugus, escolha [br].


** ?????????, ??? [cn].

33

** Fur eine deutsche Installation wohlen Sie [de].


** G?a e??at?stas? sta ????????, ep????te [el].
** For installation in English, choose [en].
** Para instalar en Espaol , eliga [es].
** Pour une installation en franais, choisissez [fr]
** A Magyar nyelvu teleptshez vlassza [hu].
** Per l'installazione in Italiano, scegli [it].
** ?????????????.???????.[jp].
** Voor installatie in het Nederlands, kies [nl].
** Aby instalowac w jezyku Polskim, wybierz [pl].
** ??? ?????????? ?? ????????? ?? ??????? ,??????? [ru].
** Za instalaciju na srpskom, izaberi [sr].
** Trke kurulum iin sein [tr].
(en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]: br

Em seguida, s seguir com a instalao, pois auto intuitiva, bem simples.


Vamos agora para a instalao da Interface WEB:

chroot:/opt/ossec-hids-2.8# /var/ossec/bin/ossec-control start


chroot:/opt/ossec-hids-2.8# cd ..
chroot:/opt# tar -zxvf ossec-wui-0.8.tar.gz -C /var/www/
chroot:/opt# cd /var/www/
chroot:/var/www# mv ossec-wui-0.8 ossec
chroot:/var/www# cd ossec/
chroot:/var/www/ossec# ./setup.sh

Setting up ossec ui...

Username: admin
New password:
Re-type new password:
Adding password for user admin
Enter your web server user name (e.g. apache, www, nobody, www-data, ...)
www-data
Enter your OSSEC install directory path (e.g. /var/ossec)

You must restart your web server after this setup is done.

Setup completed successfuly.

chroot:/var/www# usermod -a -G ossec www-data


chroot:/var/www# /etc/init.d/apache2 restart

34

13.Mysql
Para finalizar nosso ambiente seguro, vamos instalar o mysql, porem isto ser feito fora
do chroot. O intuito que se um atacante por ventura, depois de todas as protees que
fizemos conseguir acesso ao chroot, no ter acesso ao mysql. O ambiente chroot
consegue se conectar ao mysql pelo compartilhamento do /proc que fizemos no inicio
do curso. Colocando o mysql fora do chroot, temos mais uma camada de segurana em
nosso ambiente.
Vamos a instalao:
# apt-get install mysql-server
# ln -s /var/run/mysqld/mysqld.sock
/var/webserversecurity/var/run/myslqd/mysqld.sock
# mysql -uroot -p

# vi /etc/mysql/my.cnf

bind-address

= 192.168.10.180

# /etc/init.d/mysql restart

35