Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: IPtables-povolení určitých www. stránek  (Přečteno 3899 krát)

Hyp

  • Návštěvník
  • Příspěvků: 51
IPtables-povolení určitých www. stránek
« kdy: 17 Prosince 2009, 19:28:56 »
Dobrý den,
chtěl bych rozchodit pres Ububuntu router a iptables to, aby z vnitřní sítě mohla např. ADRESA 192.168.1.1 mohla všude, ale např. 192.168.1.2 mohla pouze do banky, např. poze na www$csob$cz.
Je to nějak jednoduše řešitelné, potřebuji nakopnout.
Diky. Hyp

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: IPtables-povolení určitých www. stránek
« Odpověď #1 kdy: 17 Prosince 2009, 20:23:25 »
Co se týká přístupu na "jen vymezené" webové servery tak spíše než ohýbat iptables (primárně firewall) doporučuji spíše zagooglit něco o dansguardian nebo squid (pokud používáte IPv6 tak alespoň ve verzi 3.1)
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #2 kdy: 17 Prosince 2009, 20:47:04 »
Děkuji moc za odpověď. Mám vizi, že nechám běžet ubuntu {to zatím funguje}, v něm poběží Virtualbox s win {to zatím funguje také}, no a zatím vše běží bez síťové podpory. Nyní bych chtěl, abych mohl používat z WIN pouze mail a bankovní služby. Ve win poběži pouze učto, ale nic jiného. Myslel jsem, že tedy ve win nastavím síťovou adresu např.192.168.1.5, která bude mít přístuip pouze na tyto vybrané služby. Jestli je to takto řešitelné, musím dál studovat.
No a dalším cílem je, že připojím do sítě další počítače, která v iptables zablokuju no a některým povolím pouze určitoui komunikaci ven. Ty poběží už ve win, popř. v ubuntu bez virtualizace......
Studuju to už týden, zkusím jeětě tedy výše uvedené nastudovat. Díky za nakopnutí, kdyby byl můj postup v něčem nesmyslný, dejte mi vědět. Díky moc. Hyp

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: IPtables-povolení určitých www. stránek
« Odpověď #3 kdy: 18 Prosince 2009, 00:46:54 »
Kde chcete pracovat s číselnými údaji - ip adresy, čísla portů ap. tak nadefinujte pravidla v IPtables
Kde chcete filtrovat textové údaje -- třeba jména webových serverů tak použijte nějakou transparentní proxy třeba squid
Neplatí to absolutně, protože
a) můžete namísto číselné IP adresy v source nebo destination v iptables pravidle použít i kanonický název, ale bez hvězdičkové konvence takže nepokryjete celou doménu pokud je rozprostřená přes více IP a naopak do toho mohou spadnout stovky dalších domén se stejnou IP (typicky freehosting)  - v IPtables se jen překládá název opět na IP adresu - zvýšená zátěž a užitek sporný
b) do IPtables můžete přikompilovat třeba l7-filter a filtrovat třeba řetězce na úrovni nějakého protokolu (test třeba na část řetězce v http requestu = adresa stránek, pokryjete doménu),
c) nebo naopak třeba do squidu nastavit pravidlo o zákazu přístupu na číselné adresy na portech 80 a 443 (btw tím se nechá jednoduše zablokovat skype které si jinak hledá skulinku jak ze sítě ven)

Možná tu někdo poradí něco jednoduchého, klikacího, co bude umět vše co požadujete a k tomu v nějakém líbivém kabátku.

Nějaký základ najdete třeba zde: http://www.root.cz/serialy/vse-o-iptables/
dal bych odkaz na něco podrobnějšího, ale z hlavy si teď nevzpomenu.
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #4 kdy: 18 Prosince 2009, 13:43:11 »
Díky moc, jdu teda studovat.......

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #5 kdy: 22 Prosince 2009, 13:53:40 »

Tak už mě z toho hrabe, dělám to druhý den, bez jakéhokoli efektu .
Popis situace : modem ADSL s adresou 192.168.1.2 na který připojuju eth1 DHCP pod adresou 192.168.2.100 internet funguje OK. Pokud nespustím skript, vse funguje OK. POkud spustim skript, nejde vůbec internet ven. Pokud povolím výchozí podmínku OUTPUT ACCEPT, jede vše OK. Jediné, co jsem u skriptu vypnul je preouting, zatím nepoužívám proxy. Zkoušel jsem ruzné adresy , netmasky vůbec netušim, kde to může být. V modemu je vše vypnuto, podle me komunikace ven by měla jít v pohodě.
Díky moc za náměty, fakt tphle je asi nad moje chápání, i když to bude blbost....
Díky. Hyp


Používám skript následujcí :
Kód: [Vybrat]
[quote]#
# Vase IP adresa a vnejsi rozhrani
INET_IP="192.168.2.100"
INET_IFACE="eth1"

# IP a broadcast adresa a rozhrani vnitrni site
LAN1_IP="168.192.1.0/32"
LAN1_BCAST="168.192.1.255/32"
LAN1_IFACE="eth0"

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

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

# Inicializace databaze modulu
/sbin/depmod -a

# Zavedeme moduly pro nestandardni cile
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE

# Modul pro FTP prenosy
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

# Zapneme routovani paketu
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# rp_filter na zamezeni IP spoofovani
for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
   echo "1" > ${interface}
done

# Implicitni politikou je zahazovat nepovolene pakety
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#
# Retezec PREROUTING v NAT tabulce
#

# Odchozi HTTP pozadavky (na port 80 s vyjimkou lokalniho serveru)
# budou presmerovany na lokalniho squida (na portu 3128) ve funkci
#transparentni proxy cache.

#nahrazeno $IPTABLES -t nat -A PREROUTING -p tcp ! -i $INET_IFACE -d ! $INET_IP --dport 80 -j REDIRECT --to-port 3128
#$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -j REDIRECT --to-port 80
#$IPTABLES -t nat -A PREROUTING -p all -i $INET_IFACE --dport 80 -j REDIRECT --to 80
#$IPTABLES -t nat -A PREROUTING -p tcp -i $INET_IFACE -d $INET_IP -j REDIRECT --to 80



# Presmerujeme port 2222 na port 22 (ssh) stanice uvnitr site
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 2222 -j DNAT --to 192.168.2.100:22


#
# Retezec POSTROUTING v NAT tabulce
#

# IP maskarada - SNAT
# NATujeme
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to $INET_IP


#
# Pridavne retezce pro snazsi kontrolu na rezervovane adresy
#

# Zahazovat a logovat (max. 5 x 3 pakety za hod)
$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


# V tomto retezci se kontroluje, zda prichozi pakety nemaji nesmyslnou IP adresu
$IPTABLES -N IN_FW
$IPTABLES -A IN_FW -s 192.168.0.0/16 -j logdrop # rezervovano podle RFC1918
$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
# ... dalsi rezervovane adresy mozno doplnit podle
#       http://www.iana.com/assignments/ipv4-address-space


# TOS flagy slouzi k optimalizaci datovych cest. Pro ssh, ftp a telnet
# pozadujeme minimalni zpozdeni. Pro ftp-data zase maximalni propostnost
$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 -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A PREROUTING -p tcp --dport telnet -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A PREROUTING -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput



#
# Retezec FORWARD

# Navazovani spojeni ala Microsoft -
# Paket navazuje spojeni, ale nema nastaveny priznak SYN, pryc s nim
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

## jedna zlobiva IPdodano mnou
#$IPTABLES -A FORWARD -i $LAN_IFACE -s 192.168.1.99 -j REJECT


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

# Nechceme rezervovane adresy na internetovem rozhrani
$IPTABLES -A FORWARD -i $INET_IFACE -j IN_FW

# Umoznit presmerovani portu na stanici dovnitr site
$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN1_IFACE -p tcp -d 192.168.2.100 --dport ssh -j ACCEPT

# Routing zevnitr site ven neomezujeme
$IPTABLES -A FORWARD -i $LAN1_IFACE -j ACCEPT

# Routing zvenku dovnitr pouze pro navazana spojeni (stavovy firewall)
$IPTABLES -A FORWARD -i $INET_IFACE -o $LAN1_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

# Ostatni pakety budou zahozeny, tak je budeme logovat (12 x 5 pkt/hod)
$IPTABLES -A FORWARD -m limit --limit 12/h -j LOG --log-prefix "forward drop: "


#
# Retezec INPUT
#

# Navazovani spojeni ala Microsoft -
# Paket navazuje spojeni, ale nema nastaveny priznak SYN, pryc s nim
$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


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

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

# Loopback neni radno omezovat
$IPTABLES -A INPUT -i $LO_IFACE -j ACCEPT

# Stejne jako pakety z lokalni site, jsou-li urceny pro nas
$IPTABLES -A INPUT -i $LAN1_IFACE -d $LAN1_IP -j ACCEPT
$IPTABLES -A INPUT -i $LAN1_IFACE -d $INET_IP -j ACCEPT

# Broadcasty na lokalnim rozhrani jsou take nase
$IPTABLES -A INPUT -i $LAN1_IFACE -d $LAN1_BCAST -j ACCEPT

# MS klienti maji chybu v implementaci DHCP
$IPTABLES -A INPUT -i $LAN1_IFACE -p udp --dport 67 -j ACCEPT

# Pakety od navazanych spojeni jsou v poradku
$IPTABLES -A INPUT -d $INET_IP -m state --state ESTABLISHED,RELATED -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: "

#
# Retezec OUTPUT
#

# TOS flagy slouzi k optimalizaci datovych cest. Pro ssh, ftp a telnet
# pozadujeme minimalni zpozdeni. Pro ftp-data zase maximalni propostnost
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ftp -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport ftp -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport telnet -j TOS --set-tos Minimize-Delay
$IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput

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

# Povolime DHCP broadcasty na LAN rozhrani
$IPTABLES -A OUTPUT -o $LAN1_IFACE -p UDP --dport 68 --sport 67 -j ACCEPT

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


výpis ifconfigu

Kód: [Vybrat]
ifconfig
eth0      Link encap:Ethernet  HWadr 00:0c:f1:d0:5b:ba 
          inet adr:168.192.1.1  Všesměr:168.192.255.255  Maska:255.255.0.0
          inet6-adr: fe80::20c:f1ff:fed0:5bba/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:265 errors:0 dropped:0 overruns:0 frame:0
          TX packets:181 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:1000
          Přijato bajtů: 26489 (26.4 KB) Odesláno bajtů: 52649 (52.6 KB)

eth1      Link encap:Ethernet  HWadr 00:30:bd:b6:af:22 
          inet adr:192.168.2.100  Všesměr:192.168.2.255  Maska:255.255.255.0
          inet6-adr: fe80::230:bdff:feb6:af22/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:11389 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10615 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:1000
          Přijato bajtů: 10231152 (10.2 MB) Odesláno bajtů: 1461331 (1.4 MB)
          Přerušení:22 Vstupně/Výstupní port:0xb800

lo        Link encap:Místní smyčka 
          inet adr:127.0.0.1  Maska:255.0.0.0
          inet6-adr: ::1/128 Rozsah:Počítač
          AKTIVOVÁNO SMYČKA BĚŽÍ  MTU:16436  Metrika:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:0
          Přijato bajtů: 240 (240.0 B) Odesláno bajtů: 240 (240.0 B)

vypis iptables -L
Kód: [Vybrat]
Chain INPUT (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
LOG        tcp  --  anywhere             anywhere            tcp flags:FIN,SYN/FIN,SYN limit: avg 10/min burst 5 LOG level warning prefix `bogus packet: '
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,SYN/FIN,SYN
IN_FW      all  --  anywhere             anywhere           
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:imap2
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:rsync
LOG        tcp  --  anywhere             anywhere            tcp dpt:auth limit: avg 12/hour burst 5 LOG level warning
REJECT     tcp  --  anywhere             anywhere            tcp dpt:auth reject-with tcp-reset
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     all  --  anywhere             168.192.1.0         
ACCEPT     all  --  anywhere             192.168.2.100       
ACCEPT     all  --  anywhere             168.192.1.255       
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps
ACCEPT     all  --  anywhere             192.168.2.100       state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere            limit: avg 12/hour burst 5 LOG level warning prefix `INPUT drop: '

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
LOG        tcp  --  anywhere             anywhere            tcp flags:FIN,SYN/FIN,SYN limit: avg 10/min burst 5 LOG level warning prefix `bogus packet: '
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,SYN/FIN,SYN
IN_FW      all  --  anywhere             anywhere           
ACCEPT     tcp  --  anywhere             192.168.2.100       tcp dpt:ssh
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere            limit: avg 12/hour burst 5 LOG level warning prefix `forward drop: '

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  localhost            anywhere           
ACCEPT     all  --  168.192.1.0          anywhere           
ACCEPT     all  --  192.168.2.100        anywhere           
ACCEPT     udp  --  anywhere             anywhere            udp spt:bootps dpt:bootpc
LOG        all  --  anywhere             anywhere            LOG level warning prefix `OUTPUT drop:
Chain IN_FW (2 references)
target     prot opt source               destination         
logdrop    all  --  192.168.0.0/16       anywhere           
logdrop    all  --  10.0.0.0/8           anywhere           
logdrop    all  --  172.16.0.0/12        anywhere           

Chain logdrop (3 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere            limit: avg 5/hour burst 3 LOG level warning prefix `Rezervovana adresa: '
DROP       all  --  anywhere             anywhere   

DuckD

  • Stálý člen
  • **
  • Příspěvků: 878
  • Open Srdcař
    • www.duckd.cz
Re: IPtables-povolení určitých www. stránek
« Odpověď #6 kdy: 22 Prosince 2009, 14:15:33 »
Zkus zjednodušit tvoje iptables a pak postupně přidávat další pravidla.
Určitě mrkni na síťování zde: http://forum.ubuntu.cz/index.php?topic=14901.0
Tam je nějaký základ kterej zkus prostudovat a vyzkoušet. Třeba na něco přijdeš..
8) Lidé žijí v souborech. ===>> LINUXTERO <<=== Pravidelná dávka tvého linuxtera!

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #7 kdy: 22 Prosince 2009, 14:29:42 »
Díky, jdu pokračovat ve zkoušení. U toho skriptu je ale funční OUTPUT ACCEPT...., zkusim ho ale . DIky. Hyp

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #8 kdy: 23 Prosince 2009, 10:59:30 »
Ahoj vsem , takze den pokracuju dal, nekomu se to muze hodi...
Chyba je
Kód: [Vybrat]
$IPTABLES -A IN_FW -s 192.168.0.0/16 -j logdrop # rezervovano podle RFC1918a nebo
Kód: [Vybrat]
$IPTABLES -A FORWARD -i $INET_IFACE -j IN_FWPokud toto vypnu, skript komunuikaci pousti ven, a zda se, ze vsechno funguje bez problemu.
Takze jdu pokrocit dal


Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: IPtables-povolení určitých www. stránek
« Odpověď #9 kdy: 24 Prosince 2009, 21:54:33 »
Ahoj vsem , takze den pokracuju dal, nekomu se to muze hodi...
Chyba je
Kód: [Vybrat]
$IPTABLES -A IN_FW -s 192.168.0.0/16 -j logdrop # rezervovano podle RFC1918
To blokuje komunikaci ve vašem případě od "krabičky", pravděpodobně jste si zkopíroval nastavení pro nějaký router s veřejnou IP na vnějším rozhraní který správně ošetřuje to že neroutovatelné adresy nemají na straně internetu co dělat.

Jestli máte v plánu aby počítač sloužil jako jediný router pro zbytek sítě tak můžete vypnout routování v "krabičce", nastavit ji jen jako bridge a PPPoE může vytáčet až počítač.
Pak budete mít přímo v PC virtuální rozhraní s veřejnou IP a nemusíte řešit nějaký NAT a portforwarding nadvakrát v "krabičce" i v iptables.
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: IPtables-povolení určitých www. stránek
« Odpověď #10 kdy: 26 Prosince 2009, 22:57:13 »
ježíš bodie, nepleťte mu hlavu s BSD. pf má jiné zpracováné pravidel než iptables. (a řekl bych že logičtější zvlášť při použití mnoha rozhraní, QoS a s dynamickým shappingem, ale to není předmětem tématu.)

Nehledě na to že neřešíte situaci kdy na jedné IP je více virtuálních serverů - i když použije v pravidlech kanonickou adresu tak ta se přeloží na IP a blokuje/povolí přístup ke VŠEM webovým serverům na této IP.
Otázka byla na omezení přístupu na www.cosi, ne na IP.
Právě proto se selekce musí udělat něčím až na úrovni http protokolu, tedy L7.

Skript by pro pf by byl cca poloviční oproti iptables (pár řádků se dá nahradit seznamy), ale určitě ne sedmiřádkový. Řeší v něm nejen původní otázku (proč vaše řešení shledávám vzhledem k zadání nepoužitelné píšu o odstavec výše) ale i spoustu dalších věcí. (NAT, redirect na proxy(=řešení), ale co se budu rozepisovat, vždyť to má hezky komentované)
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #11 kdy: 28 Prosince 2009, 10:27:35 »
Děkuji moc za odpovědi, asi je pravdoum co píše kiklhorn, Musím teda opravit nastzavení modemu, doufám že to zvládnu. Jinak by mi stačilo omezení na určité IP adresy. Cílem je abych moch z Virtualizovaného PC přistupovat pouze do banky, na seznam a nikam jinam.Myslím si, že by bych šel cestou
Kód: [Vybrat]
a) můžete namísto číselné IP adresy v source nebo destination v iptables pravidle použít i kanonický název, ale bez hvězdičkové konvence takže nepokryjete celou doménu pokud je rozprostřená přes více IP a naopak do toho mohou spadnout stovky dalších domén se stejnou IP (typicky freehosting)  - v IPtables se jen překládá název opět na IP adresu - zvýšená zátěž a užitek sporný, jak navrhoval DuckD, což si myslím, že by mělo jít.
Zatím díky moc.
Hyp
PS Jinak samozřejmě máí krabička IP adresu, jak říkáte...... :-)
PS Jinak pořád ještě přemýšlím o tom bridge spojení, ale já mám na router ještě připojený platební terminál, který by si ai pak musel také vytáčet spojení, což mi přijde asi zbytečné, tzn. bylo by výhodou, když by pro nějaké porty běžel router jako bridge a pro nějaké jako ppoe, což asi nelze. Achjo, tak jsem se v tom zase zamotal...
« Poslední změna: 28 Prosince 2009, 11:22:15 od Hyp »

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #12 kdy: 30 Prosince 2009, 09:52:02 »
Takže pokračuju v síťování :
Skript po vyjmutí zakázaných ipadres zvenku chodí, vůbec ale nemůži přijít jak  dál. Ve virtual boxu jsem dal možnost NAT, což mi přišlo dle nápovědy nejlepší. Přiřazuje se tam DHCP adresa 10.0.2.15/255.255.255.0, přídalo se mi tam zařízení
Kód: [Vybrat]
vboxnet0  Link encap:Ethernet  HWadr 0a:00:27:00:00:00 
          inet adr:192.168.56.1  Všesměr:192.168.56.255  Maska:255.255.255.0

No a teď internet šlape bez problémů a myslel jsem, že bych udělal v iptables podmínku přístupu pouze na seznam
Kód: [Vybrat]
-A FORWARD -i vboxnet0 -o eth1 -d 77.75.72.3 -j ACCEPT
ale vůbec se nemůžu dostat jak ten provoz omezit z vboxnet0, prostě proč když je defaultně provoz drop mi to propustí, případně jak tohle ošéfovat. Ještě jsem někde vyčet, že by se dala ta podmínka vázat na mac číslo karty. Jediný, co mě napada je, že vlastně vboxnet0 se propoji s eth0 a eth1 ji pustí, tzn. ještě vše vázat na jednotlivé karty, ale to mě připadá příliš. Určitě to bude nějaká pitomost....
Díky. H


Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #13 kdy: 31 Prosince 2009, 11:07:46 »
Takže několik dní práce a pokročil jsem, bohužel vše ještě není hotovo. Nastavil jsem vše podle návodu na §
Kód: [Vybrat]
http://ubuntuforums.org/showthread.php?t=667952Jediné co mi chybí je tam nějak změnit podmínku 1 na 2
Kód: [Vybrat]
#1/iptables -A FORWARD -i br0 -j ACCEPT
2/iptables -A FORWARD -i br0 -o eth0 -d 77.75.72.3 -p tcp --dport 80 --sport 1024:65355 -j ACCEPT
což mi ale pak nefunguje vůbec

Hyp

  • Návštěvník
  • Příspěvků: 51
Re: IPtables-povolení určitých www. stránek
« Odpověď #14 kdy: 31 Prosince 2009, 16:18:27 »
Takže celodenní sezení u PC mě zas dostalo trochu dál :
Udělal jsem nové nastavení
Kód: [Vybrat]
iptables -F
# set the default policy for each of the pre-defined chains
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# allow all outgoing traffic
#iptables -A OUTPUT -j ACCEPT

# allow establishment of connections initialised by my outgoing packets
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# accept everything on local network
iptables -A INPUT -s 192.168.0.0/24 -i eth+ -p udp -j ACCEPT
#iptables -A INPUT -s 192.168.0.0/24 -i eth1 -p udp -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -i eth+ -p tcp -m tcp --syn -j ACCEPT
#iptables -A INPUT -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --syn -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -i br0 -p udp -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -i br0 -p tcp -m tcp --syn -j ACCEPT

# accept anything on localhost
iptables -A INPUT -i lo -j ACCEPT

# accept forwards to my virtual machine
iptables -A FORWARD -i br0 -j ACCEPT
#iptables -A FORWARD -i br0  -d 77.75.72.3 -p tcp --dport 80 --sport 1024:65355 -j ACCEPT
#iptables -A FORWARD -i tap+ -o br0 -d 77.75.72.3 -p tcp --dport 80 --sport 1024:65355 -j ACCEPT

iptables -A OUTPUT -d 77.75.72.3 -j ACCEPT



iptables -A OUTPUT -d 74.125.87.103 -j ACCEPT

Tohle funguje trochu jinak, blokuje me to vsude krome googlu a seznamu-což chci, ale na druhou stranu hostitelský počítač může všude. Je to opak než chci, ale alespoň jsem postoupil dál. Problém bude v asi v inputu a forwardu, ale už jaksi nemám sílu....
Zdravím. Hyp

 

Provoz zaštiťuje spolek OpenAlt.