Jump to content
Lafko

Хостинг для IPS + Оптимизация IPS + Анти ddos

Recommended Posts

Добрый день уважаемые пользователи в данной статье я поделюсь с вами опытом по оптимизации IPS форума + защита от ddos.

Прошу строго не судить этим делом я занимаюсь не более 2х месяцев, но за этот не длительный срок смог узнать многое о IPS и с чем его едят.

  • Хостинг:

Я пользуюсь услугами хостинга beget.com/p466953 (это партнерская ссылка просьба переходить по ней). Примеры будут показаны именно на нём.

Перед привязкой IPS к домену не забудьте поменять версию PHP

7.0 (7.1 на ставьте т.к. версия IPS 4.1.17.1 не поддерживает её на данный момент (версия 4.1.17.1) ) и увеличить память для форума.

Оптимизация IPS

Пожалуй самым важным шагом является безопасность вашего ресурса

 

Зайдите в Админпанель (Система/Обзор/Безопасность) и выполните всё что советует IPS

Добавьте директиву "disable_functions = exec,system,popen,proc_open,shell_exec" (Без кавычек)

Безымянный.png

Снижение потребление ресурсов сервера "Планировщик заданий" (CronTab)

 

1) Зайдите в Админпанель (Система/Настройки/Дополнительно вкладка "Сервисное окружение")

2) Устанавливаем галочку на "Использовать cron (Рекомендуется)"

3) Копируем команду "/usr/bin/php -d memory_limit=-1 -d max_execution_time=0 /home/j/***/***/public_html/applications/core/interface/task/task.php ****" (у вас она своя)

4) Заходим в ваш хостинг и выбираем "Планировщик заданий" (CronTab)

5) В поле команда для выполнения добавляем скопированную строку

6) Редактируем команду на "/usr/local/php-cgi/ваша версия PHP/bin/php -d memory_limit=-1 -d max_execution_time=0 /home/j/ваш путь к форуму/ваше название папки с форумом/public_html/applications/core/interface/task/task.php ваш ключ"

7) Выставляем выполнение команды каждую минуту

Безымянный.png

Снижение потребление ресурсов сервера Метод кэширования 

 

1) Зайдите в Админпанель (Система/Настройки/Дополнительно вкладка "Хранение данных")

2) Выставляем галочку на "Метод хранения данных" База данных MySQL

3) Метод кэширования Memcached или Redis (рекомендую Redis)

4) Адрес сервера Redis "127.0.0.1" Номер порта Redis "6379" Пароль сервера Redis "оставить поле пустым" Кеширование содержимого страницы для гостей "30"

Безымянный.png

Переходим в настройки хостинга

1) Сервисы/Redis

2) Выбираем самый бюджетный вариант 128 мб за 1 рубль

3) Включаем сервис (не в коем случае не включайте "Хранить сессии всех сайтов в Redis" форум будет мертвым до тех пор пока не выключите эту функцию)

Оптимизация поисковых систем и .htaccess

 

В корне форума создаём текстовый документ под именем robots.txt

Добавляем в него (обратите внимание на "Sitemap: httрs://ваш сайт/sitemap.php" "Host: httрs://ваш сайт" если ваш сайт на http то измените на http)








User-agent: *
Allow: /applications/core/interface/font/
Disallow: /applications/
Disallow: /datastore/
Disallow: /plugins/
Disallow: /_piwik/
Disallow: /system/
Disallow: /Credits.txt
Disallow: /upgrading.html
Disallow: /login/
Disallow: /register/
Disallow: /lostpassword/
Disallow: /search/
Disallow: /online/
Disallow: /contact/
Disallow: /activity/
Disallow: /discover/
Disallow: /?tab=*
Disallow: /index.php?*
Disallow: /*?app=*
Disallow: /*sortby=*
Disallow: /profile/*/?do=*
Disallow: /profile/*/content/
Disallow: /clients/info/

User-agent: Yandex
Allow: /applications/core/interface/font/
Disallow: /applications/
Disallow: /datastore/
Disallow: /plugins/
Disallow: /_piwik/
Disallow: /system/
Disallow: /Credits.txt
Disallow: /upgrading.html
Disallow: /login/
Disallow: /register/
Disallow: /lostpassword/
Disallow: /search/
Disallow: /online/
Disallow: /contact/
Disallow: /activity/
Disallow: /discover/
Disallow: /?tab=*
Disallow: /index.php?*
Disallow: /*?app=*
Disallow: /*sortby=*
Disallow: /profile/*/?do=*
Disallow: /profile/*/content/
Disallow: /clients/info/

User-agent: *
Disallow: /admin/
Disallow: /profile/
Disallow: /discover/
Disallow: /search/
Disallow: /login/
Disallow: /register/
Disallow: /online/
Disallow: /staff/
Disallow: /contact/

Sitemap: https://ваш сайт/sitemap.php

Host: https://ваш сайт

Отредактируйте файл .htaccess в корне, если его нету то создайте.








## IPS Suite Forum SEO
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpeg|jpg|gif|png|ico)(\?|$) - [L,NC,R=404]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

## End IPS Suite Forum SEO

## Begin - Expires caching
<IfModule mod_expires.c>

## This rule will create an ETag for files based only on the modification timestamp and their size. 
## Note: It may cause problems on your server and you may need to remove it
FileETag MTime Size

SetOutputFilter DEFLATE
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None

# Enable expiration control
ExpiresActive On

# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"

# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"

# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month" 
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpg "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"

# Other optimizations
ExpiresByType application/x-gzip "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"

</IfModule>
## End - Expires caching

После всех этих не сложных манипуляций нагрузка на сервер снизиться на 30 - 60%

  • Анти ddos (Данный сервис может вызвать сбои в работе вашего форума тщательно всё проверьте после настройки)
 

Не для кого не будет секретом что на данный момент лучшим анти ddos сервисом будет являться cloudflare.com

Рассматривать мы будем самый бюджетный вариант за 20$

Начальная настройка сервиса

 

 

К сожалению я не смогу описать каждую функцию данного сервиса, но расскажу что надо сделать чтобы ваш Redis не конфликтовал c cloudflare

  •  Переходим на вкладку Firewall 

a) Security Level "High"

b) Web Application Firewall "On"

c) Package: OWASP ModSecurity Core Rule Set "High" Action "Challenge"

d) Browser Integrity Check "On"

  • Переходим на вкладку Speed

a) Auto Minify выставляем галочку на "JavaScript"

b) Polish "Lossy" галочку на WebP (в душе не знаю что это :) в прицепе как и большинство функций )

с) Enable Accelerated Mobile Links "On "On" SELECT SUBDOMAIN(S) "Выбираем всё что есть"

d) Mirage "On"

i) Rocket Loader™ "Off" (Очень важно отключить эту функцию т.к. форум начнет зависать)

  • Переходим на вкладку Caching

a) Caching Level "Standard"

b) Browser Cache Expiration "4 часа"

c) Always Online™ "On"

d) Development Mode "Off"

  • Переходим на вкладку Network

a) HTTP/2 + SPDY "HTTP/2 + SPDY"

b) IPv6 Compatibility "On"

c) WebSockets "On"

d) Pseudo IPv4 "Add Header"

i) IP Geolocation "On"

e) Maximum Upload Size "100" (к сожалению больше 100 mb вы не сможете загружать на свой форум)

  • Переходим на вкладку Scrape Shield

a) Email Address Obfuscation "On"

b) Server-side Excludes "On"

c) Hotlink Protection "On"

Если у вас есть замечания или дополнения которые помогут оптимизировать работу форума, то напишите об этом в этой теме!

 

 

 

 

Share this post


Link to post
Share on other sites
11 часов назад, Lafko сказал:

Перед привязкой IPS к домену не забудьте поменять версию PHP

7.0 (7.1 на ставьте т.к. версия IPS 4.1.17.1 не поддерживает её на данный момент (версия 4.1.17.1) ) и увеличить память для форума.

Решение:

В system/Helpers/Table/Db.php (строка 114) замените

$_where = '';

на

$_where = array();

В system/Output/Javascript/Javascript.php (строка 874) замените

$content = '';

на

$content = array();

В system/Output/Plugin/Prefix.php (строка 57) замените

$output = '';

на

$output = array();

В system/Http/Url.php (строка 1076) замените 

$return = '';

на

$return = array();

Ето не мой урок  ....  просто опубликовать его для вас

Share this post


Link to post
Share on other sites
5 минут назад, ram108 сказал:

18.1 проверяли? Может там уже все исправили?

Начиная с 4.1.18 (даже не 1) уже все так как написал @Silence

Edited by MIXOH

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×