LINUX.ORG.RU
ФорумAdmin

[магия] Dovecot обходит Iptables?

 


0

0

Стоит Dovecot. Активировал в нем pop3s, пошел в Thunderbird соединяться. Он нашел IMAP 143. Проверил telnet - работает! Самое интересное вот:

iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all  — anywhere anywhere
REJECT all  — anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all  — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp  — anywhere anywhere tcp dpt:www
ACCEPT tcp  — anywhere anywhere tcp dpt:81
ACCEPT tcp  — anywhere anywhere tcp dpt:https
ACCEPT tcp  — anywhere anywhere tcp dpt:smtp
ACCEPT tcp  — anywhere anywhere tcp dpt:pop3
ACCEPT tcp  — anywhere anywhere state NEW tcp dpt:7602
ACCEPT icmp — anywhere anywhere icmp echo-request
LOG all  — anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
REJECT all  — anywhere anywhere reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all  — anywhere anywhere reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all  — anywhere anywhere


Именно 143 соединяет. 144 нет, 142 нет. Что это за магия?

>ACCEPT all — anywhere anywhere

Именно 143 соединяет. 144 нет, 142 нет. Что это за магия?

netstat -ntlp

markevichus ★★★
()

>Dovecot обходит Iptables?

А чего там обходить? Фаервол настроен на пропуск всего.
См. первое правило в INPUT.

Именно 143 соединяет. 144 нет, 142 нет.


Работают только те порты, которые прослушиваются демонами.

nnz ★★★★
()

Все пакеты пропускаются через определенные для них последовательности цепочек (см. рис.). При прохождении пакетом цепочки, к нему последовательно применяются все правила этой цепочки _в порядке их следования_.

http://ru.wikipedia.org/wiki/Iptables#.D0.9F.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B

edigaryev ★★★★★
()

iptables -L -n -v

-v обязательно, иначе не видно интерфейсы, и может быть что угодно.

mky ★★★★★
()
Ответ на: комментарий от mky

Так, новая порция размышлений и инфы.

# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Не могу понять, что делает вышеприведенный кусок. Разрешает установленные соединения на lo?

iptables -L -n -v:

Chain INPUT (policy ACCEPT 93 packets, 6436 bytes)
pkts bytes target prot opt in out source destination
95300 16M ACCEPT all  — lo * 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all  — !lo * 0.0.0.0/0 127.0.0.0/8 reject-with icmp-port-unreachable
88636 66M ACCEPT all  — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
649 38844 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
9 424 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:81
1 40 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
56 2748 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
1 48 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
0 0 ACCEPT icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 8
213 12424 LOG all  — * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/min burst 5 LOG flags 0 level 7 prefix `iptables denied: '
544 28288 REJECT all  — * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all  — * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 73 packets, 9848 bytes)
pkts bytes target prot opt in out source destination
184K 28M ACCEPT all  — * * 0.0.0.0/0 0.0.0.0/0

netstat -ntpl:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11456/nginx
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 13323/apache2
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 24035/sshd
tcp 0 0 88.88.99.99:25 0.0.0.0:* LISTEN 32698/exim4
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 32698/exim4
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 24120/mysqld
tcp 0 0 0.0.0.0:4949 0.0.0.0:* LISTEN 30576/munin-node
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 25651/memcached
tcp6 0 0 :::7602 :::* LISTEN 24035/sshd

Такие дела. Iptables вроде как нужно - локальные разрешены, внешние только которые прописаны. Что не так?

NiggasLife
() автор топика
Ответ на: комментарий от NiggasLife

Что-то я не вижу у вас никого, слушающего на tcp/143.

что делает вышеприведенный кусок

Пробегитесь, наконец, по iptables howto.

markevichus ★★★
()
Ответ на: комментарий от NiggasLife

Вышеприведённый кусок, а точнее одно правло, разрешает все соединения, у которых состояние ESTABLISHED и те соедиенения, у которых состояние RELATED. В man'е это написано, но не разжёвано.

Понятие «соединение установлено» (ESTABLISHED) относится пржеде всего к tcp, и в этом случае оно означает имено это и обозначает, (см. соотв. RFC) то есть ранее пришёл SYN-пакет и на него было ответ. RELATED относится протоколу более высокого уровеня (man семеуровневая модель) и говорит о том, что данное соединение вызвано другим, ранее установленным соедиенением. Наприемер, если по протоколу ftp была передана команда DATA, указывающая на необходимость открыть ещё одно соединение для передачи данных, то этот соединение будет RELATED по отношению к ftp соединению.

Фактически это правило обозначает, что через наши правила iptables прошёл первый пакет данного соединения, то все последующие пакеты этого соединения (и связанных с ним) будут проходить через данное правило. Следовательно, эти пакеты будут проходить через меньшее кол-во правил и будет работать быстрее.

А по поводу порта 143, на какой машине в выполняли команду telnet и для какой машины приведены правила iptables и listen-tcp порты.

mky ★★★★★
()
Ответ на: комментарий от mky

Детальное объяснение. Спасибо.

на какой машине в выполняли команду telnet и для какой машины приведены правила iptables и listen-tcp порты.


Телнет выполнялся на ноуте, правила и порты приведены для удалённого сервера (не локального, www)

NiggasLife
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.