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 -aSe você não tiver o Apache2 e o PHP5 instalados em seu servidor, instale agora:
urpmi apache-mod_php libphp5_common5Muitos 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 restartAgora 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 phpDa 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 restart3 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
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.