PHPIDS (PHP-Intrusion Detection System) | Windows для системных администраторов

PHPIDS (PHP-Intrusion Detection System)

PHPIDS (PHP-Intrusion Detection System)

PHPIDS (PHP-Intrusion Detection System) — простое в использовании, хорошо структурированное, быстрое веб-приложение современного уровня безопасности для вашего PHP.

На основе комплекса протестированных фильтров-правил любому нападению дается цифровая оценка, которая позволяет легко решить, какие действия должны последовать при попытке взлома:

* записать в файл протокола

* протоколировать в БД

* послать емайл разработчику или сисадмину

* отобразить сообщение для взломщика

* завершить сессию пользователя

* и т.п.

Какого рода атаки обнаруживает PHPIDS

В настоящее время PHPIDS обнаруживает всевозможные XSS, SQL-инъекции, инъекции заголовков, обход каталогов, RFE/LFI, DoS и LDAP атаки. С помощью специальных алгоритмов преобразования PHPIDS способен обнаруживать замаскированные нападения — это охватывает несколько кодировок таких как UTF-7 в различных формах — JavaScript, Unicode, десятичные и шестнадцатиричные-коды, шелл коды и многие другие варианты.

Кроме того PHPIDS способна обнаруживать еще неизвестные атаки с компонентом PHPIDS Centrifuge.

На сайте есть демка. Пройдите туда и введите, например это:

?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E

и вы увидите PHPIDS в действии.

Вот как это можно использовать в коде ваших приложений (если вы не хотите изменять исходный текст ваших PHP скриптов, то читайте далее):

set_include_path(

get_include_path()

. PATH_SEPARATOR

. ‘path/to/phpids/lib’

);

require_once ‘IDS/Init.php';

$request = array(

‘REQUEST’ => $_REQUEST,

‘GET’ => $_GET,

‘POST’ => $_POST,

‘COOKIE’ => $_COOKIE

);

$init = IDS_Init::init(‘IDS/Config/Config.ini’);

$ids = new IDS_Monitor($request, $init);

$result = $ids->run();

if (!$result->isEmpty()) {

// Take a look at the result object

echo $result;

}

Установка

Скачиваете пакет. Каталог lib/ копируете, например, в /var/www/phpids/lib

Каталогу /var/www/phpids/lib/IDS/tmp (там будет находиться лог PHPIDS) назначаете владельца, группу и права на запись процессу Apache.

Далее изменяете файл настроек lib/IDS/Config/Config.ini изменяя пути и комментируя ненужные опции. Файл Config.ini не должен быть доступен через веб-интерфейс.

В каталоге своего веб-сервера создаете файл phpids.php:

<?php

set_include_path(

get_include_path()

. PATH_SEPARATOR

. ‘/var/www/phpids/lib’

);

require_once ‘IDS/Init.php';

$request = array(

‘REQUEST’ => $_REQUEST,

‘GET’ => $_GET,

‘POST’ => $_POST,

‘COOKIE’ => $_COOKIE

);

$init = IDS_Init::init(‘/var/www/phpids/lib/IDS/Config/Config.ini’);

$ids = new IDS_Monitor($request, $init);

$result = $ids->run();

if (!$result->isEmpty()) {

// Take a look at the result object

echo $result;

require_once ‘IDS/Log/File.php';

require_once ‘IDS/Log/Composite.php';

$compositeLog = new IDS_Log_Composite();

$compositeLog->addLogger(IDS_Log_File::getInstance($init));

$compositeLog->execute($result);

}

?>

Тестирование

Наблюдаете пустую страницу http://localhost/phpids.php

А теперь видите реакцию системы на атаку:

http://localhost/phpids.php?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E

Total impact: 54

Affected tags: xss, csrf, id, rfe, lfi, sqli

Variable: REQUEST.test | Value: «>XXX<script>alert(1)</script>

Impact: 27 | Tags: xss, csrf, id, rfe, lfi, sqli

Description: finds html breaking injections including whitespace attacks | Tags: xss, csrf

Description: Detects possible includes and typical script methods | Tags: xss, csrf, id, rfe

Description: Detects very basic XSS probings | Tags: xss, csrf, id, rfe

Description: Detects obfuscated script tags and XML wrapped HTML | Tags: xss

Description: Detects possibly malicious html elements including some attributes

| Tags: xss, csrf, id, rfe, lfi

Description: Detects basic SQL authentication bypass attempts 2/3 | Tags: sqli, id, lfi

Variable: GET.test | Value: «>XXX<script>alert(1)</script>

Impact: 27 | Tags: xss, csrf, id, rfe, lfi, sqli

Description: finds html breaking injections including whitespace attacks | Tags: xss, csrf

Description: Detects possible includes and typical script methods

| Tags: xss, csrf, id, rfe

Description: Detects very basic XSS probings | Tags: xss, csrf, id, rfe

Description: Detects obfuscated script tags and XML wrapped HTML | Tags: xss

Description: Detects possibly malicious html elements including some attributes

| Tags: xss, csrf, id, rfe, lfi

Description: Detects basic SQL authentication bypass attempts 2/3 | Tags: sqli, id, lfi

Если вы не хотите изменять исходный текст ваших PHP скриптов

Вот как это можно использовать для вебсайта:

.htaccess

php_value auto_prepend_file /var/www/full_path/phpids.php

Вот как это можно использовать для всего сервера:

php.ini

auto_prepend_file = /var/www/full_path/phpids.php

Спасибо, что дочитали до этого места. :)

Еще записи по теме: Linux, PHP
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.23MB/0.00107 sec