@Alexander777xx

Правильно ли я все сделал в iptables?

У меня есть игровой сервер (minecraft), на нем существует уязвимость в Bangeecord, что можно подключиться к серверу в обход авторизации через другой порт (Кроме 25565, на котором и стоит сервер авторизации).

Правильно ли я закрыл данную уязвимость с помощью iptables?:

(Для начала закрыл ВСЕ входящие и исходящие соединения по всем протоколам(TCP, UDP и т.д.)
iptables -P INPUT DROP
iptables -P OUTPUT DROP


(Открыл входящий порт 25565 ТОЛЬКО для протокола tcp, чтобы могли подключаться игроки)
iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
(Говорят что UDP небезопасен и не гарантирует стабильную работу или надо UDP тоже открыть?)

(Открыл ТОЛЬКО входящий порт 21, для FTP доступа, ТОЛЬКО по протоколу TCP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
(Получается теперь я могу заливать фалы на сервер, а скачивать не могу? Следовательно если кто то узнает пароль от FTP не сможет слить от туда файлы?)

(Открыл входящий порт 22, для управления сервером через putty (ТОЛЬКО ДЛЯ ПРОТОКОЛА TCP))
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

(Сохранил изменения)
iptables-save

Все ли я правильно сделал? Верны ли мои рассуждения? Или у порта 25565 еще надо UDP открывать или наоборот что то закрыть для безопасности? Правильно ли я открыл порт для FTP и Putty или надо еще что то сделать или наоборот что то закрыть для безопасности?

P.S. Прошу строго не судить, я новичок и в этом не особо разбираюсь.
  • Вопрос задан
  • 865 просмотров
Решения вопроса 1
fzfx
@fzfx
18,5 дм
> Говорят что UDP небезопасен и не гарантирует стабильную работу или надо UDP тоже открыть?
надо открывать UDP или не надо - зависит от приложения. если ваш сервер майнкрафта умеет работать по протоколу UDP, то можете открыть, а если он требует работать по протоколу UDP или не умеет работать по протоколу TCP - то открыть UDP придётся.

> Получается теперь я могу заливать фалы на сервер, а скачивать не могу?
можете и заливать, и скачивать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EvilMan
@EvilMan
Если ставите политику DROP и на OUTPUT, то нужно в неё добавить симметричные разрешающие правила. Например, если у вас есть правило iptables -A INPUT -p tcp --dport 22 -j ACCEPT, то нужно будет и правило iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT. Но обычной практикой является то, что OUTPUT оставляют пустым с политикой ACCEPT.

Так же обычно добавляют правило типа iptables -A INPUT -i lo -j ACCEPT для того, чтобы разрешить коммуникации между процессами на самом хосте, и правило
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
для того, чтобы разрешить ответные пакеты.

iptables-save не сохраняет изменения, а только выводит текущий набор правил на стандартный вывод. То, где хранятся настройки iptables зависит от дистрибутива Linux. Например, в Debian-подобных дистрибутивах лучше поставить пакеты netfilter-persistent и iptables-persistent, чтобы можно было загружать настройки файерволла при загрузке.

В общем, iptables и настройка файерволла требуют хороших знаний по сетям и протоколам, и с наскока их не получится освоить, а только прочитав документацию (благо, есть неплохой перевод iptables tutorial на opennet.ru).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы