Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: Thomas123 12 Ledna 2011, 17:34:23
-
Dobrý den,
prosím, podívejte se na http://www.abclinuxu.cz/poradna/linux/show/324782
Je tam důkladně popsaný celý problém. Odpovídejte své nápady buď sem nebo do onoho vlákna.
Díky.
-
Ahoj, už tam asi učinili pokrok. Napiš sem prosím stručný souhrn svého problému a toho, co uz se na abclinuxu v teto veci vyresilo.
-
No pokrok se žádný neučinil, jelikož tam spíše komunikuji sám se sebou. Jde o toto:
Mám Debian Lenny a iptables z Squezzeho (1.4.8 ) (protože standartní Lenny iptables (1.4.2) mají bug, kde chybí rozšíření recent, které právě v příkazech je a vyhazuje nějaký problém o chybějícím souboru). Potřebuji nastavit tyto pravidla:
iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP
Tyto pravidla projdou, ovšem to stejné chci nastavit i pro IPv6:
ip6tables -N SSH_CHECK
ip6tables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
ip6tables -A SSH_CHECK -m recent --set --name SSH
ip6tables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP
První 2 řádky projdou bez chyb, další vypisují chybu a neuplatňují se: "ip6tables: No chain/target/match by that name."
Původně jsem si tedy myslel, že jsou "vadná" iptables. Zkusil jsem to na svém Ubuntu 10.04 s iptables 1.4.4 a tam ty pravidla projdou a uplatní se. Načež jsem zkusil do Lennyho iptables 1.4.10 ze Sida a ty také nejdou. Zkusil jsem také zkompilovat iptables 1.4.3.2 (první vezre, kde je rozšíření recent) a také bez výsledku.
A nyní již nevím, jak aplikovat daná pravidla do Lennyho. Iptables mi to neberou. Příp. věděl by někdo, jak je přepsat?
Pro zasmání - výstup z Lucida:
desktop@desktop:~$ sudo ip6tables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
desktop@desktop:~$ sudo ip6tables -N SSH_CHECK
desktop@desktop:~$ sudo ip6tables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
desktop@desktop:~$ sudo ip6tables -A SSH_CHECK -m recent --set --name SSH
desktop@desktop:~$ sudo ip6tables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP
desktop@desktop:~$ sudo ip6tables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
SSH_CHECK tcp anywhere anywhere tcp dpt:ssh state NEW
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain SSH_CHECK (1 references)
target prot opt source destination
all anywhere anywhere recent: SET name: SSH side: source
DROP all anywhere anywhere recent: UPDATE seconds: 60 hit_count: 2 name: SSH side: source
desktop@desktop:~$ sudo ip6tables
ip6tables v1.4.4: no command specified
Try `ip6tables -h' or 'ip6tables --help' for more information.
desktop@desktop:~$
-
Mám tu ip6tables v1.4.4 a chodí mi to taky.
Prolož ty svoje příkazy taky s ip6tables -L a hoď to sem, co to vypíše. To bude něco v syntaxi...
Skromná ilustrace:
filip@diana:~ 1$ sudo ip6tables -N SSH_CHECK
filip@diana:~ $ sudo ip6tables -L SSH_CHECK <-- řetěz je tam
Chain SSH_CHECK (0 references)
target prot opt source destination
filip@diana:~ $ sudo ip6tables -A SSH_CHECK -m recent --set --name SSH
filip@diana:~ $ sudo ip6tables -L SSH_CHECK <-- prošlo!
Chain SSH_CHECK (0 references)
target prot opt source destination
all anywhere anywhere recent: SET name: SSH side: source
filip@diana:~ 1$ sudo ip6tables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
filip@diana:~ $ sudo ip6tables -L SSH_CHECK <-- řetěz SSH_CHECK zůstal OK
Chain SSH_CHECK (1 references)
target prot opt source destination
all anywhere anywhere recent: SET name: SSH side: source
-
server@server:~$ sudo ip6tables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
server@server:~$ sudo ip6tables -N SSH_CHECK
server@server:~$ sudo ip6tables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
Chain SSH_CHECK (0 references)
target prot opt source destination
server@server:~$ sudo ip6tables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
server@server:~$ sudo ip6tables -L
Chain INPUT (policy DROP)
target prot opt source destination
SSH_CHECK tcp anywhere anywhere tcp dpt:ssh state NEW
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
Chain SSH_CHECK (1 references)
target prot opt source destination
server@server:~$ sudo ip6tables -A SSH_CHECK -m recent --set --name SSH
ip6tables: No chain/target/match by that name.
server@server:~$ sudo ip6tables -L
Chain INPUT (policy DROP)
target prot opt source destination
SSH_CHECK tcp anywhere anywhere tcp dpt:ssh state NEW
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
Chain SSH_CHECK (1 references)
target prot opt source destination
server@server:~$ sudo ip6tables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP
ip6tables: No chain/target/match by that name.
server@server:~$ sudo ip6tables -L
Chain INPUT (policy DROP)
target prot opt source destination
SSH_CHECK tcp anywhere anywhere tcp dpt:ssh state NEW
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
Chain SSH_CHECK (1 references)
target prot opt source destination
server@server:~$ sudo ip6tables
ip6tables v1.4.8: no command specified
Try `ip6tables -h' or 'ip6tables --help' for more information.
server@server:~$
V syntaxi podle mého problém není. Problém zřejmě není v iptables, ale někde v jiném programu, které používají. Osobně tipuji libc6 a libc-bin, ale nemám na Lennym, jak vyzkoušet, protože bych musel upgradovat všechno možné i nemožné. I když pokud se jedná o problém v iptables, tak bych byl velmi rád, kdyby se vyřešil ;-)
-
Problém zřejmě není v iptables, ale někde v jiném programu, které používají. Osobně tipuji libc6 a libc-bin,
A není to ve verzi jádra?
-
Nad tím jsem nepřemýšlel, může být příčina tam?
Mám 2.6.26-2-amd64
-
No já bych řekl, že by to mohlo být i ve verzi jádra. Je-li snadná možnost na cílový stroj hodit stejnou verzi jako na tom ubuntu, zkusme to. Pro úplnost dodávám, že tu mám 2.6.35-23-generic.
Teď mne ale trkla jiná věc:
Zkusil jsem také zkompilovat iptables 1.4.3.2 (první vezre, kde je rozšíření recent) a také bez výsledku.
Proč jsi nezkusil přesně stejnou verzi, na které nám to oběma chodí? Tj. 1.4.4.
-
Ještě jsem nikdy jádro nevyměňoval z Ubuntu do Debiana, jak na to, případně mám se připravit na nějaké problémy?
Zkoušel jsem pomocí dpkg a deb balíčků 1.4.8 ze Squezzeho, 1.4.4 z Lucida a 1.4.10 ze Sida a vlastní kompilované 1.4.3.2.
-
Jádro z Ubuntu do Debiana bych netransplantoval. Asi by to nějak šlo, ale o to nejde.
Podstatné je, že tvoje jádro 2.6.26-2-amd64 je staré dva a půl roku. Mezitím se v ipv6 věcech mohlo leccos překopat. Šlo by do toho debiana z nějakého backportu hodit třeba tu 2.6.35 nebo úplně čerstvou 2.6.37 a zkusit to?
-
V backportech jsem našel akorát 2.6.32. Tak ho zkusím a dám vědět.
-
2.6.32 je stará jen asi rok a půl :P
Za pokus moc nedáš, pokud to nepojede, tak zkus
apt-get install -t experimental linux-image-2.6.34-1-amd64
(jestli to půjde). Debiana tu nemám, nemůžu zkusit.
-
Děkuji ti mnohokrát. Pán Bůh ti to oplatí na dětech :-)
Veškerá pravidla prošla a jsou aplikována. 2.6.32-bpo.5-amd64 to spravilo.
-
Děkuji ti mnohokrát. Pán Bůh ti to oplatí na dětech :-)
Veškerá pravidla prošla a jsou aplikována. 2.6.32-bpo.5-amd64 to spravilo.
Super, mám radost.
Byly tu těžší ořechy.