Sie sind auf Seite 1von 9

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.
#
#
#
#
#
#
#
#
#
#

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

Das könnte Ihnen auch gefallen