Portál AbcLinuxu, 14. května 2025 02:40

Dotaz: Iptables - Gentoo

12.10.2008 18:46 Devilkin | skóre: 17 | blog: domecek | Zlín
Iptables - Gentoo
Přečteno: 1228×
Odpovědět | Admin
Zdravím,
už asi 14 hodin se snažím rozchodit iptables na nově nainstalovaném systému (Gentoo). Jsem z toho už fakt bezradný. Jsem si skoro jisty, že jádro mám v pořádku (zkusil jsem snad 15 různých možnosti včetně "vše jako modul" nebo "vše v jádře"). Momentálně mám jádro přeložené podle tohoto návodu.

Používám jádro 2.6.25-r7.

Některé jednoduchhé věci jdou. Např.
iptables -A INPUT -i eth0 -p TCP --dport 80 -j ACCEPT
ale jakmile chci něco složitějšího, tak to hodí obligátní hlášku iptables: No chain/target/match by that name a jsem v háji. Zkusil jsem různé verze iptables, ale nepomohlo to. Týká se to hlavně logování a optimalizací jako:
iptables -t mangle -A PREROUTING -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
iptables: No chain/target/match by that name

nebo
iptables -A INPUT -m limit --limit 12/h -j LOG --log-prefix "INPUT drop: "
iptables: No chain/target/match by that name

Na "serveru" je jen jedno rozhraní. Potřebuji nastavit jen povolení služeb, otimalizace, logování a pár dalších drobností
Aby bylo úplně jasné o co se snažím, tak tady je můj základní firewall
#!/bin/sh

# Promene

# Lan rozhrani
INET_IP="192.168.77.19"
INET_IFACE="eth0"

# Lokalni loopback rozhrani
LO_IFACE="lo"
LO_IP="127.0.0.1/32"

# Cesta k programu iptables
IPTABLES="/sbin/iptables"

# Implicitni nastaveni
  $IPTABLES -P INPUT DROP
  $IPTABLES -P OUTPUT DROP
  $IPTABLES -P FORWARD DROP

# Kontrola rezervovanych IP Adres
  $IPTABLES -N logdrop
  $IPTABLES -A logdrop -m limit --limit 5/h --limit-burst 3 -j LOG --log-prefix "Rezervovana adresa: "
  $IPTABLES -A logdrop -j DROP

  $IPTABLES -N IN_FW
  # $IPTABLES -A IN_FW -s 192.168.0.0/16 -j logdrop # rezervovano podle RFC1918 (TED NE :-) )
  $IPTABLES -A IN_FW -s 10.0.0.0/8 -j logdrop     #   ---- dtto ----
  $IPTABLES -A IN_FW -s 172.16.0.0/12 -j logdrop  #   ---- dtto ----
  $IPTABLES -A IN_FW -s 96.0.0.0/4 -j logdrop     # rezervovano podle IANA

# Optimalizace datovych cest
  $IPTABLES -t mangle -A PREROUTING -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
  $IPTABLES -t mangle -A PREROUTING -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
  $IPTABLES -t mangle -A PREROUTING -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput
  $IPTABLES -t mangle -A PREROUTING -p tcp --dport ftp-data -j TOS --set-tos Maximize-Throughput

# INPUT

# Paket navazuje spojeni, ale nema nastaveny priznak SYN, adios
  $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# Portscan s nastavenym SYN,FIN
  $IPTABLES -A INPUT -p tcp -i $INET_IFACE --tcp-flags SYN,FIN SYN,FIN -j LOG -m limit --limit 10/m --log-prefix="bogus packet: "
  $IPTABLES -A INPUT -p tcp -i $INET_IFACE --tcp-flags SYN,FIN SYN,FIN -j DROP

# Nejprve se zbavime nezadoucich adres
  $IPTABLES -A INPUT -i $INET_IFACE -j IN_FW

# Pravidla pro povolene sluzby
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 21 -j ACCEPT  #FTP server
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 22 -j ACCEPT  #SSH server
  # $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 25 -j ACCEPT  #SMTP server
  # $IPTABLES -A INPUT -i $INET_IFACE -p UDP --dport 53 -j ACCEPT  #DNS server UDP
  # $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 53 -j ACCEPT  #DNS server TCP
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 80 -j ACCEPT  #WWW server
  # $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 110 -j ACCEPT #POP3 server
  # $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 143 -j ACCEPT #IMAP server
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 443 -j ACCEPT #HTTPS server
  # $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 873 -j ACCEPT #rsync server

# Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze
# vest k prodlevam pri navazovani nekterych spojeni. Proto jej
# sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam.
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 113 -m limit --limit 12/h -j LOG
  $IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server

# Pustit ICMP ping
  $IPTABLES -A INPUT -i $INET_IFACE -p ICMP --icmp-type echo-request -j ACCEPT

# Loopback neomezovat
  $IPTABLES -A INPUT -i $LO_IFACE -j ACCEPT

# Vsechno ostatni je zakazano - tedy logujeme, maxim. 12x5 pkt/hod
  $IPTABLES -A INPUT -m limit --limit 12/h -j LOG --log-prefix "INPUT drop: "

# OUTPUT

# Povolime odchozi pakety, ktere maji nase IP adresy
  $IPTABLES -A OUTPUT -s $LO_IP -j ACCEPT
  $IPTABLES -A OUTPUT -s $INET_IP -j ACCEPT

# Ostatni pakety logujeme (nemely by byt zadne takove)
  $IPTABLES -A OUTPUT -j LOG --log-prefix "OUTPUT drop: "

emerge --info.
Portage 2.1.4.5 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.25-gentoo-r7 x86_64 Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz
Timestamp of tree: Sat, 11 Oct 2008 22:30:01 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r2
sys-devel/automake:  1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -pipe -mno-tls-direct-seg-refs"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -pipe -mno-tls-direct-seg-refs"
DISTDIR="/usr/portage/distfiles"
FEATURES="distfiles distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch usersandbox"
GENTOO_MIRRORS="http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/ http://ftp.club-internet.fr/pub/mirrors/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/ ft p://pandemonium.tiscali.de/pub/gentoo/ http://src.gentoo.pl http://gentoo.po.opole.pl ftp://gentoo.po.opole.pl http://mirror.etf.bg.ac.yu/gentoo ftp://mirr or.etf.bg.ac.yu/gentoo/ http://gentoo.gg3.net/ ftp://gg3.net/pub/linux/gentoo/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl acpi amd64 apache2 berkdb bzip2 cjk cli cracklib crypt ctype curl dri fortran ftp gpm iconv isdnlog ldap libwww memlimit midi mmx mudflap multilib mysql ncurses nls nptl nptlonly openmp pam pcre perl php posix postgres pppd python readline reflection session spl sse sse2 ssl symlink sysfs szip tcpd tokenizer truetype unicode usb xml xml2 xorg zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Předem všem děkuji za nakopnutí správným směrem.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.10.2008 20:42 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Iptables - Gentoo
Odpovědět | | Sbalit | Link | Blokovat | Admin
v jadre vam chybi podpora prislusnych funkci, nebo nemate zavedeny patricny modul.
In Ada the typical infinite loop would normally be terminated by detonation.
12.10.2008 22:29 Devilkin | skóre: 17 | blog: domecek | Zlín
Rozbalit Rozbalit vše Re: Iptables - Gentoo
Příloha:
Díky.

Tohle je je důvod, proč jsem jádro kompiloval již 15x. V jádře mám i podporu pro automatické načítaní modulů (Automatic kernel module loading ). Teď mám ale příslušné věci přidané na tvrdo. Bohužel nemůžu stále najít ty správné volby.

Na jádru 2.6.17 bylo potřeba pro podporu TOS zapnout
<*>   Packet mangling
<*>     TOS target suppor
Myslel jsem si, že tuto volbu, která už v jádře 2.6.25-r7 není, nahrazuje
<*>   "DSCP" and "TOS" target support 
Bohužel tomu tak není.

Můžete mi prosím poradit, co je potřeba v jádře 2.6.25 zapnout, aby TOS fungoval? Samozřejmě budu vděčný i na odkaz na příslušnou část dokumentace.

Můj .config je v příloze

Děkuji

Řešení 1× (Devilkin (tazatel))
13.10.2008 01:50 Devilkin | skóre: 17 | blog: domecek | Zlín
Rozbalit Rozbalit vše Re: Iptables - Gentoo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bože já jsem idiot !! :-)

Tak jen pro pobavení ostatních.

Vesele si tu překládám jedno jádro za druhým a nějak mi nedoklaplo, že ...

/dev/md1 /boot ext2 noauto,noatime 1 2

Jistě z bezpečnostního hlediska dobrý nápad, ale jak asi dopadne

cp arch/x86_64/boot/bzImage /boot/kernel-2.6.25-gentoo-r7

když člověk nepřipoji boot, že :-D

Nějhorší je, že mě to fakt vůbec nenapadlo. Prostě už ze zoufalství zkouším do jádra cpát všechno možné a nakonec jsem zkusil i jiné jádro a jakmile člověk vidí, že grup jaksi nemůže nové jádro najít něco v tom mozku se pohne a je to tu.

No aspoň jsem si přečetl spoustu nových informací o iptables :-)
13.10.2008 06:38 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Iptables - Gentoo
z bezpecnostniho hlediska by stacilo tam mit jenom "ro". pak by vas to hled trrrrrklo
In Ada the typical infinite loop would normally be terminated by detonation.
dmnc_net avatar 4.2.2010 11:00 dmnc_net | skóre: 12 | blog: dmnc
Rozbalit Rozbalit vše Re: Iptables - Gentoo
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdo by referoval k teto diskuzi pri tvorbe FW:

POZOR, tento obrovsky pool 96.0.0.0/4 uz nejakou dobu neni rezervovany (http://www.iana.com/assignments/ipv4-address-space) a nektere rozsahy jsou dokonce pouzity na uzemi CR.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.