22. maj 2002 - 23:04Der er
40 kommentarer og 1 løsning
FTP Access
Jeg har en firewall sat op med IPTables, som kører ok - men jeg har følgende problem: Man kan ikke få adgang til min FTP udefra, man kan forbinde men ikke få directory listing eller noget som helst.
Jeg er godt klar over at FTP er meget usikkert at køre udefra sit lokale netværk, men jeg har brug for at køre det.
Hvilke kommandoer skal jeg køre på min IPTables for at give adgang til min FTP?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Kjør følgende kommandoer og legg ut det svaret som kommer: "iptables -L" "iptables -t nat -L" Det gir en bedre satus for din firewall.
Når det gjelder den ftp server som skal nås, ligger den på selve firewall maskinen eller på en egen server innefor firewall ? (Framgangsmåten blir en del forskjellig av hengig av hvor ftp server kjører.)
FTP serveren ligger på samme maskine... Jeg har også problemer med at modtage filer via. ICQ, eDonkey og mIRC... Der har jeg så forsøgt at DNAT'te portene: 4661,4662,4663,4664,4665,4667 - men jeg kan stadig ikke modtage filer.
Helt ærlig .. synes ikke dette ser ut til å henge helt sammen. Først så setter du policy til DROP slik at alle porter lukker, så i neste så åper du alle porter to ganger:
Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere
Der etter så følger en hel del regler som muliggens ikke har noe funksjon.
Skal ICQ osv kjøre på samme maskin ? I så fall så skulle ikke DNAT ha noen mening, vil jeg mene. (Forwarding til server bak firewall.)
Hvordan har dette (firewallen) blitt blitt satt opp, ved hjelp av grafisk konfigureringsverktøy eller hva ?
Synes det likner litt at du har behov for å sette det hele opp på nytt.
Ja, det er vist noget skidt det jeg har sat op her.
Jeg har min server som skal fungere som router/firewall, webserver og ftpserver.
Den har 2 netkort det ene er internet (eth0) det andet er lokalnet (eth1).
Der skal være plads til mange computere på mit netværk.
På de andre computere har jeg brug for at kunne køre de mest almindelige ting (www, ftp, irc osv.), men der er også nogen på netværket der ønsker at køre eDonkey, Kazaa ol. - Det kører skam også udemærket så længe at man ønsker at hente filer fra andre, men lige så snart at andre ønsker at hente filer fra folk på netværket, så lukker det til. Det samme gælder for ICQ.
Kan du hjælpe mig med at sætte min firewall op? Hvis du kan levere et script som kan få det hele til at fungere 100% korrekt, så kan jeg godt afsætte ekstra point til dig.
Noe av det du spør etter er ganske realistisk og standard å sette opp. Andre ting har en litt usikker status. (eDonkey, Kazaa) Vet ikke hva dette er. Hvis det dreier seg om ting som kjører fra innsiden av nettverket og ut så kan det vel kanskje gå bra. Skal forsøke å se på tingne og legge ut et par forslag. Når du legger ut den virkelige ip sammen med en opplysninger om firewall så kan det bli litt enkelt for hackere. Hvis det bare er en server for uttesting så spiller det vel kanskje ikke så stor rolle. Hvis det dreir seg om en dynamisk ip som du kan skifte ut så er det jo også så og si problemfritt.
FTP server på firewall maskin: ok (Ikke en sikkerhetsmessig optimal løsning, men for testing ok. Web server på firewall maskin: ok. Web browsing og ftp fra innvendige workstations og ut til omverdenen: ok irc innefra og ut pleier også å gå bra.
Dersom det er snakk om å sette opp server funksjoner på innvendige workstations så kan dette ha en mer usikker status, dvs det vil kunne kreve ganske mye utvikling og uttesting.
(De tingene som er "standard" kan stort sett hentes ut av håndbøker. De tingene som ikke står beskrevet noen steder må kanskje utvikles linje for linje og det kan ta dager og måneder før det kjører som det skal.) (Diskuterte med en som hadde skrevet en bok om Linux firewall. Han hadde brukt ca 6 mnd på heltid bare for uttesting, og det meste som står i boken hans er faktisk forholdsvis ordinære ting.)
Å få de ordinære standard ting til å fungere er en ting. Å skreddersy mere spesielle ting for "å få det hele til å kjøre 100% korrekt" det kan fort komme til å dreie seg om ganske mye tid og uttesting.
Det du nevner om å ha mange PC er på nettverket er problemfritt. Det er en standard ting så lenge det dreier seg om standard funksjoner.
Skal forsøke å få sett litt på dette. Har firewall bøkene hjemme. Hvis man bygger opp tingene trinn for trinn så kan man saktens få det til å fungere. Problemet for enkelte som har lagt ut spørsmål her tidligere det har vært at de har ønsket å få alle mulige ting til å fungere samtidig ut i fra null jobbing. Vil forsøke å legge ut noen forholdsvis enkle eksempelscript som fikser de grunnleggende tingene.
Det er skam ikke fordi at jeg ikke har brugt tid på det her... Jeg har selv sat mig ind IPchains, men så mente jeg at jeg ville udvide min horisont + at jeg mente ikke at det kørte optimalt.
Jeg har også haft en udemærket firewall til at køre, som virkede ganske udemærket med de mest almindelige ting, men udefrakommende havde ikke adgang til min FTP, hvilket er altafgørende. Jeg har behov for at kunne give min makker adgang til en række filer i forbindelse med et projekt jeg arbejder på som skal være færdigt om ganske kort tid.
Så det er skam ikke fordi at jeg ikke har tålmodighed til at sætte mig ind i tingene - Jeg er bare forholdsvis newbie på linux platformen og har, hvis jeg selv skulle sige det udviklet min viden på det område enormt meget indenfor de sidste 2 måneder.
Men jeg håber at du kan give mig et godt bud på en konfiguration.
Hihi - Når serveren på den måde er bag firewall, skal ftp-klienten som bare sættes til at køre i passiv istedet for aktiv. Dette er som regel under indstillinger for proxy
"Hihi - Når serveren på den måde er bag firewall," Det stemmer muliggens ikke helt. Hvis man er bak firewall og firewall er satt opp med snat (source nat) så stemmer det, men der er vel foreløpig ikke tilfellet. Firewallen inn til server har foreløpig en noe uklar status og da kan man til tider tilfeldigvis få hva som helst til å fungere. Dette gir dog ikke en sikkerhet på et "ordinært nivå". Vil forsøke å legge ut de grunnleggende tingene trinn for trinn. Det finnes ellers også eksempelscript man kan se på: http://www.linuxguruz.org/iptables/
Den er god nok - Hvis du bare åbner for port 21 (data control) og port 20 (aner det ikke - men skal bruges til ftp), så virker det ikke medmindre du er i passiv (og altså ikke bruger PORT-kommandoen).
Passive mode og active mode ftp er vel bare en liten del av den totale problemstilling rundt det å sette opp en Linux firewall med et ok sikkerhetsnivå ? Hvis firewall i utgangpunktet har et noe problematisk oppsett så må man vel først "rydde opp" litt og få det hele "på spor" før man begynner å jobbe med detaljer rundt det å åpne for de forskjellige porter og/eller services ?? swiff -> Det kan godt være det er rett det du sier (husker ikke), men sammenhengen ..
Nu er det lidt svært for mig at teste om min FTP er tilgængelig udefra, men jeg har lavet PHP script som jeg har uploadet på en anden server som jeg har til at tjekke om det kan logge ind, det kan det godt, men det kan stadig ikke få directory listing.
Hvad er det forskellen er på active og passive FTP adgang?
active, er når ftp-serveren har "lov" til at åbne en port over 10000 (tror det er 10000). Passiv, er hvis ftp-serveren kun bruger port 20+21 (standard)
active og passive ftp mener jeg har å gjøre med rollefordelingen mellom klient og server hvem som er "den aktive part" og så og si "kontrollerer trafikken". Det er godt mulig at det benyttes forskjellige porter.
1. Klient: Sender request til port 21 hos på server. 2. Server: Sender svar fra port 21 på server til port høyere enn 1024 hos klient. 3. Server: Sender nytt svar fra port 20 til port h e 1024 hos Klient. 4. Klient: Sender svar til port 20 på server.
Passive mode ftp: 1. Klient: Sender request til port 21 på server. 2. Server: Sender svar til port høyere enn 1024 hos klient. 3. Klient: Sender ny request til port høyere enn 1024 hos server. 4. Server: Sender svar tilbake til port høyere enn 1024 hos klient.
En ting jeg er litt usikker på: Blir alle port høyere enn 1024 adresseringen satt til en vilkårlig port hos klient / server. Har ikke lest særlig grundig om dette, men tror at porten settes vilkårlig, altså ingen fast eller forutsigbar port.
# Diverse aapninger i input chain iptables -A INPUT -p tcp -dport 20 -j ACCEPT iptables -A INPUT -p tcp -dport 21 -j ACCEPT iptables -A INPUT -p tcp -dport 80 -j ACCEPT iptables -A INPUT -p tcp -dport 1024:65535 -j ACCEPT
# Deling av statisk internettforbindelse: iptables -t nat -A POSTROUTING -0 eth0 -j SNAT --to-source <ekstern ip>
sorenmh -> kan du testkjøre litt og legge en beskjed !?
Firewall over er ikke spesiel sikker men mer enkel og funksjonell, noe å komme i gang med.
Forutsetninger: 1. Statisk ekstern ip. 2. Web server og ftp server på firewall maskin. (Ikke en sikkerhetsmessig god løsning men for testing og læring ok) 3. Internett brukere bak firewall som deler felles internettlinje.
"CONNECTION_TRACKING = 1" Nei, jeg fatter den ikke helt selv heller. Den finnes på en firewall som jeg har kjørende og den er opprinnelig hentet fra boken: Robert Ziegler, second editoin. Det er sannsynligvis bare en variabel som i dette scriptet ikke har noen funksjon, slik at den kan utgå. (En ubrukt variabel skulle vel på den annen side ikke medføre noen problemer ?) Husket ikke sikkert, så jeg lot den stå. Skal forsøke å få tid til å kjøre testing av scriptet i dag. Jeg vil tro at den største sikkerhetsmessige svakhet ligger i mangelen på kontroll av utgående trafikk. Det kan imidlertid "bygges ut" eller legges til etter hvert. Er heller ikke helt bombe sikker på om du behøver å kjøre: "modprobe ip_conntrack_ftp". Det kommer vel an på hvordan kernel er kompilert hvovidt det er behov for dynamisk loading av denne kernel modulen. (Dette står i min firewall som kjører på Red Hat 7.2) Ellers litt å la seg inspirere av: http://www.linuxguruz.org/iptables/ Vil forsøke å få kjørt eksempel/start firewallen i løpet av dagen, og eventuelt rette opp feil.
Har akkurat testkjørt denne (Det var skrivefeil i den over.) Web og FTP access fungerer. Har bare testet ftp i passive mode. Av en eller annen grunn så kjører ftp påloggingen ganske seint, men den fungerer. "CONNECTION_TRACKING = 1" er tatt vekk. Har ikke testet snat setningen (på grunn av at jeg tester på en server som står bak en egen firewall maskin.) Sjekker hvordan den er satt opp på firewall maskinen.
Altså testet og virker (copy - paste):
#!/bin/bash
# Sette til forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
# Laste ekstra kernel modul for ftp modprobe ip_conntrack_ftp
# Bruker denne i en firewall, men m?den v?e der ? # CONNECTION_TRACKING=1
Med tillegg for delt internett forbindelse: (Hvorfot ftp pålogging passive mode kjører så langsomt det vet jeg ikke helt, men tror active mode kjører greit nok. Kan du teste det ?)
#!/bin/bash
# Sette til forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
# Laste ekstra kernel modul for ftp modprobe ip_conntrack_ftp
Kjør også kommandoer "iptables -L" og "iptables -t nat -L" Og sjekk at du har fått opp riktige firewall rules. Den første gir status for trafikk til fra firewall / server maskinen. Den neste gir status for trafikk til fra servere/arbeidstasjoner bak firewall. Legg ut status her, men rediger gjerne om den eksterne ip slik at denne er "anonymisert" av hensyn til eventuelle hackerangrep.
Det viser seg at CONNECTION_TRACKING ikke er en deklarert variabel, men en systemvariabel. Har ikke helt 100% oversikt over bruken men syntaks er slik CONNECTION_TRACKING="1" Mulig at det får opp speeden på ftp pålogging litt. (og Ziegler bruker den i boken sin) Scriptet blir da:
#!/bin/bash
# Sette til forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
# Laste ekstra kernel modul for ftp modprobe ip_conntrack_ftp
# Saa den mystiske sysemvariabel CONNECTION_TRACKING="1"
Har testkjørt litt mere og funnet ut av den langsomme ftp påloggingen: Det kjører nå 100 % både i passive og active ftp mode. (Web server har hele tiden kjørt ok)
Grunnen til at tingene kjørte dårlig viste seg å være:
1. Banalt nok: Jeg hadde glemt å sette opp web browser til å kjøre i passive mode. 2. Viktigere: Det viste seg kommunikasjonen over port 1024 også kjører udp protokoll under pålogging. (Pussig nok for det finner jeg ikke dokumentert noe sted.)
De tingene du spurte om dvs deling av internettlinje (nat), ftp server og web server på firewall maskin skal nå kjøre greit. Gjetter på at irc og en del av de andre tingene du spurte etter også vil vise seg å kjøre ok (?)
Skal du ha en firewall med noe høyere sikkerhet så bør du bruke en egen firewall maskin og ftp/web server på egen maskin bak firewall.
Langbein >> Tak for dit script, jeg tror faktisk det meste virker ganske ok nu. Jeg har selv fundet nogle andre ting til at udbygge min firewall, men der er mere styr på den nu.
Disse ovenstående kommandoer giver adgang til eDonkey for 192.168.0.1, men kan man lave sådan at alle kan få adgang til eDonkey, altså fra alle IP'er - Jeg har prøvet at bare sige ACCEPT til disse porte i forard kæden, synes ikke rigtigt det virkede.
Jeg tester lige lidt ekstra, har ikke fået testet dit sidste indlæg, så skal du få dine point.
De prerouting setningene du har satt opp ser ut til å virke på den måte at requester til ip 80.196.115.86 port 4661:4665 blir videresendt til intern ip 192.168.0.1 og det er vel meningen. (En enkel port for å teste ut om prerouting virker er port 80, altså en web server inn på LAN hvie du har det.)
"giver adgang til eDonkey for 192.168.0.1" Nei slik skal det vel ikke virke (??!). Tvert i mot alle requester til 80.196.115.86 port xx (fra "utsiden") blir videresendt til intern ip 192.168.0.1
FOWARD står allerede til ACCEPT via default policy.
"Jeg har prøvet at bare sige ACCEPT til disse porte i forard kæden, synes ikke rigtigt det virkede." Det skulle være helt unødvendig med mindre du setter policy (default regel) til drop for FORWARD policy. (Håper jeg husker rett, har ingen dokumentasjon her.)
Det er ved at være noget tid siden at jeg sidst var Eksperten kan jeg se, kan ikke huske om det var din hjælp der hjalp mig, men jeg fik det da til at køre til sidst.
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.