Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [FAQ] iptables-настройка (в частности iptables _ CONNLIMIT)  (Прочитано 259303 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nitrolx

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
    • nitro
Re: iptables _ CONNLIMIT
« Ответ #135 : 07 Июня 2010, 10:52:30 »
Всем привет.
Недавно писал что правило -A FORWARD -s 192.168.0.121/32 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP
не работало
Нашел причину этому,
инет раздается натом-A POSTROUTING -o eth2 -j MASQUERADE
И стоит squid вот из-за него и не работает FORWARD
-A PREROUTING -i eth3 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128.я так понимаю squid заворачивает трафик на себя и по этому FORWARD не режит сесии да?
Если это так то как все таки сделать чтоб и squid статистику собирал и ограничение сессий были?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #136 : 07 Июня 2010, 15:41:43 »
Добавить аналогичное правило в INPUT
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн coolman

  • Участник
  • *
  • Сообщений: 156
  • :)
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #137 : 09 Июня 2010, 21:46:13 »
а подскажите люди добрые команды сборки iptables из исходников, хочу обновиться до 1.4.8, а то собираю, ставлю, а он пишет, что мол не установлен, может я чего-то не так делаю или чего-то упускаю? ubuntu 10.04 server.
Или пути установки отличают от путей при установке из репозитория? Как сделать что бы пути были как из репозитория?
« Последнее редактирование: 09 Июня 2010, 21:49:56 от coolman »
iptables

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #138 : 10 Июня 2010, 08:41:47 »
На форуме целый раздел - сборка пакетов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн cergei1982

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #139 : 29 Июня 2010, 16:39:14 »
Помогите с настройками фаервола.
Поднял фтп,знаю что соединение начинается с 21 и 20 порта и т. д.
Настраиваю входящие так:
(Нажмите, чтобы показать/скрыть)

На том же компе можно подключится к фтп,а вот на другом в той же подсети уже не могу.А если разрешить все входящие,то захожу на фтп с другого компа.Значит что то не так настроил входящие соединения,хотя прописано правило
413  206K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
Глаза боятся,а руки делают.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #140 : 29 Июня 2010, 23:57:19 »
iptables-save показывай.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн cergei1982

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #141 : 30 Июня 2010, 13:19:26 »
Вот так вывод команды sudo iptables-save
(Нажмите, чтобы показать/скрыть)
Глаза боятся,а руки делают.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #142 : 30 Июня 2010, 17:15:02 »
Цитировать
-A INPUT -p udp -m udp --sport 137 -j DROP
-A INPUT -p udp -m udp --sport 138 -j DROP
-A INPUT -p tcp -m tcp --sport 137 -j DROP
-A INPUT -p tcp -m tcp --sport 138 -j DROP
лишнее.

Цитировать
-A INPUT -p tcp -m tcp --sport 21 -j ACCEPT
-A INPUT -p udp -m udp --sport 69 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 69 -j ACCEPT
Идиотизм.

Цитировать
-A INPUT -s 192.168.0.233/32 -d 192.168.0.105/32 -p tcp -m tcp --sport 9740 -j ACCEPT
Расшифруй.

Цитировать
-A INPUT -d 192.168.0.105/32 -p tcp -m tcp --dport 80 -j ACCEPT
Не проще
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
?

Цитировать
-A INPUT -i ppp0 -j ACCEPT
А зачем тогда INPUT DROP делать?

Цитировать
-A INPUT -d 127.0.0.1/32 -p tcp -j ACCEPT

-A INPUT -i lo -j ACCEPT
вообще-то... На локальном интерфейсе больше чем один адрес висит.

Цитировать
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 5 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
Эээ... чем
-A INPUT -p icmp -j ACCEPT
не устроило?

Цитировать
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Это нормальные люди первым правилом ставят, чтобы головной болью не страдать.
И лучше использовать conntrack вместо state - он и UDP с броадкастами мониторит.

Цитировать
-A INPUT -d 192.168.0.105/32 -p tcp -m tcp --dport 23710 -j ACCEPT
Опять же, смысл -d писать? Скорее, -s 192.168.0.0/16 уже.

Цитировать
-A INPUT -p tcp -m tcp --sport 20 -j ACCEPT
Лишнее/бредовое.

Цитировать
-A INPUT -p tcp -m tcp --sport 21 -j ACCEPT
Бред и было раньше.

Цитировать
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
Бред. ftp-data никогда не был входящим портом.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн cergei1982

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #143 : 14 Июля 2010, 15:59:00 »
Извеняюсь за задержку ответа,но пока не получилось толком.
Забыл сказать что соединение у меня через маршрутизатор.Настройки iptables на сервере фтп сделал такие
[20:54] cer@cer-laptop: ~$: sudo iptables-save
# Generated by iptables-save v1.4.4 on Wed Jul 14 20:54:14 2010
*filter
:INPUT DROP [9:805]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [4444783:1341348187]
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Jul 14 20:54:14 2010
Но не помогло,хотя если ACCEPT INPUT то все работает повторюсь.Хотел просканировать с помощью wireshark,но толком настраивать для фильтрации не смог,тока на один IP адрес клиента и то мало что понял.
Можно ли как то просмотреть откинутые пакеты iptables ? Чтоб понять что он отбросил.
Глаза боятся,а руки делают.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #144 : 14 Июля 2010, 17:13:33 »
У тебя тонны правил не хватает.
Пойми уже, правила выполняются последовательно, КАЖДЫЙ пакет попадает в них и полностью проходит цепочку, пока не наткнётся на однозначный DROP либо ACCEPT.

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Как я уже говорил, установленные соединения разрешаем первым правилом,
# чтобы максимально снизить нагрузку на CPU при проверке правил
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Вторым, все локальные соединения разрешены
-A INPUT -i lo -j ACCEPT
# Разрешены соединения из нашей сети
-A INPUT -s 192.168.17.0/255.255.255.0 -i ! eth0 -m conntrack --ctstate NEW -j ACCEPT
# Разрешены соединения на SSH не из нашей сети
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# Запрещены соединения на 80 и 110 порт - пока запрещены. Там видно будет.
-A INPUT -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 110 -j REJECT --reject-with icmp-port-unreachable
# Разрешен ICMP трафик. Ибо ответы на HTTP часто приходят по ICMP.
-A INPUT -p icmp -j ACCEPT
# Всё, что оказалось неучтённым, попадает в лог.
-A INPUT -i ! eth0 -j LOG
COMMIT


Пробуй.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн cergei1982

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #145 : 14 Июля 2010, 19:11:20 »
Спасибо,сейчас попробую.Но если не трудно можно объяснить некоторые правила? или где нибудь почитать(кроме мануала на английском,для меня это как ломка у наркомана когда перевожу английский непонимая :idiot2:)

1)Что обозначает conntrack --ctstate ?

2) Что обозначает  ! eth0 в правиле : -A INPUT -s 192.168.17.0/255.255.255.0 -i ! eth0 -m conntrack --ctstate NEW -j ACCEPT

3)Также что означает --reject-with icmp-port-unreachable в правиле  iptables -A INPUT -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable

4)И куда записывается лог при правиле -A INPUT -i ! eth0 -j LOG
Глаза боятся,а руки делают.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #146 : 14 Июля 2010, 20:00:09 »
1. man iptables
2. Это означает отрицание правила.

-A INPUT
Все входящие соединения [не принятые/отброшенные предыдущими правилами]
-s 192.168.17.0/255.255.255.0
пришедшие с адреса 192.168.17.0/24
-i ! eth0
и пришедшие не с интерфейса eth0
-m conntrack --ctstate NEW
соответствующие установлению нового соединения (загружается модуль conntrack, состояние пакета, установленное модулем, определено как "установление соединения")
-j ACCEPT
принять (разрешить проход в этой цепочке правил)

Да, это всё действительно так просто, никакой магии.

3. http://translate.google.com/#auto|ru|icmp%20port%20unreachable

4. В лог, представь себе...
man klogd
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн coolman

  • Участник
  • *
  • Сообщений: 156
  • :)
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #147 : 30 Июля 2010, 15:25:41 »
подскажите:

iptables -N analizcs
iptables -A analizcs -m recent --name analizcs ! --rcheck -m recent --name analizcs --set -j DROP
iptables -A analizcs -m recent --name analizcs --rcheck --seconds 15 -j DROP
iptables -A analizcs -j LOG --log-prefix " analizcs_ban "
iptables -A analizcs -m recent --set -m recent --name analizcs --remove -j DROP

короче надо, что бы пакеты проходящие через таблицу analizcs в течении 15 секунд, злодей отправлялся в баню, тобишь по умолчанию в DEFAULT, а из временного бана analizcs удалялся, исходя из правила так и происходит, но что если поток пакетов будет идти не 15, а 10 секунд например, как его при этом удалить из analizcs, не нарушая всей логики задуманного? Судя по man такое не проканает:
iptables -A analizcs -m recent --name analizcs --rcheck ! --seconds 15 -m recent --name analizcs --remove -j DROP

я новичек вот кумекаю, пока только такое накумекал )) система ubuntu 10.04 server, iptables 1.4.8, ядро 2.6.32-23
iptables

Оффлайн cergei1982

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #148 : 09 Августа 2010, 14:27:15 »
-A INPUT -s 192.168.17.0/255.255.255.0 -i ! eth0 -m conntrack --ctstate NEW -j ACCEPT

Не понятно,а почему указано что все входящие адреса из моей сетки,кроме eth0 будут приняты.Когда у меня тока одна сетевая карта eth0 ?
Глаза боятся,а руки делают.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables _ CONNLIMIT
« Ответ #149 : 09 Августа 2010, 22:42:15 »
Тогда сам допиливай правила по топологии твоей сети.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 5.881 секунд. Запросов: 26.