VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
В принципе, неважно, что у этих школьников маловато мозгов, чтобы сокрушить внутреннюю защиту самого форума, но профилактика всегда лучше лечения.
Ну да ладно, приступим непосредственно к практике. Рассмотри общие рекомендации.
Пароли
Очевидно, что это самое уязвимое место во всей системе. 90% ошибок возникают из-за беспечности самих пользователей. Пароли в стиле домашних/сотовых телефонов, различные Qwerty и т.д. - залог потери форума.
Рекомендуется использовать сложные пароли, состоящие из символов различного регистра, цифр. Пример отличного пароля: JimJGFkz1Dp
Настройка доступа в админ панель
Защита директорий admincp и modcp
Во-первых, защита от ламера - переименование папок (не забывайте изменять имена и в конфиге).
Во-вторых, защита директорий паролем. Не стану заного изобретать велосипед, ибо в данной теме всё расписано подробнейшим образом.
Настройка форума
/install/
Как только установка форума завершена, рекомендуется полностью удалить папку с сервера
Основные настройки/Использовать систему "антиподбора" пароля
Данная опция должна быть включена, независимо от того, сколько уровней защиты вы создадите далее. Никогда не бывает лишних мер по обеспечению безопасности. В принципе, при сложном пароле опция не так сильно важна, ибо на брут злоумышленник всю жизнь потратит.
Основные настройки/Записи и отслеживание ошибок
Логирование - наше всё. Тот, кто обладает актуальной информацией, владеет миром. Прежде всего необходимо включить опцию "Записывать неудачные попытки входа в панель администратора". Сделать это можно, создав папку (например, logs) и указав в строке опции абсолютный путь до неё + имя файла. Например:
Code:
/var/www/logs/admincp
Очевидно, что логи, кроме вас, никому видеть не нужно, поэтому закинем в корень папки файлик .htaccess с содержанием:
Code:
Order Deny,Allow
Deny from all
Остальные опции в данном разделе можете не трогать, если вам пофиг, как живёт ваш форум и от чего болеет.
Аватары/альбомы и т.д. (для обладателей vbseo, которые не следят за обновлениями)
В случае, если ваши аватары и альбомы хранятся в файловой системе (а так и должно быть на любом нормальном форуме, админу которого не плевать на его производительность) не помешает добавить в корни директорий signaturepics, customprofilepics, customgroupicons, customavatars файл .htaccess с содержанием:
Данные манипуляции не позволят злоумышленнику воспользоваться лазейкой, связанной с подменой аватара вредоносным кодом (В основном, это проблема обладателей старенького модуля VBSEO, который и так является деревянным забором, отделяющим злоумышленника от взлома форума. Ставить крайне не рекомендуется),но, как и ранее говорилось - параноя в нашем деле, качество хорошее
HTML
Никогда не разрешайте использование html в сообщениях. Это дырень ещё похуже vbseo.
Полезные модули:
В принципе, вобла по дефолту защищена, наверное, от любых обстоятельств. Это действительно мощный продукт, который при грамотном подходе достаточно самостоятелен. Из модулей могу порекомендовать только vBFirewall. Он будет ещё 1 рубежом защиты против sql-инъекций. Работает достаточно просто, создаёт отчёты в корне сайта и высылает уведомления. Из минусов: иногда бывают ложные срабатывания на абсолютно честных пользователей.
Общие рекоендации:
Это даже не рекомендация, это требование к любому адекватному админу: Постоянно проверяйте новые обновления/патчи. На момент написания статьи, оптимальным выбором будет 3.8.5
На счёт модулей/хаков: Вобла, сама по себе, как Форт-Нокс. Но, как и в любой системе, присутствует фактор человеческих ошибок. Старайтесь не использовать большое кол-во модулей/хаков без необходимости. Если какой-либо хак вам не нужен, то удалите его полностью (включая файлы на фтп). Никто не сможет дать вам гарантий, что в скаченном вами хаке не окажется какой-либо дряни, вроде шелов и потенциальных уязвимостей и т.д.
Бэкапы
Как говорится, лишний бэкап в жопу не давит. Старайтесь выполнять данную несложную процедуру хотябы 3-4 раза в неделю (самые ушлые могут забить на крон проверку и дамп бд).
Если всёже сломали:
Вариантов решения проблем несколько:
1. Сверьте даты изменения файлов форума, их размеры.
2. Проверьте шаблоны на наличие лишних ссылок и т.д. (header, headincludes, forumhome, footer...)
3. Просмотрите логи апача на предмет подозрительных действий (да, занятие неблагодарное при большой посещаемости, но всё же иногда весьма полезное. Никто не говорил, что админить что-то просто).
4. Обратиться к хостеру. Иногда, к сожалению, встречаются и дырявые хостинги...
Вроде ничего не забыл. Помните, главное - это человеческий фактор. Разработчики форума не зря получали свою зарплату и создали по истине непробиваемый проект.
Безопасность - действительно интересный и важный аспект любого проекта. За развитие данной темы топикстартеру огромное спасибо, но с ~70% из вышесказанного является по моему мнению не верным. С позволения, отвечу цитированием:
Quote:
Originally Posted by Mago de Sombra
Вот сегодня пересматривая почту обнаружил, что на мой недавно родившийся форум уже положили взгляд некие школьники.
Сегодня в логах будут школьники, завтра боты. Суть не в этом. Главный фактор безопасности - ежемесячный просмотр ERROR логов, которые само собой должны располагаться в отдельном файле (не вперемешку с access). Логи дадут знать не только о брутах, но и скажут об отсутствии картинок и прочего другого, что вдвойне будет полезным.
Quote:
Пароли
Очевидно, что это самое уязвимое место во всей системе. 90% ошибок возникают из-за беспечности самих пользователей. Пароли в стиле домашних/сотовых телефонов, различные Qwerty и т.д. - залог потери форума.
Рекомендуется использовать сложные пароли, состоящие из символов различного регистра, цифр. Пример отличного пароля: JimJGFkz1Dp
Это не пример отличного пароля, это пример пароля, который будет где-то у вас хранится: на бумажке, в тетрадке, на вашем PC в каком-то файле и т.д. Подсчитайте сколько ресурсов Вы лично посещаете - vbsuupport, google, возможно соц. сеть, почта, аська, скайп, irc - вы собираетесь везде нагрузить себя паролями, вида "Jfd93jiSjif843HHH" ? Итогом такого метода будет неизбежное хранение данной информации на каком-либо носителе. Главный и самый надежный носитель как известно голова, но признаюсь, возможно лишь только у меня голова не может запомнить подобные пароли от 45-и ресурсов и сервисов в сет (кол-во сейчас подсчитал). Пароли должны быть вида, пример:
PHP Code:
ruske-1slov-sshibkmi dzachem-fprarol-moi3
Слова могут быть заменены вашей кратким планом на день или скажем на Ваш ДР.
PHP Code:
napuis-s-dashkoi3-b
Согласитесь, это лучше запоминается чем "Jfd93jiSjif843HHH".
Quote:
Настройка доступа в админ панель
Защита директорий admincp и modcp
Во-первых, защита от ламера - переименование папок (не забывайте изменять имена и в конфиге).
Во-вторых, защита директорий паролем. Не стану заного изобретать велосипед, ибо в данной теме всё расписано подробнейшим образом.
Ключевой момент - защите от ламера. Бесполезное занятие. Все мы пользуемся модулями, хаками, а некоторые модули (не все же они идеальны?!) уже имеют прямой путь к admicp/modcp. В итоге мы вынуждены в очередной раз обращаться к нашей памяти, чтобы вспомнить - "а почемуж не работает"?.
Защита modcp - дело индивидуальное. Думаю сперва нужно позаботится о выборе вменяемых людей, которые будут иметь туда доступ. В целом, если modcp вашего vbulletin дыряв, то тут ничего не поможет. Только патч.
Защита admincp - доступ сюда должны иметь МИНИМАЛЬНОЕ кол-во ПРОВЕРЕННЫХ людей. Admincp очень важный момент. Пример защиты любой веб-панели, файла веб-панели и прочего (в том числе и vbulletin)
1. Идем на сервис dyndns.com или подобный
2. Регистрируем аккаунт.
3. Качаем клиент (есть под любые ОС), или же настраиваем dyndns в вашем роутере, модеме (да-да, эти железки уже давно имеют такую функцию)
4. Запускаем клиент, вводим пароли и логины, которые мы ввели при регистрации, привязываем к своему IP адресу (статический или динамический значения не имеет) свой новый динамический днс
5. Идем в папку с вашим форумом /home/site.ru/forum/admincp/
6. Открываем и редактируем файл index.php
После первой строки
<?php
Вставляем код:
PHP Code:
$hosts = array('vash-host.dyndns.com','host-vtorogo-admina.dyndns.com'); $basta = true; foreach ($hosts as $h) { if ($_SERVER['REMOTE_ADDR'] == gethostbyname($h)) { $basta=false;break; } }
if ($basta) die;@session_start ();
7. Сохраняем изменения
После этого, любой кто будет обращаться к нашей admincp, будет получать в ответ белый экран. Само собой под "любым" имеется ввиду тот, чей ip/host не входит в строку $hosts. Данный метод работает на все 100% и не дает ломать даже тот веб-код, который действительно бажный (к vbulletin это не относится).
PHP Code:
Настройка форума
/install/
Как только установка форума завершена, рекомендуется полностью удалить папку с сервера
Если не ошибаюсь, при установке vbulletin анлийским/русским по серому пишет об этом, так зачем дублировать? Если будущие админы пропускают такие нотисы, значит им нужно начить думать о безопасности с другого "угла".
Quote:
Данная опция должна быть включена, независимо от того, сколько уровней защиты вы создадите далее. Никогда не бывает лишних мер по обеспечению безопасности. В принципе, при сложном пароле опция не так сильно важна, ибо на брут злоумышленник всю жизнь потратит.
Новый хак, модуль - нагрузка на файловую систему, бд, вычислительные ресурсы. Пример с dyndns исключает использование данной рекомендации.
Quote:
Основные настройки/Записи и отслеживание ошибок
Логирование - наше всё. Тот, кто обладает актуальной информацией, владеет миром. Прежде всего необходимо включить опцию "Записывать неудачные попытки входа в панель администратора". Сделать это можно, создав папку (например, logs) и указав в строке опции абсолютный путь до неё + имя файла.
Запись в журналы, это здорово. НО. Помните, любая возможность записей чего-либо, куда-либо будет нагружать данный "приемник" журналов. Будь то это файловая система или же бд. Не даром есть понятие "loglevel", управляйте данным уровнем детализации с умом, а лучше и вовсе откажитесь от большого кол-ва логов. Если ваш форум или веб-проект высоконагруженный, используйте для хранения журналов отдельный жесткий диск, другую бд или другой сервер бд.
Quote:
Очевидно, что логи, кроме вас, никому видеть не нужно, поэтому закинем в корень папки файлик .htaccess с содержанием:
Code:
Order Deny,Allow
Deny from all
Остальные опции в данном разделе можете не трогать, если вам пофиг, как живёт ваш форум и от чего болеет.
Зачем держать логи в веб-доступе вообще? Неужели современные способы администрирования строятся исключительно средствами браузеров, а не ssh/ftp ? Стоит так же отметить, что механизм "htaccess" применителен к серверам на базе apache. Данный веб-сервер плохо зарекомендовал на высоких нагрузках и по моему мнению совсем не подходит для стабильной работы в высоконагруженных системах. К слову, даже хостерам стало выгодным предлагать использовать легковесные сервера nginx/lighthttpd.
Quote:
В случае, если ваши аватары и альбомы хранятся в файловой системе (а так и должно быть на любом нормальном форуме, админу которого не плевать на его производительность) не помешает добавить в корни директорий signaturepics, customprofilepics, customgroupicons, customavatars файл .htaccess с содержанием:
Данные манипуляции не позволят злоумышленнику воспользоваться лазейкой, связанной с подменой аватара вредоносным кодом (В основном, это проблема обладателей старенького модуля VBSEO, который и так является деревянным забором, отделяющим злоумышленника от взлома форума. Ставить крайне не рекомендуется),но, как и ранее говорилось - параноя в нашем деле, качество хорошее
Опять таки, далеко не у всех веб-сервер apache. На счет переноса файлового архива и бд в фс - соглашусь.
Quote:
Никогда не разрешайте использование html в сообщениях. Это дырень ещё похуже vbseo.
Соглашусь. Насколько мне известно, данные опции по умолчанию отключены в любых современных версиях vbulletin.
Quote:
Полезные модули:
В принципе, вобла по дефолту защищена, наверное, от любых обстоятельств. Это действительно мощный продукт, который при грамотном подходе достаточно самостоятелен. Из модулей могу порекомендовать только vBFirewall. Он будет ещё 1 рубежом защиты против sql-инъекций. Работает достаточно просто, создаёт отчёты в корне сайта и высылает уведомления. Из минусов: иногда бывают ложные срабатывания на абсолютно честных пользователей.
Спасибо за освещение данного продукта, обязательно посмотрю.
Quote:
Бэкапы
Как говорится, лишний бэкап в жопу не давит. Старайтесь выполнять данную несложную процедуру хотябы 3-4 раза в неделю (самые ушлые могут забить на крон проверку и дамп бд).
Бэкап - должен быть настолько обыденной процедурой, что это даже не обязательно писать
В завершении - самая серьезная безопасность возможна только на ОС bsd/linux. Все вышесказанное является "имхом", которое основалось на личном опыте.
Last edited by gilas : 09-22-2010 at 02:45 PM.
@Mago de Sombra
Знаток
Join Date: Mar 2009
Posts: 267
Версия vB: 3.8.4
Reputation:
Knowing 170
Репутация в разделе: 152
1
Прекрасный ответ. На самом деле, подобные ответы и есть смысл форумов
Где каждый может исправить и добавить. Но давайте немного посмотрим на суть ответов.
Quote:
Ключевой момент - защите от ламера. Бесполезное занятие. Все мы пользуемся модулями, хаками, а некоторые модули (не все же они идеальны?!) уже имеют прямой путь к admicp/modcp. В итоге мы вынуждены в очередной раз обращаться к нашей памяти, чтобы вспомнить - "а почемуж не работает"?.
Вобще, в файле конфига воблы есть пункт, который отвечает за пути к папкам админки и модерки. Все модули (кроме откровенного гавнокода) придерживаются формату и проблем не возникнет.
Quote:
Если не ошибаюсь, при установке vbulletin анлийским/русским по серому пишет об этом, так зачем дублировать? Если будущие админы пропускают такие нотисы, значит им нужно начить думать о безопасности с другого "угла".
Зачастую ко мне обращаются люди с различными заданиями по вобле. Заходя на фтп наблюдаю папку install, в которой просто нету файла install.php. Об удалении всей директории никто не печётся.
Quote:
Зачем держать логи в веб-доступе вообще? Неужели современные способы администрирования строятся исключительно средствами браузеров, а не ssh/ftp ?
у меня, к примеру, логи вынесены ниже директории веб-сервера. Но не у всех есть необходимые доступы для таких манипуляций.
Quote:
Стоит так же отметить, что механизм "htaccess" применителен к серверам на базе apache. Данный веб-сервер плохо зарекомендовал на высоких нагрузках и по моему мнению совсем не подходит для стабильной работы в высоконагруженных системах. К слову, даже хостерам стало выгодным предлагать использовать легковесные сервера nginx/lighthttpd.
Да, но пока большее кол-во хостингов работают именно с апачем. Опять таки, данный мануал не предназначен для бездумного копирования.
Quote:
Спасибо за освещение данного продукта, обязательно посмотрю.
Обычный "перехват" урлов, в которых есть параметры, описанные в массива запрещённых. Ничего новаторского.
Quote:
Бэкап - должен быть настолько обыденной процедурой, что это даже не обязательно писать
Опять же в моём случае, каждые 24 часа делается оптимизация, бэкап и архивирование всех баз. Всё это акуратно складывается по месяцам/дням и лежит в назначенной директории.
Опять таки, такие операции подсилу не всем из-за различных факторов (хостинг, руки, лень, подставить своё).