iptables

Автор alekcei, 30 мая 2015, 01:02:31

« назад - далее »

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

alekcei

не работают правила >:(

# Очищаем все настройки
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t mangle -F
    iptables -t mangle -X
#разрешаем локальный трафик
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT    iptables -t filter -F

# Устанавливаем политики по умолчанию
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# блокируем неудачный попытки авторизации + 1 ip 1 коннект
iptables -A INPUT -p tcp --syn --dport 5222 -m connlimit --connlimit-above 1 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 5222 -m state --state NEW -m recent --name BLOCK --rcheck --seconds 60 -j DROP
iptables -A INPUT -p tcp --dport 5222 -m state --state NEW -m hashlimit \
--hashlimit-name BLOCK --hashlimit-mode srcip --hashlimit-above 1/m --hashlimit-burst 5 -m recent --name BLOCK --set -j DROP
в таком варианте всё работает. если  цепочку input по умолчанию drop к серверу не подключиться

если добавить строку при input drop iptables -A INPUT -p tcp -i eth0 --dport 5222 -j ACCEPT то к серверу подключается

добавил iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT заработало

ihammers

А можно поподробнее, что вы хотите вделать данными правилами? Защитить себя от переборов по ssh? Если да, то настройте fail2ban.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

alekcei

не. 1 коннект с одного ip
5 неудачный попыток логина на jabber севрере и блокировка

yura_n

Довольно странные правила. Обычно сначала запрещается все, а затем разрешается только то, что нужно. Здесь все наоборот: сначала разрешается все, затем запрещается то, что не нужно. На мой взгляд, такой подход не слишком-то удобен, большая часть портов остается открытой.

alekcei

#4
сечас всё вот так

# Очищаем все настройки
    iptables -F
    iptables -X
    iptables -t nat -F
   iptables -t mangle -F
  iptables -t mangle -X
iptables -t filter -F
#защита ssh
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 9090 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 9090 -m state --state NEW -j ACCEPT
# Устанавливаем политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#разрешаем локальный трафик
iptables -A INPUT  -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
#разрешаем пинг
iptables -A INPUT -p icmp -j ACCEPT
#iptables -A OUTPUT -p icmp -j ACCEPT

#защита от брута jabber сервера
# способ 1
iptables -A INPUT -p tcp --syn --dport 5222 -m connlimit --connlimit-above 1 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -m tcp --dport 5222 -m state --state NEW -m hashlimit --hashlimit 1/m --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name xmpp --hashlimit-htable-expire 60000 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5222 --tcp-flags SYN,RST,ACK SYN -j DROP
#end

#способ 2 при
#iptables -A INPUT -p tcp --syn --dport 5222 -m connlimit --connlimit-above 1 -j REJECT --reject-with tcp-reset
#iptables -A INPUT -p tcp --dport 5222 -m state --state NEW -m recent --name BLOCK --rcheck --seconds 60 -j DROP
#iptables -A INPUT -p tcp --dport 5222 -m state --state NEW -m hashlimit \
#--hashlimit-name BLOCK --hashlimit-mode srcip --hashlimit-above 1/m --hashlimit-burst 5 -m recent --name BLOCK --set -j DROP
#end

#коннекты сервер-сервер
        #jabbe
iptables -A INPUT -p tcp  --dport 5269 -j ACCEPT
        #icq
iptables -A INPUT -p tcp  --dport 5190 -j ACCEPT


#Должен быть включен ip forwarding
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/28 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE



netstat выдаёт Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0    304 192.168.0.2:ssh         192.168.0.1:33161       ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path

при этом openfire не работает, нет коннекта к mysql
если отключить ip forwarding

echo 0 > /proc/sys/net/ipv4/ip_forward

net stat выдаёт
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:mysql         localhost:59223         ESTABLISHED
tcp        0    304 192.168.0.2:ssh         192.168.0.1:33161       ESTABLISHED
tcp        0      0 localhost:mysql         localhost:59222         ESTABLISHED
tcp        0      0 localhost:mysql         localhost:59225         ESTABLISHED
tcp        0      0 localhost:mysql         localhost:59224         ESTABLISHED
tcp        0      0 localhost:mysql         localhost:59226         ESTABLISHED
tcp6       0      0 localhost:59225         localhost:mysql         ESTABLISHED
tcp6       0      0 localhost:59222         localhost:mysql         ESTABLISHED
tcp6       0      0 localhost:59224         localhost:mysql         ESTABLISHED
tcp6       0      0 localhost:59223         localhost:mysql         ESTABLISHED
tcp6       0      0 localhost:59226         localhost:mysql         ESTABLISHED



jabber сервер работает

подскажите как настроить чтобы работало.
получается этот компьютер как nat+jabber сервер

Сообщение объединено: 31 мая 2015, 13:18:03

победил forw arding включил так iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

agentgoblin

# Очищаем все настройки
    iptables -F
    iptables -X
   iptables -t mangle -F
  iptables -t mangle -X
iptables -t filter -F

Зачем это? Вы читали man?
man iptables, флаги -F и -X:

-F, --flush [chain]
Flush the selected chain (all the chains in the table if none is given).  This is equivalent to deleting all the rules one by one.

-X, --delete-chain [chain]
Delete the optional user-defined chain specified.  There must be no references to the chain.  If there  are,  you  must  delete  or replace  the referring rules before the chain can be deleted.  The chain must be empty, i.e. not contain any rules.  If no argument is given, it will attempt to delete every non-builtin chain in the table.
[свернуть]
Нет никакой необходимости использовать -X после -F. И дополнительные правила с очисткой не нужны. Для полной очистки достаточно сказать iptables -F. Указывать таблицу требуется только если очистка должна быть произведена для этой таблицы.


# Устанавливаем политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
...
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/28 -j ACCEPT

Вы разрешаете любой форвардинг и потом пишете правило, по которому надо разрешить форвардинг. Зачем? Настраиваете по обрывкам конфигураций из интернета, не имея полного видения желаемого результата? Я не вижу смысла дальше копаться в этой конфигурации.

Советую не пороть горячку, а спокойно сесть и прозвести следующие действия:
1 Почитать про работу iptables, посмотреть, как и куда идут пакеты, расписать по пунктам, что требуется сделать;
2 Написать минимальный конфиг, который будет обеспечивать вам NAT и подключения до ваших сервисов;
3 Убедиться, что все подключения работают как надо и закрыто всё, что не надо;
4 Сесть и написать отдельно правила для активной защиты от брутфорса, тестируя каждое в отдельности.

Пока я вижу, что вы пытаетесь сделать всё сразу и ломаете то, что работает.