Jump to content

Desti

Актив
  • В сети

  • Количество сообщений

    2 149
  • Reputation

    1,2k Desti's Reputation

Everything posted by Desti

  1. Desti posted пост в теме in Флейм
    А у кого подключен GeoIP от IPS? Делаю свой GeoIP-сервис, нужно несколько любых записей из таблицы core_geoip_cache, чтобы понять, что отвечает ips-овский сервер. А без активной лицензии он посылает
  2. Жирновато будет ему столько выделять Значение для оценки можно получить запросом SELECT CONCAT( CEILING (RIBPS/POWER(1024,pw)), SUBSTR(' KMGT',pw+1,1)) Recommended_InnoDB_Buffer_Pool_Size FROM (SELECT RIBPS,FLOOR(LOG(RIBPS)/LOG(1024)) pw FROM (SELECT SUM(data_length+index_length)*1.1*growth RIBPS FROM information_schema.tables AAA, (SELECT 1 growth) BBB WHERE ENGINE='InnoDB') AA) A; Полученное значение можно увеличить процентов на 20-50-100, зависит от скорости роста базы. Если это форум, то 50% более чем достаточно, т.е. просто умножаем на 2. В свое время этот запрос выдал мне 10G, поэтому я поставил 24G в этой настройке, никаких проблем. В итоге не 80% бессмысленно заняты, а 40%. Если свежие MqSQL ругаются на "In aggregated query without GROUP BY... sql_mode=only_full_group_by", надо в третьей строке заменить growth на any_value(growth)
  3. Ой, да не нужно никаких уязвимостей, просто долбить в главную страницу, 200к ответа на каждый запрос, пусть даже из кеша, всё равно сервер начнет тупить.
  4. Их не было, видимо освободился или новый блейд завезли.
  5. Кому выделенный сервер за 2900 в месяц? www.hostland.ru/services/dedicated-server
  6. Уже есть конвертеры правил ipset в сеты nft, так что это не очень большая проблема. Да и iptables под Debian 11 работает так же хорошо, как и раньше, так что паника преждевременна
  7. Полезный ресурс для настройки GeoIP блокировок - www.ipdeny.com/ipblocks/data/countries/[код страны].zone Код страны двухбуквенный, cn, kr, in и прочее, есть в инете как "двуxбуквенные коды стран ISO" Полученный список можно обработать скриптом и запихать в именованный сет ipset и потом просто добавлять или удалять правило iptables Все зоны можно получить по ссылке - www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz
  8. Поэтому только суверенный чебурнет!
  9. Закроют атакующие сети на вход, а не на выход. Они к нам не смогут зайти, а не мы к ним. Валят всё подряд, вообще без каких-либо привязок к конкретике. Наберите "ддос атаки 2022" в поисковике, информации много на эту тему. Большой дядя, а в сказки веришь.. Возможно..
  10. aplayer я делаю то же самое, но не на уровне nginx, а на уровне ядра - через iptables/ipset, блокирую целые сети, с которых идут атаки. Для полноценного GeoIP надо держать огромные таблицы, это тоже не проблема для ipset, но администрирование начнет напрягать. Где найти списки - вопрос вторичный, сейчас много источников, полнота их не очень важна, основной трафик идет с крупных провайдеров. За ссылки спасибо, посмотрю. В общем не очень важно, где давить атаку, проблема в том, что канал эти запросы все равно забивают, а это может не понравится провайдеру и начнутся проблемы.
  11. Нет у меня конкурентов. Пара жалких подобий, одно обиженки с моего форума создали, второй - у хохлов, но там по 5 сообщений в день уже праздник. Это атаки не на конкретные сайты, а на Россию, как бы не пафосно это звучало.
  12. Да какая проблема от udp закрыться? Ну засрут канал, да, но сервер хоть не повиснет. Но вообще мне это всё не нравится...
  13. Вот кусочек атаки: поддельные UA, запросов по 20 в секунду. IP корейский, родительский префикс 118.40.0.0/13, поэтому 2 миллиона адресов из солнечной кореи идут в бан.. Чует мое сердце, чебурнета нам не избежать. Если атаки будут продолжаться, провайдеры начнут на магистральных машинках закрывать целые страны. 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36" [0.000] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (Android 11; Mobile; rv:99.0) Gecko/99.0 Firefox/99.0" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1" [0.000] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Opera/9.80 (Android; Opera Mini/7.5.54678/28.2555; U; ru) Presto/2.10.289 Version/12.02" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1" [0.000] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 10.0; Trident/6.0; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:19 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (Linux; Android 10; JSN-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.58 Mobile Safari/537.36" [0.000] 118.42.7.135 - [09/Jun/2022:17:39:20 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36" [0.100] 118.42.7.135 - [09/Jun/2022:17:39:20 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (Android 11; Mobile; rv:99.0) Gecko/99.0 Firefox/99.0" [0.000] 118.42.7.135 - [09/Jun/2022:17:39:20 +0300] "GET / HTTP/1.1" 301 0 "" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0" [0.100]
  14. Desti posted пост в теме in Флейм
    Всех блочит..
  15. Меня атакуют тупо на "GET / HTTP/1.1", но с нескольких сотен адресов. При этом (по непонятным причинам) засыпает redis и перестает отдавать шаблоны, форум останавливается. Никаких кривых запросов нет ни в логах nginx, ни в ошибках форума (ну кроме redis not responding). Так что ничего необычного, атака на исчерпание ресурсов.
  16. Для работы в dev-mode нужен пакет исходных файлов приложения. Для движка он поставляется IPS-ом, найти не проблема. Для 4.3.6 есть тут, на мафии, https://ipbmafia.ru/files/file/2322-developer-tools-436/ В приложениях из магазина обычно dev папки нет, но ее можно сгенерить, используя еще один пакет (codingjungle.com/files/file/47-the-dev-toolbox/). Короче, магия..
  17. Desti posted пост в теме in Флейм
    Я на крон не переходил, т.к. одна из задач использует вызов \IPS\forums\Topic::getItemsWithPermission(), а он member-зависимый, из под task без танцев с бубном не работает. Ну а мне лень было разбираться, что там надо добавить. Приперло-сделал.
  18. Desti posted пост в теме in Флейм
    Если работает, не трогай Мне не мешало, плюс у крона минутный тайминг, для запуска чаще надо извращаться со sleep.
  19. Да также, как и в любой другой версии, но нужен dev-пакет.
  20. Desti posted пост в теме in Флейм
    Обнаружил одну очень странную фичу.. При атаках или просто большом трафике система запуска "задач по трафику" начинает глючить. У меня висела задача обновления списка последних сообщений, я решил отследить ее исполнение, добавил в редис уникальный ключик и при каждом запуске задачи писал туда time(). Запустив redis monitor обнаружил, что задачка запускается не раз в 45 секунд, а гораздо чаще! Иногда она вообще лупила не переставая раз в пару секунд! Причин так и не обнаружил, обычная задача, созданная через devcenter. Короче, переделал немного свои самописные задачи и запустил, наконец, всё через cron. Теперь всё как по часам, сказано раз в минуту, запускает раз в минуту.
  21. Работает уже сутки, из плюсов - в соединениях больше не висят отмирающие коннекты к 127.0.0.1, при атаках перестал отваливаться redis-server. Из минусов - для запуска redis-cli надо указывать путь к сокету.. (ну так себе минус ) root@comp:~# redis-cli -s /var/run/redis/redis.sock
  22. Сокеты - это стильно, модно, молодежно, быстрее, чем tcp, не грузит сетевую подсистему и не нуждается в защите от доступа извне. Но есть проблема, IPS про сокеты не знает или, по каким-то причинам, не хочет их использовать, в настройках есть только TCP режим (IP и порт). Попробуем научить IPS работать с redis-сервером через сокеты. Первое - надо настроить redis-сервер, тут всё просто, редактируем /etc/redis/redis.conf и пишем следующее: # ставим 0 вместо стандартного 6379, после этого redis перестает слушать сетевой интерфейс. port 0 # раскомментариваем строки и редактируем (папка /var/run/redis/ уже существует, там живет pid файл, поэтому просто добавим туда файл сокета) unixsocket /var/run/redis/redis.sock #права на файл - должен быть доступен для чтения www-data или под чем вы там запускаете php.. Можно добавить этого пользователя в группу redis и поставить права 750, а я не заморачивался и поставил 777, всё равно на сервере только я. unixsocketperm 777 Сохраняем конфиг файл. Если сейчас перезапустить redis-server, то ничего не получится, IPS не может подключится к redis и ругается на странице настроек "Хранение данных". Учим IPS... Интерфейс к redis живет в system/Redis/Redis.php, там нам надо найти строчку if( @static::$connections[ $identifier ]->connect( $useConfig['server'], $useConfig['port'], 2 ) === FALSE ) и заменить ее на if( @static::$connections[ $identifier ]->connect( '/var/run/redis/redis.sock' ) === FALSE ) Сохраняем и рестартуем redis-server, всё должно заработать как раньше. На странице настроек redis в админке останется IP и порт, удалять их не надо, редактировать тоже. Сообщение о неработающем кеше появляться не должно. Сильные духом могут написать плагин, а я пойду дальше сражаться с ddos Будут вопросы - пишите.
  23. Respected мы все ждем душераздирающую историю!!
  24. У мну дохода хватает на новые носочки... (но старые не выбрасываю и у тещи кожаный плащ подрезал).
  25. А ответ быстро залетает..