• Категории
  • Подписка
  • Разместить статью
05/07/10 18 7517 Безопасность скриптов
-

Пишем firewall на PHP

Надо отдать должное людям, которые работают в направлении безопасности web-ресурсов.

Буржуй-нет полон такого рода всякими скриптами. Например, недавно скачал для себя PHP Firewall. Скрипт поддерживает PHP 5, не нуждается в базе, прост в использовании и мало весит, ко всему этому нет затруднений в установке и работе, при наличии определенных навыков, мозга и более или менее ровных рук. PHP Firewall имеет свою систему сбора информации (логи), а также модуль email оповещения о тревоге. Нет необходимости использования .htaccess, хотя я в этом не уверен. Скрипт можно использовать для всех видов cms, блогов, форумов и всего что на ум придет.

Возможности PHP Firewall по словам разработчика:

  • защита XSS
  • защита от UNION SQL-инъекций
  • защита от DOS
  • защита include
  • защита от червей
  • серверная защита (не проверено)
  • защита URL запроса
  • профилактика Cookies
  • профилактика запросов POST, GET
  • запрет на сканирование IP
  • блокировка спама с определенного IP
  • комплексная защита IP
  • сброс глобальных переменных PHP

Установка/внедрение PHP Firewall в сайт

  • создать папку, например php-firewall/ в корне сайта
  • выставить необходимые права доступа на файл php-firewall/logs.txt (например, 755)
  • добавить строки в основной код страницы сайта
< ?php  define('PHP_FIREWALL_REQUEST_URI', strip_tags( $_SERVER['REQUEST_URI'] ) );
define('PHP_FIREWALL_ACTIVATION', true );
if ( is_file( @dirname(__FILE__).'/php-firewall/firewall.php' ) )
include_once( @dirname(__FILE__).'/php-firewall/firewall.php' ); ?>

Для деактевации PHP Firewall, редактируйте строку:

define('PHP_FIREWALL_ACTIVATION', false );

Конфигурирование PHP Firewall

Вы можете активировать/деактивировать большинство функций защиты в PHP Firewall. Для этого необходимо открыть файл php-firewall/firewall.php. Все параметры, находящиеся между строками 23 и 39 и которые имеют true/false можно редактировать, соответственно включая/отключая  их.

define('PHP_FIREWALL_ADMIN_MAIL', '' );  // напишите свою электронную почту и PHP Firewall оповестит о несанкционированном доступе
define('PHP_FIREWALL_PUSH_MAIL', false ); // отчет работы системы на электронную почту
define('PHP_FIREWALL_LOG_FILE', 'logs' );  // название файла сбора статистики ‘logs’ для  PHP Firewall
define('PHP_FIREWALL_PROTECTION_RANGE_IP_DENY', true ); // блокатор занятых IP
define('PHP_FIREWALL_PROTECTION_RANGE_IP_SPAM', true );  // блокатор IP-спамеров
define('PHP_FIREWALL_PROTECTION_URL', true );  // URL защита
define('PHP_FIREWALL_PROTECTION_REQUEST_SERVER', true ); // защита запросов
define('PHP_FIREWALL_PROTECTION_SANTY', true ); // защита от червя
define('PHP_FIREWALL_PROTECTION_BOTS', true ); // защита от ботов
define('PHP_FIREWALL_PROTECTION_REQUEST_METHOD', true ); // Bad method protection
define('PHP_FIREWALL_PROTECTION_DOS', true ); // Mini dos защита
define('PHP_FIREWALL_PROTECTION_UNION_SQL', true ); // защита от sql-инъекций
define('PHP_FIREWALL_PROTECTION_CLICK_ATTACK', true ); // включает защиту файлов
define('PHP_FIREWALL_PROTECTION_XSS_ATTACK', true ); // защита от XSS
define('PHP_FIREWALL_PROTECTION_COOKIES', true ); // защита cookies
define('PHP_FIREWALL_PROTECTION_POST', true ); // защита POST vars
define('PHP_FIREWALL_PROTECTION_GET', true );  // защита GET vars

PHP Firewall, небольшой примечательный скрипт, имеющий массу достоинств, осталось только проверить недостатки. :]

Скачать PHP Firewall:

PHP_Firewall_102.zip

сайт разработчика (см. www.php-firewall.info)


18 комментариев на «“Пишем firewall на PHP”»

  1. evgen:

    огромное спасибо за статью, очень актуально

  2. Владимир:

    Фаервол на скриптовом языке — что то новое. Такие вещи нужно решать на уровне сервера.

  3. Вау такая находка,спасибо,скачиваю)

  4. ddd:

    гавно полное брет вообще школяр вообще писал какойто

    • Бодя:

      ddd:
      скрипт с буржуйского скриптохранилища, лично писаку не знаю, но я б на его месте обиделся -))

  5. Женя:

    Спасибо! Помогло

  6. говно, черный список не в состоянии защитить веб.
    А если и в состоянии то временно.

    Вот бесплатно, с граф. интерфейсом и белый список.
    https://github.com/shaman33/web_app_firewall/

Добавить комментарий

Яндекс.Метрика