Рейтинг темы:
  • 2 Голос(ов) - 3 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Методы и средства защиты форума спама и взлома
#1
Коллеги!
Предлагаю обсудить существующие средства, которые позволят защитить форум MyBB от спама и несанкционированного доступа.

Немного из личного опыта, могу сказать следующее, что стандартные средства защиты форума от спамеров практически неэффективны. Могу сказать следующее, что спам нацелен на два направления. Первое, это засорение разделов всякими неприличными темами, на связанными с виагрой и подобной гадостью. Второе, это массовая регистрация пользователей, с указанием в профили пользователя ссылок на прокачиваемые сайты.

Про взлом форума, рассказать ничего не могу, тк. прецедентов пока не было. Но на офф форуме очень часто проскакивают топики про дырявость сторонних модулей. Даже если погулить, то можно будет найти достаточное количество эксплоитов.

Что касаемо защиты от спамеров, в качестве первой линии обороны рекомедую использовать плагин "Sequrity Question", а также добавить в robots.txt добавляем запрет на индексацию профайлов пользователей:
Код:
Disallow: /member.php?*action=profile

p.s. C удовольствием выслушаю ваши рекомендации.
Ответ
#2
(02.08.2011, 09:05 PM)admin Написал: а также добавить в robots.txt добавляем запрет на индексацию профайлов пользователей:
Код:
Disallow: /member.php?*action=profile

Приветствую! Благодарю за подсказку про файлик robots.txt. Есть одна просьба, касаемо него. Вы можете выложить его полностью?

Я пробовал устанавливать плагин с капчей, толку 0. Все равно регились, притом подтверждали свои мейл адреса. Сейчас в активном поиске других плагинов. Как раз протестирую плагин Sequrity Question.
=================================
Перевел этот плагин на русский.

.zip   regsecureqv1.2-russian.zip (Размер: 146.96 KB / Загрузок: 7)
Ответ
#3
(03.08.2011, 09:28 AM)tom.cat Написал: Приветствую! Благодарю за подсказку про файлик robots.txt. Есть одна просьба, касаемо него. Вы можете выложить его полностью?
Предлагаю обсудить это в новой теме
http://mybbforum.ru/showthread.php?tid=417

Цитата:Я пробовал устанавливать плагин с капчей, толку 0. Все равно регились, притом подтверждали свои мейл адреса. Сейчас в активном поиске других плагинов. Как раз протестирую плагин Sequrity Question.
=================================
Перевел этот плагин на русский.
Спасибо за перевод. Немного подправил и доперевел интерфейс, а также добавил по умолчанию русские контрольные вопросы.

http://mybbforum.ru/showthread.php?tid=416

Ответ
#4
(11.08.2011, 01:16 PM)admin Написал: Спасибо за перевод. Немного подправил и доперевел интерфейс, а также добавил по умолчанию русские контрольные вопросы.

http://mybbforum.ru/showthread.php?tid=416
Я залил свой перевод сюда. Если есть желание, можешь перезалить свой исправленный.
Ответ
#5
А будут ли переводить админ-панель?
Ответ
#6
(12.08.2011, 06:47 AM)Балу Написал: А будут ли переводить админ-панель?

У меня переведена админка. А вы каким переводом пользуетесь?
Ответ
#7
Вот еще способ защиты от взлома маленький но работает.
http://mybbforum.ru/showthread.php?tid=427

Еще можно вставить это
Код:
<body onselectstart="return false" oncopy="return false">  
<body bgcolor="#FFFFFF" text="#000000" onmousedown="javascript:if(event.button==2) alert('mouse2 запрещен!');" onKeyDown="alert('Клавиатура запрещена!')"; >
в шаблон showthread после тега <body>
для защита от копирования (неудобно будет пользователям имхо)
Ответ
#8
уже больше месяца как установил на форум php-firewall.
сайт проекта: http://www.php-firewall.info/

установка:
1. Распаковать архив в корень сайта
2. Прописать в global.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' );

защиты:
* XSS protection
* UNION SQL Injection protection
* Bads bots protection
* Bads requests methods protection
* Small DOS protection
* Inclusion files protection
* Santy and others worms protection
* Server Protection
* URL Query protection
* Cookies sanitize
* Post vars sanitize
* Get vars sanitize
* IPs range reserved denied
* IPs range spam denied
* IPs protected
* Unset globals PHP var

мои настройки:
Код:
/** configuration define */
define('PHP_FIREWALL_LANGUAGE', 'english' );
define('PHP_FIREWALL_ADMIN_MAIL', '***@gmail.com' );
define('PHP_FIREWALL_PUSH_MAIL', true );
define('PHP_FIREWALL_LOG_FILE', 'logs' );
define('PHP_FIREWALL_PROTECTION_UNSET_GLOBALS', true );
define('PHP_FIREWALL_PROTECTION_RANGE_IP_DENY', false );
define('PHP_FIREWALL_PROTECTION_RANGE_IP_SPAM', false );
define('PHP_FIREWALL_PROTECTION_URL', true );
define('PHP_FIREWALL_PROTECTION_REQUEST_SERVER', false );
define('PHP_FIREWALL_PROTECTION_SANTY', true );
define('PHP_FIREWALL_PROTECTION_BOTS', false );
define('PHP_FIREWALL_PROTECTION_REQUEST_METHOD', true );
define('PHP_FIREWALL_PROTECTION_DOS', true );
define('PHP_FIREWALL_PROTECTION_UNION_SQL', true );
define('PHP_FIREWALL_PROTECTION_CLICK_ATTACK', true );
define('PHP_FIREWALL_PROTECTION_XSS_ATTACK', true );
define('PHP_FIREWALL_PROTECTION_COOKIES', false );
define('PHP_FIREWALL_PROTECTION_POST', false );
define('PHP_FIREWALL_PROTECTION_GET', false );
define('PHP_FIREWALL_PROTECTION_SERVER_OVH', false );
define('PHP_FIREWALL_PROTECTION_SERVER_KIMSUFI', true );
define('PHP_FIREWALL_PROTECTION_SERVER_DEDIBOX', true );
define('PHP_FIREWALL_PROTECTION_SERVER_DIGICUBE', true );
define('PHP_FIREWALL_PROTECTION_SERVER_OVH_BY_IP', false );
define('PHP_FIREWALL_PROTECTION_SERVER_KIMSUFI_BY_IP', true );
define('PHP_FIREWALL_PROTECTION_SERVER_DEDIBOX_BY_IP', true );
define('PHP_FIREWALL_PROTECTION_SERVER_DIGICUBE_BY_IP', true );
/** end configuration */
в целом отсеивает ботов, блокирует их регистрацию по вложенным get-запросам.
у меня работает в комплексе с бесплатным сервисом cloudflare, который также отсеивает спамеров по своим спискам и кеширует статику.

для форумов, работающих на nginx, так же можно на его уровне отсеивать некоторые атаки и спамеров.
в файл настроек nginx, в группе server для форума вставьте:
Код:
deny<------>213.186.127.14; #AhrefsBot/3.1; +http://ahrefs.com/robot/
    deny<------>213.186.127.6;
    deny<------>213.186.127.13;
    deny<------>213.186.119.136;
    deny<------>213.186.119.142;
    deny<------>213.186.119.144;
    deny<------>213.186.119.131;
    deny<------>213.186.127.3;
    deny<------>213.186.119.132;
    deny<------>213.186.127.28;
    deny<------>213.186.119.134;

    if ($http_user_agent ~ "AhrefsBot") {
       return 403;
    }

    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
        return 444;
    }
    if ($host !~ ^(домен сайта)$ ) {
        return 444;
    }
    if ( $http_referer ~* (babes|forsale|girl|jewelry|love|nudit|organic|poker|porn|sex|teen) ) {
        return 403;
    }
## Блокировка SQL-injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }

    ## Блокировка file-injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=http://") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }
## Блокировка common-exploits
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }
    ## Блокировка спама
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }
Ответ
#9
(11.08.2011, 01:16 PM)admin Написал:
(03.08.2011, 09:28 AM)tom.cat Написал: Приветствую! Благодарю за подсказку про файлик robots.txt. Есть одна просьба, касаемо него. Вы можете выложить его полностью?
Предлагаю обсудить это в новой теме
http://mybbforum.ru/showthread.php?tid=417

Цитата:Я пробовал устанавливать плагин с капчей, толку 0. Все равно регились, притом подтверждали свои мейл адреса. Сейчас в активном поиске других плагинов. Как раз протестирую плагин Sequrity Question.
=================================
Перевел этот плагин на русский.
Спасибо за перевод. Немного подправил и доперевел интерфейс, а также добавил по умолчанию русские контрольные вопросы.

http://mybbforum.ru/showthread.php?tid=416

(29.11.2012, 11:02 PM)ElDrako Написал: уже больше месяца как установил на форум php-firewall.
сайт проекта: http://www.php-firewall.info/

существуют ли бесплатные альтернативы и какой принцип работы данной системы?
Ответ
#10
он и так бесплатен, только сейчас у них сайт не работает.
принцип простой - отсеивает запросы в соответствии с шаблонами.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)