PHP 보안 · 2 min read · Oct 25, 2025

Mandriva 2007 Spring에서 Suhosin으로 PHP5 강화하는 방법

Mandriva 2007 Spring에서 Suhosin으로 PHP5 강화하는 방법

버전 1.0
저자: Falko Timme

이 튜토리얼은 Mandriva 2007 Spring 서버에서 Suhosin으로 PHP5를 강화하는 방법을 보여줍니다. Suhosin 프로젝트 페이지에서: “Suhosin은 PHP 애플리케이션과 PHP 코어의 알려진 및 알려지지 않은 결함으로부터 서버와 사용자를 보호하기 위해 설계된 PHP 설치를 위한 고급 보호 시스템입니다. Suhosin은 독립적으로 사용하거나 조합하여 사용할 수 있는 두 개의 독립적인 부분으로 구성됩니다. 첫 번째 부분은 버퍼 오버플로우 또는 포맷 문자열 취약점에 대한 몇 가지 저수준 보호를 구현하는 PHP 코어에 대한 작은 패치이며, 두 번째 부분은 모든 다른 보호를 구현하는 강력한 PHP 확장입니다.”

이 문서는 어떤 종류의 보증 없이 제공됩니다! 이 방법이 귀하에게 효과가 있을 것이라는 보장을 하지 않습니다!

1 사전 참고

저는 IP 주소가 192.168.0.100인 Mandriva 2007 Spring 서버에서 이것을 테스트했습니다.

이 튜토리얼은 약간 비정상적입니다. 왜냐하면 PHP5가 설치되어 있다면 Mandriva 2007 Spring에서 Suhosin을 설치하기 위해 해야 할 일이 없기 때문입니다. Mandriva의 PHP5는 기본적으로 이미 Suhosin이 포함되어 있습니다. 어쨌든, 이 튜토리얼을 작성할 가치가 있다고 생각합니다. 왜냐하면 “Suhosin을 설치하기 위해 무엇을 해야 합니까?”라는 질문에 대한 답을 제공하기 때문입니다. - 아무것도 하지 않아도 됩니다, PHP5가 이미 설치되어 있다면요.

2 Apache2 및 PHP5 설치 (선택 사항)

(이 장은 Apache2와 PHP5가 이미 설치되어 있다면 선택 사항입니다 - PHP5에서 Suhosin이 활성화되어 있는지 확인하려면 다음 장으로 건너뛰십시오.)

먼저, Mandriva의 온라인 저장소(및 Mandriva DVD가 아닌)를 사용하여 패키지를 설치하는 경우, 패키지 데이터베이스를 업데이트해야 합니다:

urpmi.update -a

서버에 Apache2와 PHP5가 설치되어 있지 않다면 지금 설치하십시오:

urpmi apache-mod_php libphp5_common5

많은 다른 패키지가 이러한 두 패키지와 함께 종속성으로 설치됩니다. 출력에서 볼 수 있습니다:

[root@server1 ~]# urpmi apache-mod_php libphp5_common5
종속성을 충족하기 위해 다음 패키지가 설치됩니다:
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
27개의 패키지를 설치하시겠습니까? (6 MB) (Y/n)
[…]

보시다시피, 패키지 php-suhosin이 자동으로 설치되므로 귀하의 PHP5는 기본적으로 Suhosin에 의해 강화됩니다.

그런 다음 Apache2를 시작하십시오:

/etc/init.d/httpd restart

이제 서버에 기본 기능이 있는 PHP5가 설치되었습니다. 특별한 PHP5 모듈이 필요하다면 다음과 같이 검색할 수 있습니다:

urpmi --fuzzy php

출력에서 필요한 모듈을 선택하고 다음과 같이 설치한 후 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 PHP5 설치에 대한 세부 정보 얻기

Apache 설치에서 가상 호스트를 이미 생성하지 않았다면 기본 웹 사이트의 문서 루트는 /var/www/html입니다. 이제 해당 디렉토리에 작은 PHP 파일(info.php)을 생성하고(가상 호스트를 생성한 경우 PHP가 활성화된 가상 호스트 중 하나에 배치) 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부 정보를 많이 표시합니다.

vi /var/www/html/info.php

| |

이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.0.100/info.php):

보시다시피, 우리의 PHP 버전은 5.2.1입니다.

모든 것이 잘 진행되었다면, 이제 페이지의 두 곳에서 Suhosin이 언급된 것을 볼 수 있어야 합니다:

그게 전부입니다. 원하신다면 Suhosin을 구성할 수 있습니다(자세한 내용은 http://www.hardened-php.net/suhosin/configuration.html 참조). 기본 구성으로도 Suhosin은 즉시 작동하므로, 자신이 무엇을 하고 있는지 확실히 아는 것이 중요합니다.

4 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.