ICQ через IPTABLES (из локальной сети с ограничение по правам IP)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

foxxx
Сообщения: 21

ICQ через IPTABLES

Сообщение foxxx »

Hello, парни у меня IPTABLES настроен таким образом, что на конкретный IP в локалке стоят ограничения на выход в интернет. Например:
для 192.168.хх.27 прописано так:

-A POSTROUTING -p all -s 192.168.0.27/255.255.255.255 -d 80.79.30.59 -o ppp0 -j MASQUERADE

т.е. этот IP имеет выход только на почтовый сервер, который у меня стоит в другом городе
мне надо написать ниже строку, в которой я разрешу этому IP польностью использовать аську, а что написать - я не понимаю (т.е. по идее должен быть у аськи свой постоянный IP?)
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2143
Статус: *бунту ненавистник
ОС: linux

Re: ICQ через IPTABLES

Сообщение landgraf »

не ниже, а выше надо написать что-то типа
-A POSTROUTING -p tcp --dport 5190 -o ppp0 -j MASQUERADE

ну и разрешение на входящие с флагами ESTABLISHED, RELATED в INPUT
Спасибо сказали:
foxxx
Сообщения: 21

Re: ICQ через IPTABLES

Сообщение foxxx »

landgraf писал(а):
30.07.2009 12:55
не ниже, а выше надо написать что-то типа
-A POSTROUTING -p tcp --dport 5190 -o ppp0 -j MASQUERADE

ну и разрешение на входящие с флагами ESTABLISHED, RELATED в INPUT

тогда получиться что любой комп локалки сможет использовать аську?
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2143
Статус: *бунту ненавистник
ОС: linux

Re: ICQ через IPTABLES

Сообщение landgraf »

для "нелюбого" компа
-A POSTROUTING -s 192.168.0.27 -p tcp --dport 5190 -o ppp0 -j MASQUERADE
Спасибо сказали:
Аватара пользователя
broom
Бывший модератор
Сообщения: 1629
Статус: мизантроп.ка
ОС: Gentoo

Re: ICQ через IPTABLES

Сообщение broom »

iУведомление от модератора broom
К РедХату и Федоре тема отношения не имеет, поехали в "Администрирование для начинающих".
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
foxxx
Сообщения: 21

Re: ICQ через IPTABLES

Сообщение foxxx »

landgraf писал(а):
30.07.2009 14:09
для "нелюбого" компа
-A POSTROUTING -s 192.168.0.27 -p tcp --dport 5190 -o ppp0 -j MASQUERADE

не работает
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2143
Статус: *бунту ненавистник
ОС: linux

Re: ICQ через IPTABLES

Сообщение landgraf »

Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ICQ через IPTABLES

Сообщение danger08 »

foxxx писал(а):
30.07.2009 11:17
Hello, парни у меня IPTABLES настроен таким образом, что на конкретный IP в локалке стоят ограничения на выход в интернет. Например:
для 192.168.хх.27 прописано так:

-A POSTROUTING -p all -s 192.168.0.27/255.255.255.255 -d 80.79.30.59 -o ppp0 -j MASQUERADE

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

Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз. Таблица *nat просто не предназначена для этого - читать http://www.opennet.ru/docs/RUS/iptables/

Решение в вашем случае:

Код: Выделить всё

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
...
COMMIT

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
...
# allow 192.168.0.27 -> 80.79.30.59
-A FORWARD -p tcp -s 192.168.0.27 -d 80.79.30.59 -j ACCEPT
-A FORWARD -p udp -s 192.168.0.27 -d 80.79.30.59 -j ACCEPT
# allow 192.168.0.27 -> *:5190 (вроде аська работает по tcp)
-A FORWARD -p tcp -s 192.168.0.27 --dport 5190 -j ACCEPT
...
COMMIT

Если нужно что-то еще разрешить - там уж сами пропишете.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
foxxx
Сообщения: 21

Re: ICQ через IPTABLES

Сообщение foxxx »

Дело в том что настраивал сервер гуру линукса, его щас нет и небудет, потому и спрашиваю у Вас. Раз он так сделал значит не просто же так
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ICQ через IPTABLES

Сообщение danger08 »

foxxx писал(а):
31.07.2009 09:52
Дело в том что настраивал сервер гуру линукса, его щас нет и небудет, потому и спрашиваю у Вас. Раз он так сделал значит не просто же так
[--- OFFTOPIC ---]
- Тут что-то не так, - сказал Мюллер и отворил дверь. - Поглядите в домах вокруг...
- Кругом развалины.
- И там посмотрите, - сказал он, - а в общем-то все это настолько глупо, что работать практически невозможно. Мы не сможем понять логику непрофессионала.
- А может, он хитрый профессионал? - сказал седой, закуривая.
- Хитрый профессионал не поехал бы в приют, - хмуро ответил Мюллер и вышел.

(с) Юлиан Семенов. "Семнадцать мгновений весны".
[--- /OFFTOPIC ---]
Блогосайт - http://www.fateyev.com
Спасибо сказали:
foxxx
Сообщения: 21

Re: ICQ через IPTABLES

Сообщение foxxx »

Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз.

У меня маскировка стоит на всех IP, а не выборочно
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ICQ через IPTABLES

Сообщение danger08 »

foxxx писал(а):
31.07.2009 11:33
Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз.

У меня маскировка стоит на всех IP, а не выборочно

Тогда это противоречит [1], в котором маскарад сделан на соединения от определенного IP к определенному ресурсу.

Хорошо, я попытаюсь пояснить, почему делать так не рекомендуется:
1) Допустим, тот человек думал, что если он будет маскарадить только соединения "от-компа-локалки" и "до-удаленного-ресурса" - он надежно закрыл соединения из локалки на нежелательные хосты. Но убрав маскарад исходящих пакетов с интерфейса целиком, тем самым он открыл доступ в вашу локалку со стороны провайдера (теоретически, в сети провайдера можно прописать маршрут на вашу локалку через ваш шлюз, и общаться с вашими компьютерами напрямую, по их реальным адресам в локалке). Введение маскарада для всего интерфейса надежно закроет эту дыру даже в том случае, если правила в *filter будут не совсем безопасны; то что у вас сейчас - это палка о двух концах: "как бы" вы пытаетесь защитить сеть от доступа к внешнему ресурсу, но тем самым правилом не препятствуете доступу извне.

2) Когда нужно добавить разрешение на нужную службу/порт, в вашем случае придется колдовать с гирляндой SNAT-ов, продумывая как они могут влиять друг на друга (а это будет, если будут пересечения в типах протоколов или диапазонов хостов). В правильном решении достаточно одного нового правила, описывающего новое разрешение, и оно не влияет на уже имеющиеся.

Пункт (1), кстати, актуален лишь в том случае, если в *filter нет проверки транзитных входящих соединений (а их, скорее всего, нет - если человек написал такое в NAT-ах).

Вкратце: в вашем случае, NAT-ить надо все, выходящее из интерфейса. А устанавливать, кому можно доходить до NAT-а, надо правилами FORWARD в цепочке *filter.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
foxxx
Сообщения: 21

Re: ICQ через IPTABLES

Сообщение foxxx »

danger08 писал(а):
31.07.2009 11:58
foxxx писал(а):
31.07.2009 11:33
Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз.

У меня маскировка стоит на всех IP, а не выборочно

Тогда это противоречит [1], в котором маскарад сделан на соединения от определенного IP к определенному ресурсу.

Хорошо, я попытаюсь пояснить, почему делать так не рекомендуется:
1) Допустим, тот человек думал, что если он будет маскарадить только соединения "от-компа-локалки" и "до-удаленного-ресурса" - он надежно закрыл соединения из локалки на нежелательные хосты. Но убрав маскарад исходящих пакетов с интерфейса целиком, тем самым он открыл доступ в вашу локалку со стороны провайдера (теоретически, в сети провайдера можно прописать маршрут на вашу локалку через ваш шлюз, и общаться с вашими компьютерами напрямую, по их реальным адресам в локалке). Введение маскарада для всего интерфейса надежно закроет эту дыру даже в том случае, если правила в *filter будут не совсем безопасны; то что у вас сейчас - это палка о двух концах: "как бы" вы пытаетесь защитить сеть от доступа к внешнему ресурсу, но тем самым правилом не препятствуете доступу извне.

2) Когда нужно добавить разрешение на нужную службу/порт, в вашем случае придется колдовать с гирляндой SNAT-ов, продумывая как они могут влиять друг на друга (а это будет, если будут пересечения в типах протоколов или диапазонов хостов). В правильном решении достаточно одного нового правила, описывающего новое разрешение, и оно не влияет на уже имеющиеся.

Пункт (1), кстати, актуален лишь в том случае, если в *filter нет проверки транзитных входящих соединений (а их, скорее всего, нет - если человек написал такое в NAT-ах).

Вкратце: в вашем случае, NAT-ить надо все, выходящее из интерфейса. А устанавливать, кому можно доходить до NAT-а, надо правилами FORWARD в цепочке *filter.

более менее понятно, могу скинуть сюда код таблицы, только не хотелось бы что бы народ знал что там и как , чтобы болеее понятно Вам было как у меня\ устроенно чтобы подсказать более конкретнотно
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ICQ через IPTABLES

Сообщение danger08 »

foxxx писал(а):
01.08.2009 08:44
более менее понятно, могу скинуть сюда код таблицы, только не хотелось бы что бы народ знал что там и как , чтобы болеее понятно Вам было как у меня\ устроенно чтобы подсказать более конкретнотно

Можете публичные адреса "забить", типа 80.хх.хх.хх. Посетителям на форуме они все равно ни к чему.
Какие там еще приватные данные могу быть, я не могу представить :rolleyes:

Только четко напишите, что именно вы хотите получить. Обрисуйте ситуацию и параметры доступа полностью.
Блогосайт - http://www.fateyev.com
Спасибо сказали: