Содержание
- 1) Апдейтимся в самый конец своей линейки(3.5.х,3.6.х,3.7.х)
- 2) Переименовываем админку и модерку
- 3) Ставим .htaccess на админку:
- 4) Удаляем файлы и папки:
- 5) Перемещаем вложения и аватары
- 6)Выставляем права на папки
- 7) Нигде, никогда, никому не включаем опцию ‘Разрешить html’.
- Ставим .htaccess на папку includes
- 9) Пихните в директорию с файлами, на которых стоят атрибуты 0777 такой .htaccess:
-
- © kerk _http://vbsupport.org/forum/member.php?u=30
-
- 10) Отредактируйте config.php, впишите id администраторов в поле undeletable user(неудаляемые/неизменяемые пользователи).
- 11) После удаления модов/хаков не забывайте удалять файлы, которые Вы закачали вместе с ними.
- 12) Никогда не сохраняйте бэкапы в пределах доступности веб-сервера.
- 13) Установить плагин «Инспектор файлов».
-
- Автор — Ghost (http://www.vbsupport.org/forum/member.php?u=38422)
-
- Рекомендуем посмотреть:
Если Вы держите свой форум, то рано или поздно приходится думать о защите Вашего форума — ведь злоумышленники не дремлют! В этом топике я (при помощи хабраюзера ReaM ) собрал список советов по увеличению безопасности Вашего форума. Заинтересовало? Добро пожаловать под хабракат
1) Апдейтимся в самый конец своей линейки(3.5.х,3.6.х,3.7.х)
Описание: Без комментариев
Почему?: Jelsoft постоянно закрывает всплывшие уязвимости. Никому не хочется работать на прошлогоднем дырявом форуме, правда?
2) Переименовываем админку и модерку
Описание: Переименовываем админку, но в конфигурации ни в коем случае не пишем путь к нашей переименованной админке. Также переименовываем модерку, но её уже можно прописать в конфигурации(хотя тоже нежелательно), так как она менее уязвима. Смотрите сами
Почему?: Если переименовать админку и не указать путь в конфигурации, то будет гораздо сложнее её найти и следовательно применить XSS или еще что похуже. Есть минусы: — редактирование профиля и добавление модераторов перестанут работать без ручной правки ссылок.
3) Ставим .htaccess на админку:
Описание:
a) если ip статичен, то
order allow, deny
deny from all
allow from %ваш_IP%
b) Также ставим дополнительный пароль:
Идём по ссылке: _http://vbsupport.org/htaccess.php, заполняем поля и дописываем по инструкции в наш файл htaccess.
Почему?: Дополнительное паролирование админки никогда не помешает.
4) Удаляем файлы и папки:
Описание:
a) Удаляем файлы:
/validator.php(если имеется)
/checksum.md5(если имеется)
b) Удаляем папки:
/install/
Почему?: Небезопасные файлы от нулёных версий могут дать возможность просматривать список файлов, а также папка install очень вредная=)
5) Перемещаем вложения и аватары
Описание:
Идем в админку, далее:
a) Вложения -> Метод хранения вложений
Вложения должны храниться в базе данных
b) Аватары -> Тип хранения изображений пользователя
Аватары должны храниться в базе данных
Почему?: Линейка 3.5, если мне не изменяет память, давала прямые ссылки на картинки — что при неправильной конфигурации хостинга, давало шанс залить шелл.
6)Выставляем права на папки
Описание: Если выполнен пункт 5, то теперь смело ставим права на папки custom_* 644, так как они нам теперь не нужны(или можете их удалить). Дальше, если Вы устанавливали vBulletin по инструкции, у вас все папке в / (корне) должны иметь права 644. Проверьте это, если не так, то выставите права 644.
Почему?: Затрудняем хакеру заливку шелла.
7) Нигде, никогда, никому не включаем опцию ‘Разрешить html’.
Описание: Без комментариев. Зачем кому-то HTML?
Почему?: Возможность XSS атак при включенной функции.
Ставим .htaccess на папку includes
Описание: Ставим .htaccess на папку includes следующего содержания:
order allow, deny
deny from all
Почему?:
- если туда каким-либо образом зальют шелл, то не смогут зайти на него.
- если вас будут ддосить, то возможен такой вариант, когда интерпретатор php отваливается и остается только апач — и апача разрешает уже читать файлы php — следовательно можно будет прочитать все файлы из папки /includes/ — тот же config.php, что не очень хорошо.
9) Пихните в директорию с файлами, на которых стоят атрибуты 0777 такой .htaccess:
© kerk _http://vbsupport.org/forum/member.php?u=30
RemoveHandler .phtml
RemoveHandler .php
RemoveHandler .php3
RemoveHandler .php4
RemoveHandler .php5
RemoveHandler .cgi
RemoveHandler .exe
RemoveHandler .pl
RemoveHandler .asp
RemoveHandler .aspx
RemoveHandler .shtml
Order allow,deny
Deny from all
Почему?: Скрипты с указанными расширениями более невозможно использовать в пределах директории с таким htaccess.
10) Отредактируйте config.php, впишите id администраторов в поле undeletable user(неудаляемые/неизменяемые пользователи).
Описание: /includes/config.php. Просто вписать id администраторов, после того когда внесли все необходимые изменения в профиль.
Почему?: Незачем лишний раз кому-то менять профили администраторов, даже им самим. Понадобится — удалят ID из файла, поменяют, вернут обратно. Безопасность — превыше всего!
Читайте также: Чем отстирать антифриз с одежды11) После удаления модов/хаков не забывайте удалять файлы, которые Вы закачали вместе с ними.
Описание: Без комментариев
Почему?: А зачем вам на сервере лишние файлы? Незачем…
12) Никогда не сохраняйте бэкапы в пределах доступности веб-сервера.
Описание: Без комментариев
Почему?: Они будут доступны для скачивания любому, кто узнает имя бэкапа. Конечно, можно htaccess прикрутить, но все равно, безопасности ради, выносите бекапы за пределы доступности веб-сервера.
13) Установить плагин «Инспектор файлов».
Автор — Ghost (http://www.vbsupport.org/forum/member.php?u=38422)
Лазая по своим старым скриптам, напоролся на этот продукт — Инспектор файлов. Это несколько модулей для vBulletin, при помощи которых можно сохранять в базе данных список существующих файлов и время от времени проверять, не изменились ли какие из них (для каждого файла сохраняется размер, владелец и права доступа) — встроенная cron-задача уведомит администратора по почте о найденных несоответствиях. Можно сохранять в БД несколько различных копий (ревизий) списков файлов для сравнения (автоматическая проверка с уведомлением на email сверяется только с последней ревизией). Внешний вид и доступные настройки можно посмотреть на скриншотах.
INSTALL: Для установки необходимо залить два PHP-файла из архива на сервер и импортировать продукт из файла «product-gfi.xml».
UPDATE: Обновление версий не предусмотрено, так что для установки новой рекомендуется сперва удалить предыдущую версию.
З.Ы. Продукт успешно работал на всех версиях от 3.6.8 до 3.8.1 включительно. Правда ссылка в выпадающее меню в панели навигации добавлялась в разные места, но это уже мелочи.
Почему?: Незаменимая вещь в поиске шеллов на сайте, но ставить её необходимо заранее.
Доступ к админке получить довольно сложно — следовательно залить шелл через админку тоже. Можно залить шелл через уязвимости vB, но если лить в /includes (там есть для некоторых хаков файлы, которые требуют 777), то у нас на папке includes стоит deny from all — шелл попросту не будет доступен извне!
На остальные папки можно ставить права 644, если проделали все пункты — тогда достаточно сложно будет залить, особенно при правильной настройке chroot. И наконец, мы добавили защиту от самих админов, которые лазают где не попадя, тем самым сажая себя на XSS’ки и трояны.
Собственно, на этом всё… Это первый мой топик на хабре, так что просьба сильно не пинать
UPD: Перенес в «Информационную безопасность».
dsdgdg fg
Кстати говоря, Jacky забыл (?) его забанить.
dsdgdg fg, придумайте себе нормальный ник и напишите мне в личные сообщения для замены. Сутки на размышления, затем будет бан.
Правда, данный товарищ неактивен с 31.07 и сообщения Jacky, судя по всему, не читал.
Правда, данный товарищ неактивен с 31.07 и сообщения Jacky, судя по всему, не читал.
Читал и прислал мне в ЛС новый вариант своего ника, знаете какой?
Neudachnik
Вот фантазия у человека. Поменяю скоро.
Добавлено через 1 минуту
Кстати говоря, Jacky забыл (?) его забанить.
Нет, я просто дал ему шанс еще раз подумать над ником. Но товарищ исчез (возможно, совсем), так что придется обозвать его неудачником.
Господа, будьте чуть более снисходительны к никам своих ближних.
Хочу пояснить. Правило о "бессмысленных никах" имеет целью прежде всего дать формальную причину для блокировки пользователей с явно бессмысленными и бессодержательными, плохо читаемыми никами. При этом разного рода аббревиатуры, сокращения каких-либо значимых для владельца ника слов (первые буквы ФИО, год рождения и т.д.) к ним не обязательно относяится.
Пример "плохого ника" (я запустил генератор), например, такой: UtMOX5mL.
1. bfl (http://www.aspirantura.spb.ru/forum/member.php?u=7714)
2. Ro* (http://www.aspirantura.spb.ru/forum/member.php?u=9234)
Добавлено через 13 минут
@.n.g.e.r (http://www.aspirantura.spb.ru/forum/member.php?u=10292)
Остается – нормальный ник
jd2050 (http://www.aspirantura.spb.ru/forum/member.php?u=11540) – под вопросом
xdzolax (http://www.aspirantura.spb.ru/forum/member.php?u=12417) – остается
unprox (http://www.aspirantura.spb.ru/forum/member.php?u=12405) – остается
b-t-a (http://www.aspirantura.spb.ru/forum/member.php?u=10844) – под вопросом
dendereden (http://www.aspirantura.spb.ru/forum/member.php?u=11261) – остается
ChaCry (http://www.aspirantura.spb.ru/forum/member.php?u=9225) – остается
kit170689 (http://www.aspirantura.spb.ru/forum/member.php?u=10263) – остается
amac66 (http://www.aspirantura.spb.ru/forum/member.php?u=10317) -остается
BDem (http://www.aspirantura.spb.ru/forum/member.php?u=10490) – остается
kth (http://www.aspirantura.spb.ru/forum/member.php?u=12332) – на смену (пока не актуально)
КОППвЖС (http://www.aspirantura.spb.ru/forum/member.php?u=12210) – пока остается
timls (http://www.aspirantura.spb.ru/forum/member.php?u=7137) – остается
nlp (http://www.aspirantura.spb.ru/forum/member.php?u=11036) – остается
ilinps (http://www.aspirantura.spb.ru/forum/member.php?u=10780) – остается
YUMV (http://www.aspirantura.spb.ru/forum/member.php?u=9323) – остается
spg555 (http://www.aspirantura.spb.ru/forum/member.php?u=10331) – остается
STL-77 (http://www.aspirantura.spb.ru/forum/member.php?u=9930) – остается
k_zaur_k (http://www.aspirantura.spb.ru/forum/member.php?u=9783) – остается
T-50 (http://www.aspirantura.spb.ru/forum/member.php?u=9710) – остается
Читайте также: На какие марки машин дешевые запчасти
JKry (http://www.aspirantura.spb.ru/forum/member.php?u=9503) – остается
***.ru (http://www.aspirantura.spb.ru/forum/member.php?u=9324) это был спамер, он в бане
cmcspec (http://www.aspirantura.spb.ru/forum/member.php?u=9329) – остается
sar64 (http://www.aspirantura.spb.ru/forum/member.php?u=9308) – остается
savoi07 (http://www.aspirantura.spb.ru/forum/member.php?u=8372) – под вопросом (блокировка?)
zxcv (http://www.aspirantura.spb.ru/forum/member.php?u=5002) под вопросом, но пока остается
bfl (http://www.aspirantura.spb.ru/forum/member.php?u=7714) – на смену
zxc240 (http://www.aspirantura.spb.ru/forum/member.php?u=9075) – на смену
D_Pie (http://www.aspirantura.spb.ru/forum/member.php?u=11032) – остается
А у меня вопрос:-) (http://www.aspirantura.spb.ru/forum/member.php?u=12228) – пока остается
SSTB (http://www.aspirantura.spb.ru/forum/member.php?u=10404) – остается
one_d (http://www.aspirantura.spb.ru/forum/member.php?u=10095) – остается
DrI (http://www.aspirantura.spb.ru/forum/member.php?u=10802) – остается
K200 (http://www.aspirantura.spb.ru/forum/member.php?u=12416) – остается
Duu_235 (http://www.aspirantura.spb.ru/forum/member.php?u=12520) – пока остается
Добавлено через 4 минуты
Комментарии:
– Остается = владельцу ника ничего предпринимать не нужно
– под вопросом = владельцу ника стоит задуматься о смене имени
– на смену (пока не актуально) = ник подлежит переименованию, но так как владелец давно не появлялся на форуме это не актуально
– пока остается = не очень благозвучный, но терпимый ник
– на смену = владельцу ника дается неделя на придумывание себе нового ника и сообщение об этом администратору через ЛС
Что не нужно:
Есть такой зверь?
Member
Откуда: Оккупирую западный берег
Сообщений: 10468
Что уже смотрел и почему не подошло.
Drupal
Видел пару лет назад, произвёл гнетущее впечатление. В стремлении обойти ограничения ООП PHP, да так, чтобы поддерживать PHP4, эти ребята написали свою версию ООП, основанную на конвенциях, магии и условных подключений различных файлов с огрызками кода. Если мне потребуется другой язык — я возьму другой язык, такие костыли мне не нужны.
Joomla
Насколько я понял, эти товарищи решили, что внешние библиотеки ОРМ слишком сложны, громоздки и запутанны, поэтому долго пилили что-то своё. Не взлетело. По прежнему строим запросы конкатенацией строк. Печально.
WordPress
Чтоб не подымать холивара, отвечу просто
НЕТ!
Может быть, просто взять full-stack framework, типа Symfony?
Member
Откуда: ʚонɔ dиw
Сообщений: 24853
ShSerge,
ммм. 2 из 8? Точно да, остального — конкретно не хватает. Не в смысле "хорошо бы, чтоб такое было", а в смысле "на этой неделе убили пол дня работы, потому что нету этого".
Что именно не используете Вы?
У меня имеется свой собственный сервер.
Глупости не пишу. Если Вам интересно, то использую сишные и паскалёвые программы (CGI) и, возможно, некоторую обёртку на пхп (мне так проще с базой MySQL работать).
Member
Откуда: по колено в коде
Сообщений: 7454
Может быть, просто взять full-stack framework, типа Symfony?
+1
Источник: