помогите по iptables (iptables help)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Dodgev
Сообщения: 4

помогите по iptables

Сообщение Dodgev »

Есть такая конфигурация:
=========================================
#!/bin/bash

IPTABLES='/sbin/iptables'

# Определяем интерфейсы
EXTIF='eth1'
INTIF1='eth0'

# Включаем форвардинг ip в ядре.
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

# Сбросить правила и удалить цепочки
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

$IPTABLES -t nat -A POSTROUTING -s 90.0.0.0/24 -o eth1 -j SNAT --to-source xx.xx.xx.xx
### xx.xx.xx.xx - внешний IP.

# Разрешение на входящие
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 80 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 1494 -j DNAT --to-destination 90.0.0.2:1494
$IPTABLES -t filter -A FORWARD -i eth1 -p tcp -m tcp --dport 1494 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 90.0.0.2:3389
$IPTABLES -t filter -A FORWARD -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT

#Блокируем все прочие попытки доступа на $EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP
=========================================

Хочу запретить выход из сети по некоторым портам, делаю что нибудь вроде (написал некоторые варианты из того что пробовал):
==================
$IPTABLES -A FORWARD -p tcp --dport 445 -j REJECT
$IPTABLES -A FORWARD -p udp --dport 445 -j REJECT
$IPTABLES -A FORWARD -i eth1 -p tcp --dport 445 -j DROP
$IPTABLES -A FORWARD -i eth1 -p udp --dport 445 -j DROP
$IPTABLES -A INPUT -p tcp --dport 445 -j REJECT
$IPTABLES -A INPUT -p udp --dport 445 -j REJECT

$IPTABLES -A OUTPUT -s 0/0 -d 0/0 -p tcp --dport 445 -j DROP

$IPTABLES -A INPUT -p tcp --dport 445 -j REJECT
$IPTABLES -A OUTPUT -p tcp --sport 445 -j REJECT

$IPTABLES -A FORWARD -p tcp -m tcp -s 90.0.0.0/24 --dport 445 -j DROP
$IPTABLES -A FORWARD -p tcp -m tcp -s 90.0.0.0/24 --dport 445 -j DROP
==================

но блокировать неполучается, порт 445 - условно, просто для примера.


Мануал читал но осознание не приходит.

Вариант "запретить все а потом разрешать нужное" - я к нему приду но хочется попробовать так, потому что есть некоторые приложения (типа банк-клиенты) которые используют свои порты - очень муторно их все узнавать.


Заранее спасибо!
Спасибо сказали:
7biohazard7
Сообщения: 618
Статус: Любитель SUSE
ОС: Suse 11.2

Re: помогите по iptables

Сообщение 7biohazard7 »

Все у вас маленько размыто и не понятно.
Во первых правила запрещающие по нескольку раз. Для чего?
Во вторых REJECT для TCP делается с дополнительными опциями.
Мануал читаете, но мало :)
В третьих, а как вы проверяете что порт 445 открыт?
Спасибо сказали:
Dodgev
Сообщения: 4

Re: помогите по iptables

Сообщение Dodgev »

7biohazard7 писал(а):
02.02.2006 16:24
Все у вас маленько размыто и не понятно.
Во первых правила запрещающие по нескольку раз. Для чего?
Во вторых REJECT для TCP делается с дополнительными опциями.
Мануал читаете, но мало :)
В третьих, а как вы проверяете что порт 445 открыт?


Правила не по нескольку раз а я просто привел что пробовал.

про 445 - я просто для примера, допустим есть злобные вирусы которые через 445 порт лезут в "интернет" и что то там делают. Задача - запретить внутренней сети выход через 445 порт наружу, но не запретить его для доступа к этому же серверу (который и шлюз и самба). воооот.

или запретить порт 554 - чтобы не проходило интернет-радио.

извиняюсь за тупость :unsure:
Спасибо сказали:
7biohazard7
Сообщения: 618
Статус: Любитель SUSE
ОС: Suse 11.2

Re: помогите по iptables

Сообщение 7biohazard7 »

Извиняться не надо. Никто ничего такого не имел ввиду.
За передачу пакетов между интерфейсами, или проще говоря
маршрутизацию отвечает цепочка FORWARD в таблице
FILTER. Почитайте пож-та http://gazette.linux.ru.net/rus/articles/i...s-tutorial.html
Очень хорошая дока особенно по началу.
Далее продолжим? ;)
Спасибо сказали:
Electron
Сообщения: 201
ОС: Можно Windows написать? :-)

Re: помогите по iptables

Сообщение Electron »

(Dodgev @ Feb 1 2006, в 18:38) писал(а):есть некоторые приложения (типа банк-клиенты) которые используют свои порты - очень муторно их все узнавать.


[root@elma]# iptables -A OUTPUT -m owner --uid-owner 999 -j ACCEPT

Хм, порты открывает и nmap разные, а обращаются к одному.

Я запутался. Поставь мне задачу, я тебе напишу все правила. Так проще.
Gentoo Linux 2006.0 from Stage3-Pentium4 on Intel Celeron 2.1 Ghz, 512M RAM, NV GeForce 5200FX
Спасибо сказали:
Dodgev
Сообщения: 4

Re: помогите по iptables

Сообщение Dodgev »

Electron писал(а):
02.02.2006 21:49
(Dodgev @ Feb 1 2006, в 18:38) писал(а):есть некоторые приложения (типа банк-клиенты) которые используют свои порты - очень муторно их все узнавать.


[root@elma]# iptables -A OUTPUT -m owner --uid-owner 999 -j ACCEPT

Хм, порты открывает и nmap разные, а обращаются к одному.

Я запутался. Поставь мне задачу, я тебе напишу все правила. Так проще.


Ура!

Задача:
Все оставить как есть (в смысле как в моем примере) но иметь возможность блокировать произвольные порты - то есть чтобы изнутри сети никто не мог по ним обращаться по адресам в "большом интернете".
Спасибо сказали: