PHP Security · 3 min read · Oct 25, 2025

Como Endurecer o PHP5 Com Suhosin No Mandriva 2007 Spring

Como Endurecer o PHP5 Com Suhosin No Mandriva 2007 Spring

Versão 1.0
Autor: Falko Timme

Este tutorial mostra como endurecer o PHP5 com Suhosin em um servidor Mandriva 2007 Spring. Da página do projeto Suhosin: “Suhosin é um sistema avançado de proteção para instalações PHP que foi projetado para proteger servidores e usuários de falhas conhecidas e desconhecidas em aplicações PHP e no núcleo do PHP. Suhosin vem em duas partes independentes, que podem ser usadas separadamente ou em combinação. A primeira parte é um pequeno patch contra o núcleo do PHP, que implementa algumas proteções de baixo nível contra estouros de buffer ou vulnerabilidades de string de formato e a segunda parte é uma poderosa extensão PHP que implementa todas as outras proteções.”

Este documento vem sem garantia de qualquer tipo! Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Eu testei isso em um servidor Mandriva 2007 Spring com o endereço IP 192.168.0.100.

Este tutorial é um pouco atípico porque não há nada que você precise fazer para instalar o Suhosin no Mandriva 2007 Spring se você já tiver o PHP5 instalado, porque o PHP5 do Mandriva já vem com o Suhosin por padrão. De qualquer forma, acho que ainda vale a pena escrever este tutorial porque ele responde à pergunta “O que eu preciso fazer para instalar o Suhosin?” - nada, se o PHP5 já estiver instalado.

2 Instalando Apache2 E PHP5 (Opcional)

(Este capítulo é opcional se você já tiver o Apache2 e o PHP5 instalados - para verificar se o Suhosin está habilitado no seu PHP5, por favor, pule para o próximo capítulo.)

Primeiro, se você usar o repositório online do Mandriva (e não o DVD do Mandriva) para instalar pacotes, você deve atualizar seu banco de dados de pacotes:

urpmi.update -a

Se você não tiver o Apache2 e o PHP5 instalados em seu servidor, instale agora:

urpmi apache-mod_php libphp5_common5

Muitos outros pacotes serão instalados como dependências junto com esses dois pacotes, como você pode ver na saída:

[root@server1 ~]# urpmi apache-mod_php libphp5_common5
Para satisfazer dependências, os seguintes pacotes serão instalados:
apache-base-2.2.4-6.2mdv2007.1.i586
apache-conf-2.2.4-4mdv2007.1.i586
apache-mod_php-5.2.1-4mdv2007.1.i586
apache-modules-2.2.4-6.2mdv2007.1.i586
apache-mpm-prefork-2.2.4-6.2mdv2007.1.i586
ccp-0.4.1-1mdk.noarch
libmm14-1.4.2-1mdv2007.1.i586
libphp5_common5-5.2.1-4.2mdv2007.1.i586
php-ctype-5.2.1-1mdv2007.1.i586
php-filter-5.2.1-0.1mdv2007.1.i586
php-ftp-5.2.1-1.1mdv2007.1.i586
php-gettext-5.2.1-1mdv2007.1.i586
php-hash-5.2.1-1mdv2007.1.i586
php-ini-5.2.1-2mdv2007.1.i586
php-json-1.2.1-3mdv2007.1.i586
php-openssl-5.2.1-4.2mdv2007.1.i586
php-posix-5.2.1-1mdv2007.1.i586
php-session-5.2.1-1mdv2007.1.i586
php-simplexml-5.2.1-1mdv2007.1.i586
php-suhosin-0.9.18-4mdv2007.1.i586
php-sysvsem-5.2.1-1mdv2007.1.i586
php-sysvshm-5.2.1-1mdv2007.1.i586
php-timezonedb-2007.3-1mdv2007.1.i586
php-tokenizer-5.2.1-1mdv2007.1.i586
php-xmlreader-5.2.1-1mdv2007.1.i586
php-xmlwriter-5.2.1-1mdv2007.1.i586
php-zlib-5.2.1-4.2mdv2007.1.i586
Prosseguir com a instalação dos 27 pacotes? (6 MB) (Y/n)
[…]

Como você vê, o pacote php-suhosin é instalado automaticamente, então seu PHP5 será endurecido pelo Suhosin por padrão.

Então inicie o Apache2:

/etc/init.d/httpd restart

Agora você tem um PHP5 com funcionalidade básica em seu servidor; se você precisar de módulos PHP5 especiais, pode procurá-los assim:

urpmi --fuzzy php

Da saída, escolha os módulos que você precisa, instale-os assim e reinicie o Apache2:

urpmi php-bz2 php-calendar php-ctype php-curl php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pam_auth php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php5-ini
/etc/init.d/httpd restart

3 Obtendo Detalhes Sobre Sua Instalação PHP5

A menos que você já tenha criado hosts virtuais em sua instalação do Apache, o diretório raiz do site padrão é /var/www/html. Agora vamos criar um pequeno arquivo PHP (info.php) nesse diretório (se você criou hosts virtuais, coloque-o em qualquer um dos hosts virtuais que tenha PHP habilitado) e chamá-lo em um navegador. O arquivo exibirá muitos detalhes úteis sobre nossa instalação do PHP, como a versão do PHP instalada.

vi /var/www/html/info.php

| |

Agora chamamos esse arquivo em um navegador (por exemplo, http://192.168.0.100/info.php):

Como você vê, nossa versão do PHP é 5.2.1.

Se tudo correu bem, você deve agora ver o Suhosin mencionado em dois lugares na página:

É isso. Se você quiser, pode configurar o Suhosin (veja http://www.hardened-php.net/suhosin/configuration.html), embora o Suhosin funcione imediatamente com sua configuração padrão, então tenha certeza de que você sabe o que está fazendo.

4 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.