iskatel: (Default)
[personal profile] iskatel
описание
И ведь не бага, все строго в рамках протокола, и было известно, только теперь это, возможно, будут использовать скрипты на зараженных серверах. Или уже 8-)

Простое решение - отключить ip_conntrack_ftp и говорить "используйте пассивный ftp". Или жестко открыть порты для определенных адресов .
Впрочем, если у вас включен upnp - то это потенциальная дырища на порядок круче. А он включен во многих случаях по умолчанию 8) .
Сложнее -
"For first case we can avoid problem by changing
net.ipv4.ip_local_port_range and specifying only these values in
--dport at the "-m state --state" rule.
For second case, we can play with FORWARD chain rules and make its
conntrack-based (and specify --dport for tcp / udp)."

Если в вашей настольной коробке стоит прошивка "от производителя" - рекомендую проверить, срабатывает ли там файрволл на открытие порта при работе с активным ftp.
Если да (без доп. настроек) - меняйте или прошивку, или настройки файрволла (если позволяет, хаха), или коробку.
С dd-wrt - в одних ветках есть ip_conntrack_ftp отдельно, в других влеплен в ядро - и это сложнее, пишите правила для запрета открытия портов через него.

Можно просто запретить active ftp вообще, закрыв коннекты с 20-го порта - в этом случае модуль просто не сможет сработать.
Для этого просмотрим текущие правила, сгенерированные системным скриптом.
iptables -vnL --line-numbers | less

Тк. скрипт у нас вшит в прошивку, то своим скриптом мы можем только вставить дополнительные правила после системного. (или переделать прошивку)

Например, если у нас правила для input и forward соотв 1 и 6, то и вставим перед ними :

iptables -I INPUT 1 -p tcp --sport 20 -j DROP
iptables -I FORWARD 6 -p tcp --sport 20 -j DROP

Внимание. Это закрывает active ftp для нас - причем вообще закрывает.

-----

На фтп-серверах, если они одновременно файрволлы,
в настройках фтп просто жестко указываем порты для пассивного режима, и открываем только их. теперь нам там модуль для фтп-сервиса не нужен.
proftpd passive ports vsftpd passive ports

з.ы. А еще есть пачка модулей ip_conntrack_sip /H323/ quake/ /irc и так далее. С sip/h323 - там udp...


--------------------------------------------
популярное объяснение от
от XoRe (ok) on 28-Дек-09, 15:06 :
Да, кстати.
Попробую популярно объяснить, что это такое.
Юзер заходит браузером на страничку хакера.
У него в браузере выполняется JS скрипт.
Этот JS скрипт стучится на сервер хакера, на 21 порт.

Скрипт шлет команды:
USER anonymous
PASS test@example.com
PORT 192,168,1,2,1,189

Роутер юзера видит (за счет nf_conntrack_ftp), что юзер говорит FTP серверу:
"Подключайся ко мне, на ip адрес 192.168.1.2 и на порт 445".
445 порт - это 1*256 + 189 (последние числа в команде PORT).

Роутер думает "Бедный юзер, FTP сервер не сможет до него достучаться. Ведь юзер за натом.".
И переделывает команду "PORT 192,168,1,2,1,189" в команду "PORT 8,8,8,8,201,128".
Где, 8.8.8.8 - это внешний ip адрес роутера (допустим).
А 201,128 - это значит порт 51584 (201*256 + 128).
А ещё добрый роутер делает временный проброс порта 51584 на адрес 192.168.1.2 и порт 445.

Сервер хакера (который слушает на 21 порту) получает команду "PORT 8,8,8,8,201,128".
И пытается ткнуться на ip адрес 8.8.8.8 и порт 51584.
Добрый роутер пробрасывает это соединение.
И сервер хакера без особых усилий достукивается до порта 445 юзера с ip адресом 192.168.1.2.
А дальше уже все зависит от умений и знаний хакера.
Можно не только на 445 порт подключаться, а на любой.
У винды "открытые веселые порты" есть с номерами больше 1024.
Как вы можете видеть, атака НЕ зависит от включения/выключения ftp протокола на компьютере клиента.
FTP клиентом выступает JS скрипт в браузере юзера.
Если у юзера роутер - это ваш сервер, то конечно можно принять меры.
Поставить frox, сделать правила iptables или ещё чего.
Или можно тупо вырубить nf_conntrack_ftp.
А что можно сделать, если у юзера роутер - железка, в которой до настройки фаерволла не добраться?
"не надо юзать дешевые железки" - не вариант.
Как вариант - все-таки включать брандмауэр виндовс.
Ну да, фигня)
А что делать?

Profile

iskatel: (Default)
iskatel

April 2022

S M T W T F S
     12
3456 789
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 01:42 pm
Powered by Dreamwidth Studios