You are Here:
Защита SMF движка

Автор (Прочитано 923 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Защита SMF движка
« : 18 Октябрь 2017, 11:57:57 »
 

Seotoker

  • Администратор
  • Новичок
  • *****
  • 6
    Сообщений
  • Карма: +0/-0
    • Просмотр профиля
Существует достаточно много всевозможных CMS систем.
Одни бесплатные, другие стоят приличных денег.
Те или иные системы созданы для решения узконаправленного спектра задач (форумы, блоги, порталы) и имеют огромные различия между собой.
Но, одно остаётся неизменным - все движки не идеальны в плане безопасности, а значит нуждаются в дополнительной защите.

В данной ветке я рассмотрю вопрос противодействию спамерам, ddos атакам и прочим злым духам для форумного движка SMF
Не программист, но обладаю внушительным багажом знаний в области работы с разными CMS, а также не понаслышке знаком с SEO технологией

Примечание:
Тема будет пополняться - следите за обновлениями. Буду рад услышать ваши замечания и предложения

Итак, поехали:

( 1 ) Защищаем вход в админку (Защита от брутфорс-атак):
прописываем в .htaccess следующий код
<FilesMatch "^(admin)">
Order Allow,Deny
Allow from sait.ru
Allow from 12.345.678.901
</FilesMatch>

где:
sait.ru - заменяем на адрес вашего сайта без www, http
12.345.678.901 - указываем адрес вашего ip (узнать можно через любой онлайн сервис)

В результате к админке по адресу http://sait.ru/admin/ можете обратиться только вы!
Если вдруг выходите с разных компьютеров - пропишите с новой строки все ваши ip

( 2 ) Боремся с спамом, уменьшаем нагрузку на сервер
Спам машины довольно сильно нагружают хостинг. Даже максимальные тарифы провисают и идентифицируют поток запросов как Ddos атаку. Решение для противодействия сему есть, правда платное, НО не дорогое. Итак, заходите на https://cleantalk.org/ (http://cleantalk.org/?pid=255609), далее регистрируйтесь, ставьте плагин в вашу CMS, настраивайте и обязательно включайте функцию "Spam FireWall", которая блокирует ботов в момент входа на любую из страниц. Вот таким нехитрым плагином вы решите спам-проблему.

( 3 ) Защита от ботов
Хоть второй пункт и решает задачу, но по мне так надёжнее и спокойнее будет дополнительно поставить плагин "reCAPTCHA for SMF", после чего перейти на https://www.google.com/recaptcha/admin#list (https://www.google.com/recaptcha/admin#list) и получить ключи, после чего ввести их в дополнение. После этого на странице регистрации (и некоторых других, к примеру поиске) можно вывести Google капчу, точнее даже не капчу а необходимость постановки галочки (иногда запрашивает выбор картинок по теме). В результате мы сводим до минимума нагрузку на сервера

( 4 ) Ограничение по возрасту
Конечно, брендовые программы мы не сможем блокирнуть, а вот менее мощный софт вполне сможем ввести в заблуждение дополнительным соглашением о том, что вам исполнилось столько-то лет (можете посмотреть у меня реализацию при клике на "зарегистрироваться") - ставится эта функция в админке SMF по пути " пользователи-> регистрация -> настройки". Также как-то солиднее что-ли так выглядит, имхо

( 5 ) Не используйте ADMIN
Это должно быть выбито как истина: при создании администратора (первого пользователя форума) не используйте в качестве логина "admin" - это упростит работу брутфорсеров. Создайте что-то интересное, ну если уж нет фантазии, то хотя бы "admin1"

( 6 ) Префикс к таблицам
При установки форума SMF выберите не стандартный префикс "smf_" а что-то вроде "r2h_2" это немного обезопасит вашу MySQL базу. Ведь не сложно сделать такую мелочь?

( 7 ) Сложный пароль = спокойные ночи
Для администратора нужна задавать сложный пароль. Вам не обязательно его запоминать - запишите в блокнот.
Совет: используйте перебор на клавиатуре и получите что-то вроде "SDFQ^5TAQ#46scQ@#4e7Dt079r%q#&TFQ75Eq*23R6"
Т.е. большие, маленькие буквы, служебные символы, цифры, знаки препинания.

( 8 ) Закрытие доступа к служебным файлам
Назовите меня параноиком, но я считаю, что нечего показывать служебные файлы и бекапы системных настроек поисковикам и третьим лицам. Поместите в .htaccess следующий код:
<Files license.txt>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>
<Files agreement.txt>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>
<Files index.php~>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>
<Files Settings_bak.php>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>
<Files SSI.php~>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</Files>

После этого никто не сможет увидеть содержимое файлов.

( 9 ) Чёрный список
Если вы знаете пользователей или спамботов, для которых должен быть закрыт доступ на ваш сайт, тогда действуйте так:
пропишите в .htaccess:

<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
Deny from 12.345.678.901
</IfModule>
<IfModule mod_authz_core.c>
<RequireAll>
Require all granted
Require not ip 12.345.678.901
</RequireAll>
</IfModule>

где в двух местах 12.345.678.901 - ip значение  того, кого нужно не допустить к просмотру сайта

( 10 ) Запрещаем хотлинкс
Что бы пользователи не использовали у себя на проекте изображения, которые загружены на вашем проекте, пропишите следующее:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g?|png)$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://sait\.ru [NC]
RewriteRule \.(gif|jpe?g?|png)$ - [F,NC,L]
</IfModule>

Где:
sait\.ru - поменяйте на адрес вашего домена сохранив косую черту

Это далеко не полный перечень решений.
По мере новых идей - будут свежие записи

« Последнее редактирование: 19 Октябрь 2017, 05:53:45 от Seotoker »