Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Антивзлом форума IPBoard

Опубликовано:

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

Навеяло на создание темы разговор с siv1987 о том, что всегда нужно обновляться до актуальной версии. НО! Стоит понимать, что одним обновлением мы не делаем свой форум абсолютно безопасным, всегда можно найти способ взломать форум. Начитавшись тонн разных материалов, пришел к выводу, что хакер среднего уровня (не школота) не работает импульсивно и не дергается, аки сложный подросток. Он работает по отлаженной схеме. Он не бежит искать админку с надеждой, что его туда пустят. Нет. В первую очередь надо определить CMS и желательно версию. Например, отличить 2.х от 3.х можно и внешне, имея опытный глаз, но если вебмастер использует индивидуальный дизайн, то можно определить версию обращением к одной из системных папок движка. Например, на 2.х есть папки, которых нет на 3.х и если даже к ним закрыт доступ, это уже (косвенно) говорит о той или иной версии: либо forbidden (и косвенно - есть такая папка), либо 404 (нет такой папки). То есть определить версия движка IPB можно не зная ее, даже если вебмастер визуально ее убрал. Зная версию, можно посредством разных сплоитов сломать любой двиг. Но для того, что уберечь свой форум от этих программ, нужно не только обновиться до актуальной версии, пропатчить дыры, но и соблюдать элементарную "гигиену", проще говоря - быть осторожным.

 

Я приведу несколько примеров того, как можно защитить свой форум, а здешние Гуру меня поправят если что не так (или дополнят).

Итак, мы имеем последнюю стабильную версию форума (полностью пропатченную) и вот что мы будем делать дальше:

 

1. Естественно перво-наперво закрываем от записи главный конфиг форума (CHMOD 444).

2. Далее, переименовываем папку /admin например на /manage44 или /control_q8 (как угодно , только не /admin) и желательно, творчески подойти к вопросу наименования.

3. Пароль к БД должен быть примерно таким: fO9e0o$>7!()^Diq__%4V или длиннее на порядок: вам все-равно его не вводить каждый раз, поэтому о его длине лучше позаботиться основательно, раз и навсегда надолго.

4. Переименовываем префикс к таблицам БД.

5. Права папок и файлов в корне форума не должны быть выше 700 (кроме конфига - 444). 700 хватает для полноценной работы всего форума. Проверено!

6. В корневом .htaccess (в корне форума) необходимо все ErrorDocument (403, 404...) обратить к /403.

7. В конфиге сервера необходимо запретить вывод каких-либо системных ошибок. Отчет о версии Apache и PHP не должен появляться в окне браузера НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ! Лучше сделать свои страницы ошибок.

8. Закрыть ото всех phpinfo вашего сервера (сделать доступным только для администратора).

9. Доступ к АЦ нужно ограничить только с Вашего статичного IP.

10. Служебный доступ к ftp необходимо так же ограничить только Вашим IP.

11. Пароли к админке и ftp должны быть надежными и меняться раз в месяц (квартал).

12. Все администраторы форума должны иметь несуществующие электронные почты, на которые зарегистрирован их аккаунт (для случаев взлома админских акков по почте). Зайдите в АЦ в профиль админа и сделайте ему почту, типа odmin4@google.ru.com.bot.net (такой почты, естественно не существует и confirm о смене пароля будет сливаться, что называется, в унитаз).

13. Имя и логин администраторов должны отличаться. К примеру, на форуме Ваше имя высвечивается в постах как "Админ", а в поле ввода логина Вы должны вводить сложную комбинацию цифр и букв, известную ТОЛЬКО Вам! Естественно, злоумышленник никогда не сможет ее узнать.

14. Пароли администраторов должны быть достаточно большими, но при соблюдении п. 13 (имея логин, отличный от никнейма), можно пароль иметь и поменьше.

15. В php.ini необходимо запретить следующие функции, которые после этого не будут работать на Вашем форуме. В директиве:

 

disable_functions = "exec,system,phpinfo,passthru,shell_exec,escapeshellarg,escapeshellcmd,parse_ini_file,ini_alter,dl,popen,show_source,pcntl_exec,proc_close,proc_open,proc_get_status,proc_nice,proc_terminate,symlink"

Кто-то еще запрещает eval, но не на всех версиях это можно сделать. Версия 3.2.3 полноценно работает без eval и ничего не отваливается.

16. В том же php.ini необходимо отключить display_errors = Off.

17. В том же php.ini необходимо отключить register_globals = Off.

18. На АЦ устанавливаем .htaccess-авторизацию (дополнительная защита АЦ).

19. Отключаем листинг всех директорий форума. Для этого в корневом .htaccess пишем:

Options All -Indexes

20. Принимаем дополнительные комплексные меры по защите форума. Для этого в .htaccess добавляем:

# Включаем отслеживание сим-ссылок:
Options +FollowSymLinks
# Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Перенаправляем все подобные на страницу с ошибкой 403 — запрещено:
RewriteRule ^(.*)$ index.php [F,L]

21. Закрываем от гостей все приложения форума, где можно что-либо ввести (какой-либо текст) в поле ввода. Все приложения должны быть доступны только пользователям.

22. Необходимо полностью запретить использование html на форуме (для всех масок), в том числе и для администраторов, за ненадобностью.

23. Создать новую группу пользователей, например "Новички" (пусть у нее будет ID: 15). Этот ID необходимо прописать в конфиге в строке:

$INFO['member_group'] = '15';

После этого все новые пользователи будут попадать в эту группу. Теперь для этой группы нужно отрубить все потенциально опасные инструменты: личку, вложения, img, полностью профиль, оставление ссылок, html (само собой) и все-все, кроме голимого текста и некоторых BB-кодов. И поставить порог перехода от "Новичков" к "Пользователям", например, 20 сообщений. Ни один кулхацкер не будет писать 20 сообщений, чтобы потом нанести какой-либо урон, который еще надо умудриться нанести.

24. Гостям форума отключить строку поиска.

25. Во всех папках форума, где нет php-файлов, необходимо установить .htaccess с соответствующим содержимым. Функция доступна в АЦ.

26. Скрыть версию форума не только визуально из подвала форума, но и из исходного кода. Функция доступна в АЦ.

27. Выдавать своим администраторам только ограниченные права на определенные разделы АЦ, а не на весь АЦ.

28. Не использовать приложения и хуки, в которых Вы не уверены.

29. Время сессии пользователей нужно, по возможности, уменьшить. Защита от перехвата.

30. Всегда наблюдайте за странной активностью на форуме. Знайте свою целевую аудиторию! Если Ваш форум - городской, то ограничьте его хотя бы пределами государства или отключите от форума страны, в которых очень много зараженных компьютеров Ботнета. Для этого в корневом .htaccess добавляем:

<IfModule mod_setenvif.c>
# Блокировка доступа странам Ю-В Азии и Африки
Deny from 3 4 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 28 29 30 32 33 34 35 38 40 41 43 44 45 47 48 51 52 53 54 55 56 57 58 59 60 61 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 140.92 140.96 140.109 140.138 163.13 163.32 180 192.192 196 202 203 210 211 214 215 218 219 220 221 222
</IfModule>

Это обезопасит Ваш форум не только от хакерских атак из этих регионов, но и уменьшит нецелевой траффик и в коей-то мере даже ограничит от DDOS-атак из этих регионов.

 

Фуф! Может чего-то и забыл, но в том-то и задумка - если у кого-то есть иные способы защиты форума от несанкционированного доступа к его ресурсам, пишите, мы обязательно это обсудим!

 

P.S. Все мысли только мои (кроме некоторых готовых решений), поэтому статья эксклюзивна для IPBSkins!

Изменено пользователем Одмин

Рекомендованные сообщения

Опубликовано:

Вот здесь http://ipbskins.ru/forum/topic9583.html/page__view__findpost__p__63082 ув. Ritsuka писал:

 

На данный момент у меня на руках уже 3 эксплоита, гарантированно пробивающих всю линейку 3.х (включая и последнюю 3.3.1). Один найден в процессе написания одного мода, два других - в процессе написания второго мода. Т.е. я не провожу серьезного аудита безопасности, а просто время от времени пишу что-то для IPB, и тем не менее каждый раз наталкиваюсь на серьезные бреши в безопасности. Вот это - действительно серьезная причина усомниться в IP.Board.

Очень хотелось бы узнать, были ли исправлены эти моменты? И не по этой ли причине он ушел с IPB?

 

Данная тема очень напугала... Неужели все так плохо с безопасностью в тройке? :(

Опубликовано:

Со времен 3.3.1 много воды утекло и десятка два обновлений критических. С крайними, для 3.3.4, не говоря уже про 3.4.9, эти эксплоиты не работали, на сколько я помню. Что не исключает того, что кто-то не написал новых, для ещё не обнаруженных уязвимостей.

 

Форум, указанный в профиле Ritsuka, работает на IPS4, на сколько я вижу. Почему он прекратил заниматься разработкой для этой платформы, это другой вопрос, который можно задать ему самому, при желании.

Опубликовано:

Дмитрий, а Вы не могли бы отправить мне в личку ссылку на его форум, пожалуйста? Я думал, он не оставил никакой контактной информации.

 

А сущестствуют ли какие-нибудь способы обнаружить эти уязвимости, кроме как вручную проверять код? Вопрос конечно глупый, но все же.

Изменено пользователем Strategius

  • 1 год спустя...
Опубликовано:

Когда-то я открывал эту тему (как и многие прочие на этом форуме) под ником Одмин. Давным давно уже забыл пароль и почту, да и форум свой уже давно забыл. Есть пара сайтов. Так вот. Сейчас под этим ником. Поскольку эта тема актуальна не только для форумов, и не в частности только для IPB, а и для обычных сайтов, остаётся актуальным вопрос о том, появились ли за несколько лет моего отсутствия новые методы (способы, алгоритмы) борьбы со взломами интернет-ресурсов.

Опубликовано:

Ты грамотный человек, спасибо. Многому научился у тебя.

Этот форум умер так же как и мода на пейджеры к сожалению ((

Опубликовано:

@Shamporov, еще году так эдак в 13 или 14 слышал мнение одного пользователя, дескать форумы - это уже доживающие свой век формы виртуальных коммуникаций и им на смену давно пришли и вытесняют с рынка социальные сети.

Сюда не заходил более двух лет, ибо похоронил свой форум, который развивал около 7 лет. Вижу, IPS4 так или иначе развивается. К чему это приведет не знаю. Но так или иначе, форумы теряют свою актуальность, не в состоянии конкурировать с соцсетями.

Изменено пользователем Рома

Опубликовано:

2-3 года еще будут жить - гарантирую)

Опубликовано:

Он будут жить еще долго. В соц сетях так не пообщаешься.

Опубликовано:

или даже так )

Опубликовано:

Даже вымерший форум (в сравнении с социальными сетями), на котором ранее активно общались, имеет ряд преимуществ. Одна из них - огромный архив информации. Еще одна - более зрелая и адекватная публика (нет школоты). Ну и, конечно же, пока разработчики новых версий форума выпускают продукт, всегда будут те, кому нужна тех. поддержка.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.