Page 97 - 4636
P. 97
Крім того, вони зібрані в групи за областями застосування і розширень імен: імена всіх
настроювальних параметрів mbstring починаються з mbstring, а імена параметрів, що
відносяться до сеансів, мають префікс session.У файлі присутня велика кількість настроювальних
параметрів для модулів, які нам ніколи не доведеться використовувати, і якщо ці модулі відключені,
то не варто і думати про ці параметри - вони будуть просто проігноровані. Але для тих модулів, які
будуть використовуватися, необхідно прочитати в онлайновій інструкції по РНР
(http://www.php.net/manual) про параметри цих розширень і їх можливих значень. Тут також настійно
рекомендується або регулярно створювати резервні копії файлу php. ini, або записувати всі
виконані зміни, щоб при інсталяції нових версій у ньому були присутні всі потрібні значення. З цими
параметрами пов'язаний один нюанс: якщо вам доведеться використовувати старе ПО, написане на
РНР, то воно може зажадати включення параметрів register_ globals та/або register long
arrays. У цьому випадку вам належить вирішити, чи варто користуватися цим і піддавати систему
ризику. Цей ризик можна мінімізувати, якщо частіше цікавитися наявністю виправлень безпеки та
інших оновлень для такого ПЗ.
Налаштування веб-сервера. Після того як ми розберемося з налаштуванням мовного
інтерпретатора РНР, можна переходити до веб-сервера. У кожного сервера свій процес налаштування
безпеки, і ми розглянемо такі процеси для двох найбільш популярних серверів: Apache HTTP Server і
Microsoft IIS.
Apache HTTP Server. Сервер httpd поставляється з досить розумними значеннями за
замовчуванням, але є деякі моменти, які краще перевірити ще раз, перш ніж запустити сервер у
виробничому середовищі. Всі конфігураційні параметри знаходяться в одному файлі httpd.conf, який
зазвичай розташований в підкаталозі /conf базової інсталяції httpd (тобто
/usr/local/apache/conf або C:\Program Files\Apache Software
Foundation\Apache2.2\conf). Обов'язково прочитайте те, що стосується безпеки, в онлайновій
документації на сервер (http://httpd.apache.org/ docs-project).Крім того, необхідно
виконати описані нижче дії:
перевірте, httpd виконується від імені користувача без повноважень суперкористувача (зразок
nobody або httpd в Unix). Цим керують параметриUser Group і у файлі httpd.conf;
перевірте, чи правильно вказано права доступу для каталогу інсталяції Apache. В Unix у всіх
каталогів, крім кореневого каталогу документів (за замовчуванням це підкаталог /htdocs), повинні
бути зазначені власник root і права доступу 755;
перевірте, чи сервер налаштований на обробку правильної кількості підключень. Для
користувачів httpd версій 1.3.x у параметрі MaxClients слід вказати розумну кількість одночасно
оброблюваних клієнтів. Зазвичай використовується стандартне значення 150, але якщо очікується
серйозне навантаження, то цю кількість можна збільшити. В Apache версій 2.x підтримується
багатопотоковість, тому необхідно перевірити значення ThreadsPerChild (цілком підходить
стандартне значення 50);
приховайте файли, які не призначені для постороніх, за допомогою відповідних директив у
файлі httpd.conf. Наприклад, для виключення з поля видимості файлів з розширенням . inc, потрібно
додати такі рядки:
<Files - "\.inc$">Order allow, deny
Deny from all
</Files>
Звичайно, як вже було сказано, краще відразу винести такі файли йз кореневого каталогу
документів для зазначеного веб-сайту.
Microsoft IIS.
Для налаштування IIS непотрібно редагувати файли з параметрами, як для Apache HTTP Server,
але для захисту інсталяції IIS все-таки треба здійснити ряд дій:
намагайтеся не розміщувати веб-сайти на тому ж логічному диску, що і операційна система;
94