Avatar billede dex_dexter Nybegynder
09. november 2002 - 12:15 Der er 67 kommentarer og
2 løsninger

lukke for visse ipere i gateway

jeg har en gateway, hvor på det ene netkort er internet og på det andet 10.0.0.0
jeg skal så have lavet det så kun fra 10.0.0.1-10.0.0.25 har adgang til internettet.

jeg har søgt på nettet, men jeg har stirret mig blind

/dex2k
Avatar billede al Nybegynder
09. november 2002 - 12:22 #1
gateway? er det en PC med win2k eller ligende? eller en hardware router? det er deri at opsætningen skal laves, så du må fortælle hvad du bruger.

og når du siger at det andet netkort har 10.0.0.0 så er det vel ikke den IP adresse du har angivet, men en IP der passer i det netværk?
Avatar billede dex_dexter Nybegynder
09. november 2002 - 12:23 #2
ehm... kig på kategorien
linux, debian
det er en debian maskine, jeg dropper et par porte osv i den gateway/firewall....
Avatar billede al Nybegynder
09. november 2002 - 12:26 #3
argh.. damit... ser først nu hvilke kategroi du har oprettet i :/
Avatar billede thomasledet Nybegynder
09. november 2002 - 13:35 #4
skal disse andre maskiner have adgang til noget som helst på din gateway? ellers kunne du bare blokke trafik fra disse ip'er i firewallen...
Avatar billede dank Nybegynder
09. november 2002 - 14:40 #5
iptables -A FORWARD -j ACCEPT -i eth0 -s 10.0.0.4 -d 10.0.0.0
iptables -A FORWARD -j ACCEPT -i eth0 -s 10.0.0.5 -d 10.0.0.0
iptables -A FORWARD -j ACCEPT -i eth0 -s 10.0.0.6 -d 10.0.0.0

utestet
Avatar billede dank Nybegynder
09. november 2002 - 14:42 #6
grom kode - dog overskuelig.. men der er vel ingen der forhindrer dig i at lave noget løkke værk.
Avatar billede dank Nybegynder
09. november 2002 - 14:45 #7
-d 10.0.0.0 skal vist ikke være der.. beklager... kan ikke tænke lige nu.. tømmermænd som bare pokker.
Avatar billede dex_dexter Nybegynder
09. november 2002 - 15:05 #8
gatewayen står som dhcp, så de skal have lov til at få en ip, men de skal ikke routes videre ud på det andet netkort
Avatar billede dex_dexter Nybegynder
09. november 2002 - 15:07 #9
thomas, du har fat i noget der, men hvordan gør jeg lige det?
Avatar billede dank Nybegynder
09. november 2002 - 15:08 #10
De linier jeg postede har intet med selve gateway'en at gøre. til det brues INPUT
Avatar billede dank Nybegynder
09. november 2002 - 15:10 #11
"skal disse andre maskiner have adgang til noget som helst på din gateway? ellers kunne du bare blokke trafik fra disse ip'er i firewallen..."

Eller sagt på en anden måde: Fjerne netkortet fra maskinerne da det ikke længere vil have nogen funktion.
Avatar billede dank Nybegynder
09. november 2002 - 15:16 #12
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Derudover sætter du din dhcp til at kun lytte på lan netkort

så har du lukket for alt fra LAN/WAN -> Gateway og din DHCP vil aligevel virke.
Avatar billede dex_dexter Nybegynder
09. november 2002 - 16:04 #13
hm.. de klienter der så alligevel skal have inet, hvordan med dem?
Avatar billede dex_dexter Nybegynder
09. november 2002 - 16:16 #14
jeg omformulerer lige spørgsmålet engang.
jeg har et iptables script der ser ud som følger

intip=10.0.0.1/24
iptables -F
iptables -t nat -F

echo 0 > /proc/sys/net/ipv4/ip_forward



iptables -I FORWARD -p udp --dport 27015 -j DROP

iptables -t nat -A POSTROUTING -d ! $intip -j MASQUERADE
iptables -A FORWARD -s $intip -j ACCEPT
iptables -A FORWARD -d $intip -j ACCEPT
iptables -A FORWARD -s ! $intip -j DROP
echo 1 > /proc/sys/net/ipv4/ip_forward


det router fra det ene kort til det andet
eth1=10.0.0.1
eth0=192.168.1.5

jeg skal have lavet det om sådan at det kun er 10.0.0.1-10.0.0.20 der kan routes igennem, og de andre bare blive dropped.
men dem der bliver droppet skal have adgang til serverens interne netkort, da den hoster web, dhcp og andet.

var det bedre?
Avatar billede dank Nybegynder
09. november 2002 - 18:21 #15
jeg prøver lige at skrive nogle linier senere, men indtil videre

1: Defualt policy bør sættes til DROP for mimimum INPUT & FORWARD
2: Der åbnes kun for de porte på gateway som er nødvendige (httpd+ftp???)
3: Forward ACCEPT på -s 10.0.0.1-24
4 Forward: ACCEPT på -d (iptables -A FORWARD -d $intip -j ACCEPT)
Avatar billede dank Nybegynder
09. november 2002 - 18:22 #16
#!/bin/sh

# iptables script generator: V0.1-2002
# Comes with no warranty!
# e-mail: michael@1go.dk

# Diable forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward

LAN_IP_NET='10.0.0.1/8'
LAN_NIC='eth1'
WAN_IP='192.168.1.5'
WAN_NIC='eth0'

# load some modules (if needed)
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# Flush
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# enable Masquerade and forwarding
iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE
iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Open ports on router for server/services
iptables -A INPUT -j ACCEPT -p tcp --dport 21

# STATE RELATED for router
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
Avatar billede dank Nybegynder
09. november 2002 - 18:23 #17
damn.... forkert script... Dette er genereret med mit lille projekt: http://iptables.linux.dk -

Glem lige ovenstående!!!
Avatar billede dank Nybegynder
09. november 2002 - 18:23 #18
#!/bin/sh

intip=10.0.0.1/24
iptables -F
iptables -t nat -F

echo 0 > /proc/sys/net/ipv4/ip_forward

modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# FORWARD
iptables -t nat -A POSTROUTING -d ! $intip -j MASQUERADE
iptables -A FORWARD -s 10.0.0.1 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -j ACCEPT
iptables -A FORWARD -s 10.0.0.3 -j ACCEPT
iptables -A FORWARD -s 10.0.0.4 -j ACCEPT
# o.s.v.

iptables -A FORWARD -s $intip -d $intip -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# INPUT
iptables -A INPUT -j ACCEPT -p tcp --dport 21
iptables -A INPUT -j ACCEPT -p tcp --dport 80
iptables -A INPUT -j ACCEPT -p tcp --dport 110
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
Avatar billede dank Nybegynder
09. november 2002 - 18:36 #19
Kommentar:

iptables -A FORWARD -s 10.0.0.1 -j ACCEPT

-> "åbn" for Intetnet for 10.0.0.1

iptables -A FORWARD -s $intip -d $intip -j ACCEPT

~> Åbn for alt forward på 10.0.0.0/255.255.255.0

utestet da jeg ikke lige har et setup jeg kan teste det på. og jeg har ikke rigtigt prøvet at lave noget i den retning før.. men jeg mener nok det skulle fungere.
Avatar billede dex_dexter Nybegynder
09. november 2002 - 19:45 #20
hey
det virker jo dank
alt bortset fra hvis de ikke har "internet access" har de heller ikke adgang til serveren... kan man ikke lave så alle har adgang til alle porte på serveren?
altså i
iptables -A INPUT -j ACCEPT -p tcp --dport 21
linjerne
Avatar billede dank Nybegynder
09. november 2002 - 20:15 #21
iptables -A FORWARD -s $intip -d 10.0.0.0 -j ACCEPT

sættes lige efter tilsvarende linie (den anden linie skal ikke fjernes)
Avatar billede dank Nybegynder
09. november 2002 - 20:16 #22
neeeeej :o) Jeg beklager virkeligt mine tømmermænd.. glem lige ovenstående indlæg
Avatar billede dank Nybegynder
09. november 2002 - 20:19 #23
jo vent.. prøv aligevel :o)
Avatar billede dank Nybegynder
09. november 2002 - 20:22 #24
"ikke lave så alle har adgang til alle porte på serveren?"

Tjaeee.. det kunne man da sikkert.. men hvad smart skulle der være ved det? :o) Jeg forstår ikke helt?
Avatar billede dank Nybegynder
09. november 2002 - 22:42 #25
iøvrigt: Smid lige

iptables -A INPUT -j ACCEPT -i lo

lige efter # INPUT
Avatar billede dex_dexter Nybegynder
10. november 2002 - 02:20 #26
se, alle skal have adgang til 10.0.0.1´s services... bla dns, osv osv osv.
men kun en vis range må kunne ud af huset...

kan du ikke lige sammensætte et helt script, for nu har dine tømmermænd vist ramt mig også
Avatar billede langbein Nybegynder
10. november 2002 - 02:54 #27
Dank -> Hvorfor bruker du denne ? "iptables -A INPUT -j ACCEPT -i lo"
(Hva blir egentlig effekten, er ikke sikker, bruker den ikke selv.)

Har forsøkt på alle måter nå i kveld om det skulle være mulig å spesifisere et intervall av ip adresser i en regel, men finner så langt ingen måte som fungerer. Man kunne tenke seg noe slikt som 192.168.02:192.168.0.25 men det fungerer ikke. Heller ikke 192.168.0.2, 192.168.0.3 og heller ikke to -s etter hverandre. Upraktisk at det skal være nødvendig med 25 regler for å åpne for 25 maskiner, men det ser da slik ut ??!

Det man der i mot kanskje kunne gjøre hvis det er snakk om to forskjellige grupper av maskiner med forskjellig type trafikk, det var å dele opp i to forskjellige nettverkssegmenter der firewall ikke bare får 2 men tre kort, et wan kort og to lan kort. Videre så kunne man da skreddersy regler som setter opp eller begrenser trafikken mellom de to lan segmentene og tilsvarende trafikken mellom de to lan segmentene og wan/internett.
Avatar billede dex_dexter Nybegynder
10. november 2002 - 03:04 #28
nu har jeg fået det til at virke, så svar lige  ;)
Avatar billede dex_dexter Nybegynder
10. november 2002 - 03:06 #29
langbien, forstår godt nok ikke særligt meget af hvad du skriver, men jeg kan ikke dele det op i segmenter, da det er maskiner der skal kommunikere internt sammen, men kun nogle må have internet.
Avatar billede langbein Nybegynder
10. november 2002 - 04:04 #30
dex_dexter -> de ville fortsatt kunne kommunisere med hverandre, men du ville kunne bestemme hvorledes og hvor mye. (Men det ville allikevell kunne bli nesten mer komplisert.)
Avatar billede langbein Nybegynder
10. november 2002 - 04:15 #31
Dank -> testet denne. Klarte først å stenge meg ute ved å sette output til DROP og fikk også all trafikk til å stanse fordi jeg glemte at jeg kommuniserte via ssh og at jeg hadde dns proxy på firewall. (He, he ..) Denne firewall har derfor fått et par ekstra åpninger, men bare et lite forslag om prinsipper der man i utgangspunktet ikke setter opp regler som ikke er bidireksjonale men som i stedet bare virker en veg (gir bedre kontroll synes jeg):


#!/bin/bash

# Load in extra kernel modules:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# Activate forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward

# Reset chains
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Sette policies (default rules):
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Open for local dns server.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Open for comunication from LAN to local firewall prosesses
iptables -A INPUT -i eth1 -j ACCEPT

# Establishing forwarding filtering rules, direction in from wan:
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Establishing forwarding filtering rules, direction out from lan:
iptables -A FORWARD -i eth1 -s 192.168.0.2 -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.0.3 -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.0.4 -j ACCEPT

# Establishing mechanism for SNAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Sakl man ellers ha en høyest mulig grad av sikkerhet så bør man vel sette output til drop og det bør heller ikke finnes noen serverfunksjoner på firewall. (Og da må man (inklusive hackere) jo sitte på console for å få gjort noe med den samme firewall.)
Avatar billede langbein Nybegynder
10. november 2002 - 04:20 #32
Dreier det seg om et firewall oppsett med 3 eller flere kort (og nettverkssegmenter) så spesifiserer man både -i og -o slik at man på denne måten kan kontrollere trafikken både mellom nettverkssegmentene og mellom lan nettverkssegmenter og wan.
Avatar billede langbein Nybegynder
10. november 2002 - 12:49 #33
dex_dexter -> Har tenkt på saken. Du har nok helt rett i at en løsning med 3 nettverkskort og 2 lan segmenter er en del mer vanskelig å programmere og vedlikeholde enn en løsning med bare 2 kort. På den annen side så kan man få til en løsning på denne måten som i mange tilfeller teknisk sett fungerer mere optimalt. Hvis man for eksempel på en web cafe har et anntall PC'er som brukes til spill så vil mange nettverksspill kunne generere en ganske stor trafikk på nettverket. Det vil da kunne være en ganske stor fordel "å stenge inne" denne lokale spill trafikken på et "spillsegment" i nettverket. På denne måten så kan man filtere ut den trafikken som er "lokal støy" fra nettverksspillene fra den kommunikasjon man ønsker skal bli transportert videre. En annen måte rent programmerings / konfigreringsmessig for å oppnå funksjonelt sett noenlunde det samme, det er ved å benytte 2 stk linux firewall. Først så plasserer man de tingene som genererer forholdsvis lite trafikk for eksempel ordinære internettmaskiner på lan rett innefor første firewall. "I enden av" det første lan så setter man opp en ny firewall (med ny snat, det fungerer helt fint) og her inne på det innerste segmentet så kjører man spill og slikt som genererer støy eller "spilltrafikk". Har forsøkt begge løsninger. Dobbelt firewall fungerer enklest og greiest synes jeg.
Avatar billede langbein Nybegynder
10. november 2002 - 12:52 #34
Hvis det bare dreier seg om firewalling og ingen ting annet så er en gammel pentium 166 lynkjapp.
Avatar billede dank Nybegynder
10. november 2002 - 13:36 #35
Jeg beklager meget jeg ikke har tænkt klart i denne weekend.. Første julefrokost satte sit tydelige præg med store tømmermænd (Langbeing: Tømmermænd=Giant Hangover :o)

Ovenstående fremgangsmåde er faktisk i princippet forkert. Det benytter Masquarade fremfor Source NAT. Masquarade bør kun benyttes i de tilfælde hvor man ikke kender IP adresser. og er derfor velegnet til f.eks. ISP med dial-in på flere net eller lign, men som skal routes ud gennem et specifikt netkort.

Istedet bør man benytte SNAT. Jeg har fremstillet et lille nyt script, som benytter Source NAT. Det vil i princippet sige, at der gives "fri FORWARD" for alle på LAN, men kun adresser 10.0.0.1-10.0.0.25 kan benytte SNAT hvis de forsøger at "snakke" gennem eth0.

Desuden har jeg åbnet for input til gatewar på alle porte og alle protokoller som ønsket.. Men det kan jeg ikke anbefale.
Avatar billede dank Nybegynder
10. november 2002 - 13:37 #36
#!/bin/sh

extip=192.168.1.5
intip=10.0.0.1/24

iptables -F
iptables -t nat -F

echo 0 > /proc/sys/net/ipv4/ip_forward

modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# FORWARD - tillader fuld forwarding på LAN siden
iptables -A FORWARD -s $intip -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Source NAT - Tillader NAT på 10.0.0.1-10.0.0.25
# Lav løkke istedet for at køre linien 25 gange
# Syntax: iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to $extip -s 10.0.0.[x]

X="1" && Y="26"
while [ ! "$X" = "$Y" ];  do
  iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to $extip -s 10.0.0.$X && X=$[X=X+1]
done

# INPUT

# Tillad "lan" at tilgå router på alle porte
iptables -A INPUT -j ACCEPT -s 10.0.0.0/24 -d 10.0.0.1

# Tillad trafik fra til lo/loopback/127.0.0.1
iptables -A INPUT -j ACCEPT -i lo

# Tillad "outside" world at tilgår web, ftp, o.s.v.
iptables -A INPUT -j ACCEPT -p tcp --dport 21
iptables -A INPUT -j ACCEPT -p tcp --dport 80
iptables -A INPUT -j ACCEPT -p tcp --dport 110
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
Avatar billede dank Nybegynder
10. november 2002 - 13:39 #37
SNAT kæden kan testes med

iptables -L -t nat

og skulle gerne give noget i retning af:

Chain POSTROUTING (policy ACCEPT)
target    prot opt source              destination
SNAT      all  --  10.0.0.1            anywhere          to:192.168.1.5

ovenstående script er kun testet for syntax fejl og ikke funktionalitet.. men jeg tror nu nok det virker :o)
Avatar billede langbein Nybegynder
10. november 2002 - 17:12 #38
Hei Dank !

Forøkte å teste scriptet ditt, men fikk det foreløpig ikke til å kjøre her av ukjent grunn. Vil forsøke å få det til å kjøre.

Dette med å kjøre løkke for å få til en serie med ip adresser, det var da utrolig fikst hvis det bare fungerer.

Når det gjelder bruken av snat / masquerade og dnat, så vet jeg ikke om jeg er 100 % enig med deg.

Man kan vel sammenlikne snat / masquerade og dnat kommandoene med en "pumpe" som setter i gang eller initierer en datastrøm, altså et slags "aktivt element" i data flowen. Disse kan i utgangspunktet "pumpe" data gjennom firewallen.

Input chain og output chain og forward chain fungerer som rene filtere eller passive elementer i firewall.

Når man benytter snat eller dnat, så er det i prinsipp to måter man kan gjøre det på. Enten så kan man sette opp snat eller dnat regler som virker over et bredt spekter av porter eller alle sammen som i utgangspunktet "pumper gjennom" hele datastrømmen. Der etter så setter man på et filter, typisk en forwarding rule som filterer vekk den datastrømmen som man ikke ønsker. Alternativt så kan man utforme "pumperegelen" slik at den kontrollerer og bare tar tak i de riktige ip pakkene slik som du har gjort i ditt script.

Det som er mest vanlig det er vel at man bruker prinsippet med å "pumpe" alle data for dataflowen ut, dvs i forbindelse med bruk av snat og masquerade, og så der etter i tillegg så setter man på en filteringsmekanisme etter behov ved hjelp av forward chains. Ved å spesifisere en eller to nettverksadaptere i disse reglemne så kan man spesifisere hvilken vei filterregelen skal virke.

Når det der i mot gjelder dnat, altså "pumping" av data inn gjennom firewall, så er det vel mere vanlig at man lar disse "pumpereglene" virke selektivt slik at man bare sender gjennom visse porter, de som skal inn på lan. Alternativt så kunne man vel rent teknisk ha "pumpet inn" samtlige porter og så brukt forwarding filtering rules som "passivt element" for å begrense dataflowen.

Når det gjelder snat og masquerade, så er det vel rett at masquerade i utgangspunkter er ment til dial up forbindelser og slikt. Rent funksjonelt så er det vel ikke den store forskjell på hvordan disse reglene fungerer i praksis, bortsett fra at masquerade gir enklere konfigurering. (Mener jeg etter å ha forsøkt å teste litt på akkurat dette.)

Synes det er  et greit og oversiktelig prinsipp å bruke et regelsett der man i utgangspunktet dnatter en og en port inn mens man snatter eller masquerader hele datastrømmen ut, med etterfølgende filtrering etter behov. Vanligvis så er jo filtreingsbehovet større for inngående enn utgående trafikk. Ønsker man å bruke flere "snatteregler" som "pumper" data for en og en maskin eller en og en port så kan man vel saktens også det, hvis man foretrekker det.
Avatar billede langbein Nybegynder
10. november 2002 - 17:24 #39
Hva er forskjellen på Windows 2000 server og Linux ? Jo, hos Windows 2000 så kan man få lov til å sette et kryss i en boks, og så er det hemmeligheten til Bill Gates og Steeve Balmer å vite hva som skjer etter dette. I linux så lager man det hele selv.
Avatar billede langbein Nybegynder
10. november 2002 - 17:26 #40
... og dessuten så slipper man en gjeng med havfete amerikanere som løper etter en med sin kollktbøsse.
Avatar billede langbein Nybegynder
10. november 2002 - 17:59 #41
#!/bin/bash

# Script slightly stolen from Dank with guarantied
# absolutely no inspiration from Microsoft.

# Load in extra kernel modules:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ip_conntrack

# Activate forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward

# Reset chains
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Sette policies (default rules):
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Open for local dns server.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Open for comunication from LAN to local firewall prosesses
iptables -A INPUT -i eth1 -j ACCEPT

# Establishing forwarding filtering rules, direction in from wan:
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Establishing forwarding filtering rules, direction out from lan:
X="2" && Y="26"
while [ ! "$X" = "$Y" ];  do
  iptables -A FORWARD -i eth1 -s 192.168.0.$X -j ACCEPT && X=$[X=X+1]
done

# Establishing mechanism for SNAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Avatar billede langbein Nybegynder
10. november 2002 - 18:04 #42
[root@arne /]# iptables -L
Chain INPUT (policy DROP)
target    prot opt source              destination
ACCEPT    all  --  anywhere            anywhere          state RELATED,ESTABLISHED
ACCEPT    all  --  anywhere            anywhere

Chain FORWARD (policy DROP)
target    prot opt source              destination
ACCEPT    all  --  anywhere            anywhere          state RELATED,ESTABLISHED
ACCEPT    all  --  192.168.0.2          anywhere
ACCEPT    all  --  192.168.0.3          anywhere
ACCEPT    all  --  192.168.0.4          anywhere
ACCEPT    all  --  192.168.0.5          anywhere
ACCEPT    all  --  192.168.0.6          anywhere
ACCEPT    all  --  192.168.0.7          anywhere
ACCEPT    all  --  192.168.0.8          anywhere
ACCEPT    all  --  192.168.0.9          anywhere
ACCEPT    all  --  192.168.0.10        anywhere
ACCEPT    all  --  192.168.0.11        anywhere
ACCEPT    all  --  192.168.0.12        anywhere
ACCEPT    all  --  192.168.0.13        anywhere
ACCEPT    all  --  192.168.0.14        anywhere
ACCEPT    all  --  192.168.0.15        anywhere
ACCEPT    all  --  192.168.0.16        anywhere
ACCEPT    all  --  192.168.0.17        anywhere
ACCEPT    all  --  192.168.0.18        anywhere
ACCEPT    all  --  192.168.0.19        anywhere
ACCEPT    all  --  192.168.0.20        anywhere
ACCEPT    all  --  192.168.0.21        anywhere
ACCEPT    all  --  192.168.0.22        anywhere
ACCEPT    all  --  192.168.0.23        anywhere
ACCEPT    all  --  192.168.0.24        anywhere
ACCEPT    all  --  192.168.0.25        anywhere

Chain OUTPUT (policy ACCEPT)
target    prot opt source              destination
Avatar billede langbein Nybegynder
10. november 2002 - 18:06 #43
[root@arne /]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target    prot opt source              destination

Chain POSTROUTING (policy ACCEPT)
target    prot opt source              destination
MASQUERADE  all  --  anywhere            anywhere

Chain OUTPUT (policy ACCEPT)
target    prot opt source              destination
Avatar billede dank Nybegynder
10. november 2002 - 18:14 #44
Vedrørende: iptables -A INPUT  -i lo -j ACCEPT

Årsagen til denne er at mange services oftest er bundet til 127.0.0.1. eksempler på disse er f.eks. en SMTP server som kun må benyttes fra localhost. Så kan man faktisk have lukket port 25 på routeren og ovenstående iptables lilie vil gøre, at denne stadig fungerer fra f.eks. PHP scripts eller lign. Det kunne også være MySQL servere eller lign.

Denne udgør ikke den store sikkerhedsrisiko, så jeg mener den er "som oftest god at have med i sit script.

Med hensyn til: løkke funktion i script.
Løkken virker fint på min computer. har du prøvet at teste om den opretter regelserne? Husk at ekstern ip adresse er din *globale ip* adresse.. hvis du har dobbelt firewall er det den ip adressen som firewall1 har fået af din isp.. ellers vil sourca nat ikke fungere.

# iptables -L -t nat

Hvad si'r denne, efter du har kørt løkken?

Mht til at benytte Masquarade eller SNAT - så er der absolut intet smart ved at benytte Masquarade. Problemet er at når man snakker firewall/router så gælder det i princippet om at forhindre/minimalisere misbrugs muligheder.

Dex_Dexter skriver jo: "eg skal så have lavet det så kun fra 10.0.0.1-10.0.0.25 har adgang til internettet."

Ved at benytte Masquarade så for alle maskiner der kan tilgå eth0 lov til at gå på nettet. Dette er forkert.

Hvis Dex's spørgsmål havde været "Alle maskiner skal på nettet" så havde Masquarade været ok.. Men så skal man være opmærksom på at alle maskiner menes der *alle*
Avatar billede langbein Nybegynder
10. november 2002 - 18:22 #45
Scriptet over er lagt ut eksakt slik som det er testkjørt uten endringer. Man må korrigere for at man benytter 10.0 serien med ip adresser internt i stedet for 192.168 serien slik som det er brukt i scriptet. Likeledes så kan man ta bort eller endre på de tingene som har med min lokale dns proxy å gjøre.

Designmessig og funksjonelt så bygger dette scriptet på det nær motsatte prinsippet i forhold til Dank sitt script. I dank sitt script så "snatter" man i prinsipp en og en datamaskin via et sett med snat rules. I mitt script så snatter man i utgangspunktet samtlige maskiner ved hjelp av en enkelt masquerading setning og så filtrerer man ut den uønskede trafikken, eller rettere sagt man åpner faktisk for den ønskede trafikken via et sett med forward filtering rules. Det er ikke slik at den ene måten kan fungere og den annen ikke. Begge deler kan fungere, slik at det blir nærmest en smakssak hva man synes gir den beste oversikt og logikk. Skulle det være noen forskjell i ytelse så skulle man kanskje tro at Dank sin løsning ville være den beste, men jeg tviler vel på om denne forskjellen kan måles eller merkes. (?)

Prinsippet om å lage firewaling eller filtering rules ved å kjøre en løkke slik at man kan få dekket inn for eksempel en serie med ip addresser, det har jeg aldri sett før.

Dank -> Hvordan i alle dager klarte du å finne på dette ?? Ligger det noen beskrivelse på nettet eller .. ??!!
Avatar billede langbein Nybegynder
10. november 2002 - 18:26 #46
Vedrørende: iptables -A INPUT  -i lo -j ACCEPT

Jeg trodde at det fungerte slik som default og uansett og at det derfor ikke var nødvendig å ta med denne setningen, men sikker er jeg ikke.
Avatar billede dank Nybegynder
10. november 2002 - 18:31 #47
vedr.: INPUT -i lo

Ja hvis man har input accept så gør det vel.. men ellers ikke.. input DROP lukker vel i princippet for alt. derfor også denne veien.. ellers skulle jeg mene det var en fejl i iptables.

"Dank -> Hvordan i alle dager klarte du å finne på dette ?? Ligger det noen beskrivelse på nettet eller .. ??!!"

- Efter den gang hvor du forklarede omkring iptables grundprincippet med de forskellige kæder, så forstod jeg det og siden da har jeg læst lidt på www.netfilter.org :o)
Avatar billede dank Nybegynder
10. november 2002 - 18:34 #48
arrrgh!

Har lige kommet i tanke om en sikkerheds risiko ved disse scripts.. Hvis f.eks. en bruger med 10.0.0.200 skifter ip til f.eks. 192.168.0.20 så har vedkommende faktisk adgang til internettet....

Dette må kunne løses med modprobe ipt_mac
og så tilføje noget MAC adresse testing...

jeg vender lige tilbage om lidt.. skal lige finde en løsning.
Avatar billede dank Nybegynder
10. november 2002 - 18:35 #49
fra 10.0.0.200 ---> 10.0.0.10

mente jeg :o)
Avatar billede langbein Nybegynder
10. november 2002 - 18:43 #50
Dank -> Fuksjonelt og utad så skal de to firevall scriptene virke likt, selv om den "innvendige virkemåten" faktis er nesten motsatt. Jeg har heller ikke satt opp åpninger til eventuelle lokale web servere og slikt, fordi jeg regner dette som "rutine" og fordi jeg la ut scriptet slik som testkjørt.

Begge scripten skal imidlertid virke likt "utad" slik at de bare tillater trafikk ut fra en bestemt ip adresse serie. Måten dette skjer på er som sagt forskjellig. Hos meg så skjer det ut fra et sett med forward filtering rules som setter opp denne begrensningen og hos deg ved hjelp av et sett med snat rules som virker selektivt for den enkelte avsender ip.

Smak og behag ... Begge deler kan fungere.

Omkring den siste .. MAC adresse, jo det går vel ann å teste på fysisk kort adresse, men blir ikke det "vel kraftig" med mindre kravet til sikkerhet er meget stort ? Det vil vel ellers være slik at den som "tar" en lovlig adresse vil komme ut på nettet. Man kan jo ellers også sette restriksjoner på klientene slik at de ikke kan skifte adresse.
Avatar billede dank Nybegynder
10. november 2002 - 18:43 #51
Langbein.. dit sidste script vil ikke virke. Fordi du har kun forward på 10.0.0.1-25 og ikke resten af 10.0.0.* Derfor vil disse maskiner ikke kunne se hindanden på LAN
Avatar billede dank Nybegynder
10. november 2002 - 18:45 #52
Mht til MAC: Jo det giver stor sikkerhed.. Men jeg troede at dex_dexers script var til f.eks. en skole eller institiion.. hvis dette er tilfældet vil det ikke tagle lang tid for en 12 årig skolelev at "hacke" sig igennmem til internettet :o)
Avatar billede langbein Nybegynder
10. november 2002 - 18:52 #53
"Langbein.. dit sidste script vil ikke virke. Fordi du har kun forward på 10.0.0.1-25 og ikke resten af 10.0.0.* Derfor vil disse maskiner ikke kunne se hindanden på LAN"

Feil mener jeg. Forwarding filtering rules virker bare inn på trafikken mellom lan og wan. De vil ikke ha noen effekt for den interne trafikken på lan. Alle maskinene på 10.0.0.* vil kunne se hverandre.
Avatar billede langbein Nybegynder
10. november 2002 - 18:55 #54
Deler man der i mot opp nettverket i flere nettverkssegmenter slik at man router trafikken mellom segmentene via Linux firewall/router da vil der i mot forwarding filtering rules ha effekt. Dette er ikke tilfellet her.
Avatar billede dank Nybegynder
10. november 2002 - 18:58 #55
"Feil mener jeg. Forwarding filtering rules virker bare inn på trafikken mellom lan og wan. De vil ikke ha noen effekt for den interne trafikken på lan. Alle maskinene på 10.0.0.* vil kunne se hverandre."

- Hvordan skal de kunne se hindanden hvis ikke der er forwarding tilladt? Som udgangspunkt er FORWARD DROP - derefter åbnes for 10.0.0.1-25, men ikke mere end det.. det vil sige at 10.0.0.25-255 ikke vil kunne FORWADE gennem routeren..

Det kræves f.eks.

iptables -A FORWARD -s $intip -d $intip -j ACCEPT
Avatar billede dank Nybegynder
10. november 2002 - 19:09 #56
Jeg har her en helt anderledes approac til tingene:

while read VAR; do
echo "iptables -A FORWARD -i eth0 -m mac --mac-source $VAR -j ACCEPT"
done < /home/test/mac

Opret dernæst en fil - i dette tilfældet /home/test/mac denne fil indeholder

00:00:00:00:00:01
00:00:00:00:00:02
00:00:00:00:00:03

Bemærk at det er eth0 jeg benytter.. Dernæst åbnes for alt LAN trafik på eth1

iptables -A FORWARD -i eth1 -j ACCEPT
Avatar billede dank Nybegynder
10. november 2002 - 19:10 #57
p.s. kræver modprobe ipt_mac og dette modul er medtaget under fremstilling af kerne
Avatar billede dank Nybegynder
10. november 2002 - 19:10 #58
p.p.s. Echo " " skal fjernes fra scriptet hvis det skal virke i virkeligheden.. det er der kun nu, pga af debugging.
Avatar billede dank Nybegynder
10. november 2002 - 19:16 #59
Teorien bag denne metode er således

Lan Trafik ---> router/eth1
Avatar billede dank Nybegynder
10. november 2002 - 19:18 #60
Lan Trafik ---> router/eth1
                    |
                    |
          Skal trafikken holdes på eth1 (LAN) så --->  iptables -A FORWARD -i eth1 -j ACCEPT
                    |
                    |
          Skal trafikken videre "ud" på nettet
                    |
                    |
          echo "iptables -A FORWARD -i eth0 -m mac --mac-source $VAR -j ACCEPT"
        (match mod mac adresse - accept hvis mac adresse kører)
Avatar billede dank Nybegynder
10. november 2002 - 19:19 #61
Igjenn må jeg sige, at dette er absolut utestet teori - men jeg formoder det vil virke i praksis :o)
Avatar billede langbein Nybegynder
10. november 2002 - 19:50 #62
Ja, dank, du er en av de her på eksperten Linux det virkelig går an å diskutere med. Mange andre forstår jo hverken norsk ..

Akkurat i dette enkle tilfellet så mener jeg at du tar litt feil.

"- Hvordan skal de kunne se hindanden hvis ikke der er forwarding tilladt? "

Fordi en firewall mellom lan og wan vanligvis ikke foretar noen firewalling eller filtrering i forhold til den trafikk som skjer inne på lan. Firewall blir overhodet ikke spurt, derfor behøves ingen regler som tar vare på dette.

Tenk deg en praktisk virkelighet. Man har en firewall maskin som på den ene siden er knyttet opp mot internett. På den annen side så er den knyttet opp mot en hub eller en switch. Til denne hubben eller switchen er lan koplet opp. Firewall vil ikke ha noen inflytelse over den trafikken som skjer over denne innvendige hub eller switch. Denne trafikken vil flyte fritt mellom de innvendige maskinene på lan uten at firewall kan gjøre noe fra eller til i forhold til dette.

"Skal trafikken holdes på eth1 (LAN) så --->  iptables -A FORWARD -i eth1 -j ACCEPT"

Nei, dette blir firewall mellom lan og wan i prinsipp aldri spurt om, så den vil hverken ha noen mulighet til å godkjenne eller stanse en slik trafikk. De innvendige lan maskinene som er koplet opp mot en felles switch eller en felles hub vil kunne kommunisere fritt med hverandre uten at dette involverer firewall til den utvendige verden på noen måte.

Når det gjelder MAC adresser, så mener jeg å vite at dette i prinsipp er mulig, men jeg har aldri prøvd.
Avatar billede dank Nybegynder
10. november 2002 - 19:57 #63
ja det kan jeg da egentligt godt se nu.. jeg er måske blevet så fokusert på selve routeren, at jeg glemmer switch/hub - selvfølgelig vil dette kunne lade sig gøre.. Jeg tog feil.

Svarer lidt til at hvis jeg helt fjerne min gateway, så vil maskinerne jo stadig kommunikere, bare det ellers har samme net/mask

Jeg har i mellemtiden testet på MAC adresser.. dette virker fint.. dog skal det så laves på en lidt anden måde end jeg forslog tidligere, idet jeg lidt havde glemt det med FORWARDING på lokalt net.

:o)
Avatar billede dank Nybegynder
10. november 2002 - 19:58 #64
Alt i alt - endnu en lærerig iptables snak :o)
Avatar billede langbein Nybegynder
10. november 2002 - 19:59 #65
Trafikk på lan sin ipserie og lan sitt nettverkssegment blir ikke filtrert via firewall, med mindre det da dreier seg om flere separate nettverkssegmenter, med hver sin ip adresse serie, der disse lan segmentene blir bundet sammen komunikasjonsmessig via lokale firewall/routere. Dette er ikke tilfellet her.
(Jeg foreslo faktisk akkurat dette et sted oppe i her, men fant ut at det ville bli for komplisert, så jeg gikk bort fra denne muligheten.)
Avatar billede langbein Nybegynder
10. november 2002 - 20:04 #66
Ja i lige måde .. Det der med å kjøre en loop for å generere regler det hadde jeg aldri tenkt på, (fordi det var jeg helt sikker på ikke kunne gjøres), men der tok jeg feil (heldig vis :-)

Når det gjelder denne MAC muligheten, gidder du å legge ut lit info hvis det kjører. Har som sagt aldri prøvd.
Avatar billede dex_dexter Nybegynder
10. november 2002 - 21:26 #67
scriptet skal bruges til en ungdomsklub, hvor vi tit og ofte holder netparty, det er så kun dem som "står for partyet" der har internet adgang, eller hvis der er nogen der mangler drivere osv.
jeg har modificeret dit script lidt, isteder for løkken har jeg lavet et lille perl interface til at adde og remove adgang til internet, men har tænkt på det samme som dig med mac også.
jeg har i alt fald også fået lært noget iptables, jeg har lidt basis kundskab, men jeg fik ikke lige sovet de sidste par dage så den logiske tankegang var lige gået fløjten, også derfor jeg kom til at flame lanbien lidt, det må du undskylde ;)
jeg smider scriptet samt det perl script herind engang når jeg får det hele lavet som jeg vil have det ;)
takker for hjælpen
btw det er en 66 mhx med 16 mb ram der står som gateway, og den klarer det just fine.
Avatar billede dank Nybegynder
10. november 2002 - 21:30 #68
Jeg tror også du er nød til at integrere MAC løsningen.. ellers er der hurtigt nogen der finder ud af det, og misbruger det :o)

Post gerne dit script når du er færdig.
Avatar billede langbein Nybegynder
11. november 2002 - 01:21 #69
Syntaksen til MAC rules skal se visst slik ut:

iptables -A FORWARD -i eth1 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT

For en Linux så kan man jo finne MAC adressen ved å kjøre ifconfig, men en Windows ?? Det kunne selvfølgelig være mulig å sette kortene midlertidig inn i Linuxen for sjekk. Andre måter ??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester