m1ckey
Постоялец-
Публикаций
507 -
Зарегистрирован
-
Посещение
-
Победитель дней
10 -
Отзывы
100%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент m1ckey
-
сервер стоит за NAT-ом ? если да, то нужно сделать проброс портов на маршрутизаторе и использовать NAT адрес как внешний IP.
-
SVN это места куда разрабы выкладывают исходники которые ты можешь качать с помощью SVN-клиента.
-
Игровой сервер открывается для ip-адреса игрока при успешной авторизации. После отключения от логин сервера правило удаляется, при этом благодаря правилу "ESTABLISHED,RELATED" игрок остается в игре, хотя по сути для него уже нет открытого порта. Т.е. если он захочет подключить спрут и дудосить со своего IP - новые подключения будут дропаться, при этом он будет находится в игре.
-
Да там по сути пока ничего нет. #!/bin/sh iptables -F iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport SSH -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 2106 -j ACCEPT iptables -I INPUT -p tcp -s MY_IP --dport 3306 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 2106 -m connlimit --connlimit-above 2 -j DROP iptables -A INPUT -p tcp -m tcp --dport 7777 -m connlimit --connlimit-above 5 -j DROP iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P OUTPUT ACCEPT iptables -P INPUT DROP
-
Еще есть возможность распределять приоритет для TOS (честно я мало понимаю что это). Пример: # Для соединений, по которым передано более 500 КБ, ставим минимальный приоритет TOS (требование максимальной полосы) iptables -t mangle -I INPUT -m connbytes --connbytes 512000: --connbytes-dir both --connbytes-mode bytes -j TOS --set-tos Maximize-Throughput iptables -t mangle -I OUTPUT -m connbytes --connbytes 512000: --connbytes-dir both --connbytes-mode bytes -j TOS --set-tos Maximize-Throughput # Для соединений, по которым передано менее 50 КБ, ставим максимальный приоритет TOS (требование минимальной задержки) iptables -t mangle -I INPUT -m connbytes ! --connbytes 51200: --connbytes-dir both --connbytes-mode bytes -j TOS --set-tos Minimize-Delay iptables -t mangle -I OUTPUT -m connbytes ! --connbytes 51200: --connbytes-dir both --connbytes-mode bytes -j TOS --set-tos Minimize-Delay Таким образом, все пакеты, принадлежащие «легким» соединениям, будут маркироваться как наиболее приоритетные, а пакеты, проходящие по «тяжеловесным» соединениям — как наименее приоритетные. Такой подход позволит рационально распределять канал между различными задачами, например, просмотром веб-страниц («легкие» соединения) и скачиванием файлов («тяжелые» соединения). Конечно, при таком подходе даже «тяжелые» соединения будут занимать канал с наивысшим приоритетом, пока не превысят ограничение. Но даже на медленных соединениях (128 Кбит/с) для этого достаточно всего четырех секунд (если эта закачка в данный момент единственная). После превышения лимита 50 Кбайт соединение получит средний приоритет (TOS не установлен), а еще через некоторое время соединение превысит второй лимит — 500 Кбайт, и получит минимальный приоритет. В то же время, «легкие» соединения в большинстве случаев не превышают даже первого лимита, и поэтому целиком проходят с повышенным приоритетом.
-
3) У меня тоже имеется, но сервер просто добавляет новое правило в цепочку INPUT с разрешением о подключении. Я модифицировал это добавив удаление доступа при выходе из игрового клиента. Но почему бы при этом не помечать подключения и в случае ддос мы можем дропать весь непомеченный трафик ? Сохранять огромный список адресов игроков в iptables недопустимо, поскольку огромное количество правил замедляет работу firewall. 4) Мы закрываем порт логин сервера и открываем его только для определенного IP, только при отправке с этого IP нескольких пакетов на разные порты нашего сервера. Всё это происходит когда происходит попытка входа в игру. https://putty.org.ru/articles/port-knocking.html Тоже самое я планирую сделать и с SSH. Таким образом, при прослушивании портов злоумышленник не увидит не одного открытого порта. Там описан метод как защитить SSH-сервер. Я пытаюсь понять как это использовать в L2 без вмешательства в клиентскую часть.. 5) Чтобы при атаке средней мощности нелегальный трафик не так сильно нагружал машину... https://ru.wikipedia.org/w/index.php?title=Iptables&oldid=37388394#Работа_с_цепочками тут выше если пролистать до слов "Userspace-вариант l7-filter" приходят на ум интересные размышления. Еще размышление - цепочка INPUT не является первой ступенью когда пакет только-только поступает к нам на сервер. Есть цепочка PREROUTING, которая может модифицировать и управлять пакетами на уровне сетевого устройства (когда они только поступают на стеевую карту). Чтобы вы понимали, цепочка INPUT отвечает за пакеты которые предназначены для служб, когда уже ПРИНЯТО решение о маршрутизации. А мы зачем-то на этом уровне занимаемся фильтрацией. С точки зрения забугорья ( https://javapipe.com/blog/iptables-ddos-protection/ ) - отсеивать ненужный трафик необходимо в таблице mangle цепочки PREROUTING.
-
Всем привет) Вчера начал изучать архитектуру iptables, различные методы описанные на опеннете, на вики... И пришла мысля - создать набор правил который бы максимально фильтровал нелегальный трафик. И так, приступим - мы будем пытаться настроить iptables для машины где стоит игровой, логин сервер и база данных. Это не гайд и не мануал, это пост для размышления людям которым интересна эта тема. Понятное дело, что от забитого канала это никак не спасет. Первое что мы должны сделать, это понять какие порты используют наши сервисы ВООБЩЕ и какой трафик они обрабатывают. 9014 - логин сервер 2106 - логин сервер 7777 - игровой сервер 3306 - MySQL Мои размышления За основу думаю следует взять правило "Всё что не разрешено - запрещено". То есть мы в начале определяем какой трафик мы пропускаем, разрешаем его и обрабатываем, всё остальное - дропаем. В идеале у нас не должно остаться открытых портов ВООБЩЕ (и в этом нам поможет порт-кнокинг). 1) Что мы делаем с транзитным FORWARD трафиком? В целом, за сутки простоя мой дедик не обработал не одного пакета который попал бы в цепочку FORWARD, означает ли это что мы можем его дропать? 2) Как мне известно, L2 использует TCP-трафик, означает ли это UDP-пакеты можно дропать на уровне PREROUTING? И вопрос вообще в целом к знакотам - где лучше дропать нежелательные пакеты? На уровне INPUT или всё таки еще до решения о маршрутизации? 3) Поскольку я работаю со сборкой где порт 7777 открывается только после авторизации, мне пришла в голову мысль - а можем ли мы как то для себя "отмечать" новые соединения на 7777? Ну например - мы их помечаем маркером maybePlayer, и во время атаки - трафик который приходит с подключений которые не отмечены маркером maybePlayer отправлять в блекхоллинг (в никуда)? Но что делать при мощной атаке, советуют обратиться к ip route... но я его еще не изучал.. 4) Вчера весь день просидел над изучением порт-кнокинга и я загорелся этой темой. Мне мазолит глаза результат из nmap о том что у меня висит 2 открытых порта (ssh и логин). Я всерьез задумался их скрыть и сделать дедик невидимым для лишних глаз. Но я столкнулся с дилемой - модифицировать клиент нет желания, хочется сделать это на уровне ядра. Встает вопрос - как. Все мы знаем, что по умолчанию игровой клиент настроен на 2106 при попытке войти в игру. В таком случае, я подумал - мы можем слушать "стукачей" на порту 2106 и открывать для них порт логин сервера. Но как потом человек подключится к серверу когда, если клиент все равно будет отправлять пакеты на 2106 ? Следующим шагом после "стука" в 2106 мы можем сделать проброс порта с 2106 на 2019 когда мы открываем "дверцу", но ведь в этом случае и нелегальный трафик будет идти таким-же образом. Но ведь логин сервер нужен игроку 1 раз, затем коннект закрывается... в общем эта тема не дает мне покоя. Видел я готовые решения от акуму, но честно я не хочу модифицировать клиент. В идеале моя цель сделать невозможным для игрока получение инфы о том как надо стучать и в какой порт стучать, я хочу чтобы это делал логин сервер по локальной петле. 5) Еще наткнулся на гайды о том как правильно обрабатывать входящий трафик, как его балансировать и тд - но есть ли смысл делать это на машине-хосте, когда у нас нет дополнительного шлюза ? Кому интересна эта тема - присоединяйтесь к обсуждению, критику к черту - я всего лишь учусь)
-
если шару то лучше с svn качать, потому что в той же шаре l2jlovely в исходах в пакете Say2 есть бекдор с командой которая дает 2ккк тебе) и это только верхушка айсберга, я молчу уже о наградах за квесты
-
[PHP] MySQLi - осваиваем mysqli_prepare (Подготовленные запросы)
инструкция прокомментировал m1ckey m1ckey в Web Dev Инструкции
Я ж говорил мануал был написан с целью усвоения инфы, спасибо за критику дорогие друзья, но она здесь излишняя. -
Пацаны помогите возникла проблема незнаю что куда писать - отличное изложение сути проблемы)
-
- 1 отзыв
-
- 2
-
ты что!!! ты же его оскорбляешь!!! Зачем ты так? Пипеец.... он тебе этого не простит и скажет что ты чмо которое прогуливало школу)
-
google.ru
-
добавлением в клиент иконки.
-
Запишите видос кто нибудь