19.05.2025 08:13:29
Годные замечания. Юрий Олейников, спасибо!
|
|
|
|
19.05.2025 08:27:07
|
|
|
|
19.05.2025 08:27:41
Правда сейчас довольно много народу под VPN сидят... Их можно потерять
|
|
|
|
19.05.2025 09:24:37
Собственно сабж: есть такая замечательная компания как MaxMind сайт sudo apt install -y nginx-full ну а дальше дело техники, постараюсь прописать как можно понятней ------------------------------------------------------------------------------------------------------------------ создать каталог для базы sudo mkdir /usr/share/geoip2 ------------------------------------------------------------------------------------------------------------------- создать скрипт загрузки базы, ввести в терминале sudo nano /usr/local/bin/update_geoip2.sh и в открывшемся окне прописать #!/bin/bash # mkdir /usr/share/geoip2/tmp/ wget cp /usr/share/geoip2/tmp/GeoLite2-Country.mmdb /usr/share/geoip2/GeoLite2-Country.mmdb rm -r /usr/share/geoip2/tmp/ systemctl restart nginx -------------------------------------------------------------------------------------------------------------------------------- сделать соданный скрипт исполняемым sudo chmod +x /usr/local/bin/update_geoip2.sh -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- чтобы удостовериться что все работает произвести ручной запуск скрипта, в папке /usr/share/geoip2 должа появиться база sudo /usr/local/bin/update_geoip2.sh если все ок, то добавить в cron sudo crontab -e следующую запись загружающую свежую базу каждый день скажем в 6 утра 0 6 * * * /usr/local/bin/update_geoip2.sh -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- далее открыть основной конфиг nginx и после # Virtual Host Configs прописать следующее sudo nano /etc/nginx/nginx.conf # geeoip geo $lan-ip { default no; 192.168.0.1/10 yes; } geoip2 /usr/share/geoip2/GeoLite2-Country.mmdb { $geoip2_data_country_iso_code country iso_code; } map $geoip2_data_country_iso_code $allowed_country { default no; RU yes; } где первая часть разрешает доступ по локальной сети, если используется то прописать свои данные вместо 192.168.0.1/10 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ну и последнее, в конфиге сервера дописать вверху, выше всех location !!! следующее # geeoip2 if ($lan-ip = yes) {set $allowed_country yes;} if ($allowed_country = no) {return 444;} --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- После перезагрузить nginx командой sudo systemctl restart nginx и вуаля! |
|||
|
|
19.05.2025 15:04:10
![]() Народ и все-таки по вопросу расположения секций. Вот для примера скидывали тут конфиг: в нем сначала идёт секция location / {...} а уже за ней location ^~ /bitrix/modules { internal; } location ^~ /bitrix/php_interface { internal; } location ^~ /bitrix/updates { internal; } и т.д. но, как я писал ранее, в моем случае игнорировались директивы после location / {..} после переноса их ДО location / {..} они начали работать. у меня прописано: location / { try_files $uri $uri/ @bitrix; } и далее блоки location ~ \.php$ { try_files $uri @bitrix; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass $php_sock; } location @bitrix { rewrite ^/(.+[^/])$ /$1/ permanent; include conf.d/settings.sub; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php; fastcgi_pass $php_sock; } и т.д. получается, что запрос /bitrix/modules/name.module/script.php в моём случае попадает в location / {..}, а в примере по ссылке - нет? |
|||
|
|
19.05.2025 16:06:13
|
|||||||
|
|
19.05.2025 18:14:40
Посмотрел сейчас логи атак:
192.145.30.64 - - [19/May/2025:11:01:28 +0300] "GET /bitrix/wizards/nextype/magnet/css/styles.css 192.145.30.64 - - [19/May/2025:11:01:28 +0300] "GET /bitrix/wizards/nextype/alpha/css/styles.css 192.145.30.64 - - [19/May/2025:15:43:07 +0300] "GET /bitrix/templates/concept_hameleon/ajax/cart/cart.php И видно что пытаются ломать |
|
|
|
24.05.2025 10:16:06
|
|||
|
|
24.05.2025 10:54:33
Проверьте файлы (на всех сайтах) /local/php_interface/init.php - должна быть конструкция в начале файла
Если нет конструкции в каком-то из init.php -добавьте |
|||||||
|
|
25.05.2025 09:53:57
|
|||||
|
|
25.05.2025 10:06:13
+модуль не защитит, если у вас открытые файлы без подключения пролога битрикса с опасным кодом - это через сканер троянов можно выявить. Таких файлов априори не должно быть в общем доступе (это эквивалентно транспаранту для хакеров "Добро пожаловать"). В остальном модуль перехватит и заблокирует опасные действия |
|||||||
|
|
25.05.2025 10:08:37
Есть еще одна интерсная вещь, кто использует модуль Let’s Encrypt то наверняка видели что он правит конфиг nginx на свой лад, и ладно бы прописывал бы только пути к своим файлам, так он еще создает для 80 порта отдельную серцию server в которой отродясь никаких фильтров не было, я это заметил по запросам которые принимал и на которые отвечал сервер, а не должен был, снес вторую секцию, прописал 80 и 443 порты в основную серцию, прописал преадресацию с http и https и вуаля, в логах зловред стал получать 444, а не как раньше 200
И что заметно по логам атакующих - сами файлы битрикса хакеры не пытаются ломать, уроверь програмистов битрикса видать не дает им пороть косяки, атаки идут исключительно на продукты парнеров, которые зачастую пишут люди далекие от безопасности... отсюда мораль - на уровне сервера закрывать доступ к каталогам с установленными решениями, но есть такие каталоги как |
|
|
|
25.05.2025 17:02:07
Решил воспользоваться вашей инструкцией, но вначале уточнил у техподдержки, подойдет ли она. Вот, что ответили ****** На вашем сервере установлена ОС CentOS 7, в которой используется пакетный менеджер yum, а не apt. В его репозиториях нет пакета nginx-full: Мы не обладаем информацией, насколько эта разница критична в вашем случае. Также конфигурация виртуальных хостов на вашем сервере находится не в /etc/nginx/nginx.conf, а в большом количестве отдельных для каждого сайта файлов, расположенных в директориях /etc/nginx/vhosts-includes/, /etc/nginx/vhosts-resources/ и /etc/nginx/vhosts/. Рекомендуем уточнить критичность этого момента у составителя инструкции. Дополнительно отмечу, что nginx на вашем VPS установлен посредством ispmanager и управляется им. В случае некорректного изменения конфигурации может пропасть возможность изменять параметры сайтов через панель управления. Также файлы веб-серверов синхронизируются с информацией в базе данных ispmanager. Правки по этой причине необходимо вносить особенно осторожно. |
|||
|
|
25.05.2025 19:50:41
|
|||||
|
|
25.05.2025 19:52:29
|
|||
|
|
26.05.2025 04:31:56
Рекомендую решение на Debian+ISPConfig из этого сообщества
Либо более продвинутое на докере из этого На обоих решениях крутятся серьезные проекты на продакшене - полёт нормальный. |
|
|
|
26.05.2025 10:40:14
|
|||
|
|
26.05.2025 15:39:41
Не насоздавал файлов, а сделал вставки кода с редиректом и заменил половину базы данных на повторяющиеся сообщения. Пока точку входа разработчики не нашли, ищут дальше. |
|||
|
|
26.05.2025 16:18:41
жесть какая ...
Анна Иванова, отпишите плиз как найдёте точку входа |
|
|
|
27.05.2025 09:47:06
|
|||||
|
|
27.05.2025 09:59:38
закрыть доступ к системным каталогам и заблокировать разного рода инъекции, так же на уровне сервера дать доступ в каталог admin только с доверенных ip, переименовать каталоги с решениями всех!!! партнёров и в обязательном порядке запретить автоиндексацию сайта, дабы хакеры не могли найти переименованные каталоги Кстати есть неплохой сервис |
|||
|
|
27.05.2025 10:00:59
|
||||
|
|
|||