Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2005-10-11 23:58:41

  zakrecik - Nowy użytkownik

zakrecik
Nowy użytkownik
Zarejestrowany: 2005-10-11

pytenko odnośnie firewala

witam wszystkich
jestem nowy tutaj:)
mam problem taki

posiadam w domu server na debianie. mam do niego podpiete 2 dsle i oczywiscie siec lokalna ktora ma dostep do netu:)
chodzi mi o to ze potrzebuje zablokowac dostep jednemu komputerowi tylko do jednej stronki i do gg
jak to zrobic bo za bardzo sie nie znam na tym a administrator ktory to robil jest w tej chwili niedostepny:( samemu sobie raczej nie poradze
moj plik *masq.sh wyglada tak

#!/bin/bash -x
porty="22 23 25 53 80 110 7171 28960 21 20 8074 443 5001 5002 5003 5004 5005 5030 14011 14016 17001 5579 44405 27015"
arp -f
iptables="/sbin/iptables"
$iptables -P INPUT ACCEPT
$iptables -F
$iptables -X
$iptables -F -t nat
$iptables -F -t mangle
$iptables -t nat -P PREROUTING DROP
$iptables -t nat -A PREROUTING -i lo -j ACCEPT
$iptables -t nat -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -t nat -A PREROUTING --source 192.168.0.254/32 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 195.177.64.192/28 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 212.244.219.32/27 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 10.0.0.1 -m state --state NEW -j ACCEPT
for klienci in `cat /etc/ethers | grep -v "^#" | sed -e "s/ /G/"`; do
`echo $klienci | awk -F G '{ print "iptables -t nat -A PREROUTING -m mac --mac-source " $1 " -s " $2 " -j ACCEPT"; }'`
done
#$iptables -t nat -A PREROUTING -i eth0 -j mark --set-mark 3
$iptables -P INPUT DROP
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A INPUT --source 10.0.0.0/24 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 212.244.219.32/27 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 195.136.113.40/28 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -A INPUT -p tcp --dport 25 -j ACCEPT
$iptables -A INPUT -p tcp --dport 113 -j ACCEPT
$iptables -A INPUT -p tcp --dport 110 -j ACCEPT
$iptables -A INPUT -p udp --dport 25 -j ACCEPT
$iptables -A INPUT -p udp --dport 113 -j ACCEPT
$iptables -A INPUT -p udp --dport 110 -j ACCEPT
$iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
$iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/24 -j SNAT --to 80.55.186.42
$iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24 -j SNAT --to 80.53.247.122

$iptables -t mangle -A POSTROUTING -o eth0 -s 10.0.0.1/32 -d 10.0.0.0/24 -j MARK --set-mark 0x60
$iptables -t mangle -A POSTROUTING -m mark --mark 0x60 -j ACCEPT

$iptables -t mangle -A POSTROUTING -d 212.244.219.32/27 -o eth1 -p tcp --sport 22 -j MARK --set-mark 0x50
$iptables -t mangle -A POSTROUTING -d 212.244.219.32/27 -o eth2 -p tcp --sport 22 -j MARK --set-mark 0x50
for x in $porty; do
$iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport $x -j MARK --set-mark 0x1
$iptables -t mangle -A PREROUTING -i eth1 -p udp --sport $x -j MARK --set-mark 0x1
$iptables -t mangle -A PREROUTING -i eth2 -p tcp --sport $x -j MARK --set-mark 0x2
$iptables -t mangle -A PREROUTING -i eth2 -p udp --sport $x -j MARK --set-mark 0x2
$iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport $x -j MARK --set-mark 0x50
$iptables -t mangle -A PREROUTING -i eth0 -p udp --dport $x -j MARK --set-mark 0x50
done
$iptables -t mangle -A PREROUTING -m mark --mark 0x1 -j ACCEPT
$iptables -t mangle -A PREROUTING -m mark --mark 0x2 -j ACCEPT
$iptables -t mangle -A PREROUTING -m mark --mark 0x50 -j ACCEPT

$iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-mark 0x10
$iptables -t mangle -A PREROUTING -m mark --mark 0x10 -j ACCEPT
$iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 0x20
$iptables -t mangle -A PREROUTING -m mark --mark 0x20 -j ACCEPT



jak by mi ktos mogl pomoc to by bylo super. jezeli cos jeszcze jest potrzebne to napisze jak bede wiedzial o co chodzi:)
pozdrawiam

Offline

 

#2  2005-10-14 05:42:51

  Phrozen^Tux - Członek DUG

Phrozen^Tux
Członek DUG
Skąd: DC - District Cracovia :)
Zarejestrowany: 2005-10-14

Re: pytenko odnośnie firewala

Hej

Jesli chodzi o zablokowanie dostepu do gg ot mysle ze takie cos pomoze
iptables -I FORWARD -p TCP -s [tutaj adres kompa w podsieci] -d [adresy serwerow gg - niestety jest ich pare] -j DROP

a jesli chodzi o stronke to
zakladajac ze nie masz proxy i twoj koles nie bedzie potrafil sobie skonfigurowac przegladarki na jakies inne odstepne proxy
iptables -I FORWARD -p TCP -s [adres kompa] -d [IP serwera ze strona] -j DROP

Rozwiazanie to ma pewna wade - blokujesz od razu caly serwer a nie tylko strone, moznaby zrobic tylko storne, ale musialbys miec modul ktory byb ci analizowal pakiety po wywolaniach http i np. markowal te ktore odpowiadaja niechcianej stronie. Potem te zamarkowane moznaby usuwac. W sumie to spatchowanie patch-o-matic'iem powinno wystarczyc do rozwiazania tego problemu, ale musialbys troszke poczytac na ten temat :)

Jezeli masz w swojej sieci proxy (np. squida) skonfigurowanego na Twoim serwerze to moznaby na nim tylko blokowac ta strone.

Pozdrawiam


gg: 1640760  Linux Registered User: #289621
[img]http://markooff.net/obrazki/avatars/runningslack.gif[/img]  [img]http://markooff.net/obrazki/avatars/debian.jpg[/img] [img]http://markooff.net/obrazki/avatars/powerlogo.gif[/img]

Offline

 

#3  2005-10-14 09:26:27

  zakrecik - Nowy użytkownik

zakrecik
Nowy użytkownik
Zarejestrowany: 2005-10-11

Re: pytenko odnośnie firewala

troszke zle to sformuowalem w tym pierwszym poscie ale mysle ze mi podpowiesz:) ma miec dostep tylko d o1 strony i do gg

Offline

 

#4  2005-10-14 10:15:50

  Phrozen^Tux - Członek DUG

Phrozen^Tux
Członek DUG
Skąd: DC - District Cracovia :)
Zarejestrowany: 2005-10-14

Re: pytenko odnośnie firewala

:)

W takim razie stosujesz konstrukcje zaprzeczenia powyzszego
iptables -I FORWARD -p ALL -s [adres kompa w podsieci] -d 0/0 -j DROP
i potem wpisujesz wyjatki:
iptables -I FORWARD -p TCP -s [tutaj adres kompa w podsieci] -d [adresy serwerow gg - niestety jest ich pare] -j ACCEPT
(wazna jest kolejnosc najpierw przeczenie , potem wyjatek, poniewaz polecenie "iptables -I" dodaje linijke NA POCZATKU listy. Jesli chesz uzyc "iptables -A" to musisz zrobic na odwrot - dodaje ono linijke na koncu)

oraz w drugim przypadku:
iptables -I FORWARD -p TCP -s [adres kompa] -d [IP serwera ze strona] -j ACCEPT
zauwaz ze nie dalem tu linijki (reguly) wylkuczajacej , obowiazuje ta z powyzej :)

Pozdrawiam


gg: 1640760  Linux Registered User: #289621
[img]http://markooff.net/obrazki/avatars/runningslack.gif[/img]  [img]http://markooff.net/obrazki/avatars/debian.jpg[/img] [img]http://markooff.net/obrazki/avatars/powerlogo.gif[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.006 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00045 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.85.204' WHERE u.id=1
0.00085 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.116.85.204', 1732377959)
0.00027 SELECT * FROM punbb_online WHERE logged<1732377659
0.00077 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=1852 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00114 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=1852 ORDER BY p.id LIMIT 0,25
0.00123 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1852
Total query time: 0.00489 s