ipchains vraagje

Pagina: 1
Acties:

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Hallo ik heb weer een vraagje

ik heb thuis adsl en dat wordt geshared door mij linux debian bak

nu gebruik ik de volgende regelels
code:
1
2
3
4
echo 1 > /proc/sys/net/ipv4/ip_forward
ipchains -F
ipchains -P forward DENY
ipchains -A forward -j MASQ -s 192.168.1.0 -d 0.0.0.0/0

is het mogenlijk dat ik na een bepaalde tijd 1 ipadress blocked zodat er 1 pc in mijn netwerk niet meer kan internetten bijv na twee uur s`nachts maar dat het s`ochtens om 7 uur weer werkt?

hoop dat ik een beetje duidelijk bent geweest



alvast bedankt



DaFearLess

specs : http://specs.tweak.to/7435


Verwijderd

Gewoon 2 verschillende scriptjes maken.
Een met toegang voor dat IP en 1 zonder toegang voor dat IP.

Vervolgens deze beide scripts opnemen in je crontab en op gewenste tijden het goede script aanroepen, lijkt mij de meest simpele oplossing.

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
hoe laat ik dan alles door behalve 1 IP

kan in de manual niet echt een duidelijk antwoord daarover vinden en in de search ook niet

specs : http://specs.tweak.to/7435


Verwijderd

Gewoon OUTPUT rules maken die als source alle ip's uit je interne netwerk hebben; die accepten. Dat ene IP denyen (evenals de IP's die niet binnen het netwerk zitten).
Hetzelfde geldt voor INPUR-rules.
Dit is toch wel basisch ipchains/iptables kennis.
Als je dat (nog) niet begrijpt, moet je ook niet zelf een firewall-script gaan schrijven.

Hoe de regels er uit komen zien ligt er aan hoe je default-policy is voor de betreffende chains;

Ik ga het in ieder geval niet voor doen, omdat ik vind dat je dit soort dingen zelff uit moet zoeken i.p.v. klakkeloos overnemen, zonder dat je precies weet, wat het nou eigenlijk doet.

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 09:49
ik weet niet waar jij gelezen hebt dat de MASQ in de prerouting van de tabel NAT moet (makes sense, doesn't it).
Ik neem aan dat je
code:
1
deb http://people.debian.org/~bunk/debian potato main

in /etc/apt/sources.list hebt staan en je dus de laatste iptables hebt.

Ik zelf gebruik de volgende regels en die bevallen mij prima. Er zitten een paar regels in die elkaar overrulen, maar dat moet ik nog een keer uitzoeken...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Generated by iptables-save v1.2.2 on Fri Jul 13 22:16:33 2001
*nat
:PREROUTING ACCEPT [12090:1127643]
:POSTROUTING ACCEPT [2038:235871]
:OUTPUT ACCEPT [8516:645826]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Fri Jul 13 22:16:33 2001
# Generated by iptables-save v1.2.2 on Fri Jul 13 22:16:33 2001
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4483401:3941044010]
:block - [0:0]
-A INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -j block
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A FORWARD -j block
-A block -m state --state RELATED,ESTABLISHED -j ACCEPT
-A block -i ! ppp0 -m state --state NEW -j ACCEPT
-A block -p tcp -m tcp --dport 2064 -j ACCEPT
-A block -p tcp -m tcp --dport 22 -j ACCEPT
-A block -i ppp0 -m limit --limit 3/hour -j LOG --log-prefix "Bad packet from ppp0:"
-A block -i ! ppp0 -m limit --limit 3/hour -j LOG --log-prefix "Bad packet not from ppp0:"
-A block -i ppp0 -m state --state INVALID,NEW -j DROP
-A block -j DROP
COMMIT
# Completed on Fri Jul 13 22:16:33 2001

Je kunt deze toepassen door dit stukkie via stdin aan iptables-restore te voeren.

ohja, wat ie doet is het volgende:
- Al het verkeer dat naar buiten gaat over ppp0 wordt gemasqeerd (dit gebeurt bij jou in FORWARD, bij mij in PREROUTING)
- Al het verkeer dat via eth0 en ip range 10.0.0.0/24 binnen komt, wordt geaccepteerd (er vanuit gaande dat dat verkeer 'veilig' is)
- Vannuit INPUT en FORWARD wordt uiteindelijk de table 'block' doorgenomen en hier wordt al het verkeer van buitenaf (via ppp0 dus) geblocked. Dit alles wordt tevens gelogd via sylog. Er zit een limiter op zodat een portscan of ping of death niet je logfiles vol spamt. De enige 2 uitzonderingen hierop zijn poort 22 (ssh) en 2064 (distrib-net).

Succes ermee! ( en ik ga nu op muggen jacht :( stom dat ik mn firewall voor mn raam niet dicht had gezet... :))

---
oh wacht, om ff je vraag te beantwoorden:
maak gewoon een cronsrippie voor root (crontab -e):
code:
1
2
3
0 2 * * * iptables -I INPUT -i eth0 -s 192.168.0.2 -j DROP

0 7 * * * itpables -D INPUT -i eth0 -s 192.168.0.2 -j DROP

btw, vergeet geen enter achter de laaste regel in je cronscript ;)
suc6

Verwijderd

Ik weet niet waarom je een iptables script plaatst, maar de topic starter gebruikt ipchains :?

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 09:49
Whoops... ik moet echt naar bed... dacht laat ik m ff helpen, maar met mn suffe kop lees ik er gewoon overheen... nou ja ik zal het laten staan in de hoop dat iemand er nog wat aan heeft...

Verwijderd

Op vrijdag 13 juli 2001 22:32 schreef Jelmer Barhorst het volgende:
[knip]

ohja, wat ie doet is het volgende:
- Al het verkeer dat naar buiten gaat over ppp0 wordt gemasqeerd (dit gebeurt bij jou in FORWARD, bij mij in PREROUTING)
- Al het verkeer dat via eth0 en ip range 10.0.0.0/24 binnen komt, wordt geaccepteerd (er vanuit gaande dat dat verkeer 'veilig' is)
Ik neem aan dat je hier POSTROUTING/SNAT i.p.v. PREROUTING/DNAT bedoelt :?

Verder had de topicstarter het over ipchains. hoe kom je erbij dat deze persoon over iptables beschikt en dus ook een kernel heeft, die daarvoor geschikt is.
Zeker als de stable-release van Debian nog een 2.2.X kernel hebben?
---
oh wacht, om ff je vraag te beantwoorden:
maak gewoon een cronsrippie voor root (crontab -e):
code:
1
2
3
0 2 * * * iptables -I INPUT -i eth0 -s 192.168.0.2 -j DROP

0 7 * * * itpables -D INPUT -i eth0 -s 192.168.0.2 -j DROP

btw, vergeet geen enter achter de laaste regel in je cronscript ;)
suc6
Ten eerste lijkt het mij verstandiger om voornamelijk OUTPUT verkeer te dropen ;)
Okee zonder INPUT verkeer werkt het natuurlijk ook niet, maar dit is een beetje een vreemde beredenatie. Nou kan opbouwend verkeer wel naar buiten, alleen replies worden geblocked.
Lijkt me verstandiger om voor zowel INPUT als OUTPUT een regeltje te maken voor het betreffende IP. Dit alleen voor verkeer dat op de firewall over de NIC/seriele verbinding gaat die in contact staat met de buitenwereld uiteraard.
Pagina: 1