Spørsmål:
Hvor sikker kan IP-basert pålogging være?
Abel
2012-03-29 23:02:44 UTC
view on stackexchange narkive permalink

Fra flere sikkerhetsbøker og nettsteder forstår jeg at IP-basert sikkerhet (som jeg mener med: bruker er verifisert bare av IP-adresse) er en dårlig idé. En av grunnene er åpenbar, flere faktiske brukere kan bruke samme IP-adresse.

Ideen vår er ikke ny: vi vil ha en engangsvalidering og fra det øyeblikket tillate enhver datamaskin i et bestemt IP-område viss lett redigeringstilgang til et nettsted (vurder: alle ansatte selskap som er innenfor dette området). Pluss at vi vil være i stand til å konfigurere dette på forhånd på mottakerserveren.

  • Jeg forstår at det er mulig og enkelt å spoofe en IP-adresse
  • En spoofed IP-adresse kan ikke motta et svar fra serveren din
  • Når det er bak en proxy eller ruter, er det en relatert måte som lar meg identifisere brukeren / det originale kildesystemet, dvs. noe som ligner på HTTP X-Forwarded-For header?

Jeg er spesielt interessert i det andre elementet. I følge Wikipedia er det veldig vanskelig, men ikke umulig å fange svarpakken til en falsk IP-adresse. Det spesifiserer ikke hva som trengs.

Hva vil du anbefale forutsatt at kravet er å kunne konfigurere denne IP-baserte (eller relaterte)?

Hvilke bøker akkurat?
@Ramhound: Jeg er ikke sikker på hvilken, men jeg opplevde det i flere av dem. Sannsynligvis noen Apache-sikkerhetsbok, PKI-boken min osv., Men det er for en stund siden, og jeg vet bare at jeg har lest den flere ganger et sted (beklager, ikke et veldig substantielt svar).
Med `Forwarded-By` mente du sannsynligvis HTTP-topptekstfeltet` X-Forwarded-For`: en.wikipedia.org/wiki/X-Forwarded-For
Tre svar:
Mark Beadles
2012-03-30 00:12:35 UTC
view on stackexchange narkive permalink

Først og fremst må jeg understreke at IP-adresse kan aldri brukes til å autentisere en bruker , den kan bare brukes til å (prøve å) validere en vert . Selv om IP-adressen var perfekt knyttet til en nøyaktig datamaskin på en nøyaktig nettverksport, ville vi fortsatt ikke ha noen garanti for at en bestemt bruker var på konsollen til den datamaskinen på det tidspunktet. Så hvis du prøver å sikre at ressursene du beskytter bare har tilgang til en bestemt bruker , må du utføre autentisering på brukernivå av noe slag.

Nå det kan være at du bare vil begrense tilgangen til for eksempel folk som jobber i en bestemt bedrift, eller som går på en bestemt skole, eller som bor i et bestemt hus. Så du mener at validering bare av IP er verdt den ekstra risikoen. Selv da kan du ikke garantere at dataene dine kommer til rett sted.

Et kabeleksempel jeg kan tenke meg er dette. La oss si at jeg er en kabelinternettabonnent og at jeg vil avlytte naboens IP-trafikk. Kabelleverandøren vår bruker DHCP til å tildele adresser til oss fra en gruppe adresser som er avsatt til dynamisk IP-adressering. Konseptuelt kan jeg fange opp adressen hans ved å oppdage IP-adressen hans; oppdage MAC-adressen hans; sette MAC-adressen min til å være en klon av MAC-adressen hans; starte kabelmodemet på nytt (f.eks. ved å avbryte strømmen eller kabelen til huset hans); utstede en DHCP-forespørsel.

Siden mange DHCP-servere vanligvis prøver å tildele MAC-ene den samme IP-en som de hadde tidligere, vil kabeleverandøren tildele IP-en din til meg. Nå vil dette ikke fungere for alltid - kabeleverandøren vil til slutt se en IP-adresse kollisjon og undersøke problemet. Men på den tiden har jeg kanskje allerede stjålet dataene dine.

Det faktiske scenariet, burde jeg ha sagt, er å begrense tilgangen til IP-adresser på LAN eller på VPN-nettverket. Imidlertid har ordet det at klienten også ønsker tilgang fra noen menneskers hjem. Det skal sies at applikasjonen er vert for en annen app som krever godkjenning, men da bruker den bare usikre HTTP-forespørsler. Alt som trengs er å plukke opp URL-en (pluss IP-spoofing / kapring) for å få tilgang. Det synes i hvert fall jeg.
D.W.
2012-03-30 00:10:33 UTC
view on stackexchange narkive permalink

Nei Dette kommer nok til å være svakt. I noen tilfeller er IP-spoofing også mye enklere enn spørsmålet ditt indikerer. For eksempel, hvis brukeren logger på via åpen Wifi-tilkobling, er det enkelt å gjøre et mann-i-midten-angrep eller spoof brukerens IP-adresse.

Det er ingen videresendt -Ved header lagt til når en ruter videresender en IP-pakke. Det er ingen slike overskrifter som hjelper deg med å oppdage IP-spoofing.

Se også I hvilke scenarier er det å stole på kilde-IP-adresse som en sikkerhetskontroll som er akseptabel / uakseptabel?.

Hvis du vil ha en engangsvalidering, foreslår jeg at du setter en sikker, vedvarende informasjonskapsel i brukerens nettleser (når du har godkjent dem), slik at du kan gjenkjenne dem igjen i fremtiden. Dette vil eliminere behovet for at de skal gjennomføre et nytt autentiseringstrinn i fremtiden, så lenge de fortsetter å bruke samme maskin og nettleser.

Det er litt interessant at ingen av disse svarene (eller i det tilknyttede spørsmålet) forklarer hvordan en falsk IP-adresse kan motta svar fra serveren, annet enn den åpenbare mannen i midtangrepet. Ramhound under sier til og med at det er 100% umulig. Selvfølgelig er dette bare ett aspekt av problemene med IP-adresseautentisering.
@Abel, (1) Noen ganger trenger ikke angriperen å motta svar fra serveren. I disse situasjonene innebærer ett angrep å gjette TCP Initial Sequence Number (dette pleide å være enkelt; nå krever det 2 ^ 32 forsøk, men det er urovekkende nær mulighetsområdet). (2) Hvis angriperen trenger å se svaret, er det måter, for eksempel [BGP-angrep] (http://www.wired.com/threatlevel/2008/08/revealed-the-in/). Dette er ikke de enkleste eller vanligste angrepene, ikke på lang sikt, men det er noen måter en angriper kan motta svar fra serveren.
Utmerket, det er en klar historie. Tilsynelatende kan BGP-angrep skje hvor som helst, når som helst uten at noen merker det lett. Den siste linjen er urolig: ** "Internett-leverandører, sa han, har holdt pusten og håpet at folk ikke oppdager (dette) og utnytter det." "**
@D.W. Ville det ikke være 2 ^ 31 forsøk i gjennomsnitt?
@machineyearning, vel, det er en detalj som ikke virkelig påvirker poenget mitt og er tangensielt, så hvis du virkelig vil vite det, bør du stille et eget spørsmål. Det korte svaret er at det i praksis sannsynligvis er mer som 2 ^ 32 enn 2 ^ 31. Det er ikke det at det er en enkelt ISN som vi gjentatte ganger gjetter til vi får det riktig. I stedet prøver vi å åpne flere forbindelser, hver med sin egen ISN, som vi kan gjette. I sistnevnte situasjon er antallet gjetninger som trengs for å ha 50% sjanse for å gjette riktig nærmere 2 ^ 32 enn 2 ^ 31.
Med `Forwarded-By` mente OP sannsynligvis HTTP-headerfeltet` X-Forward-For`: https://en.wikipedia.org/wiki/X-Forwarded-For
Ramhound
2012-03-30 00:13:03 UTC
view on stackexchange narkive permalink

En falsk IP-adresse kan ikke motta svar fra serveren din

Dette er 100% sant. Svaret på en TCP kunne ikke sendes hvis IP-adressen ikke er den gyldige IP-adressen.

Når det er bak en proxy eller ruter, er det en relatert måte som lar meg identifisere brukeren , altså noen Forwarded-By (eller hva heter det) header?

Jeg forstår ikke formålet med dette spørsmålet. Hvis du står bak en ruter, er brukerens ip-adresse det som maskinvaren har tildelt den. Så all identitetsinformasjon vil være den informasjonen og ikke den faktiske informasjonen noen andre vil se utenfor nettverket ditt.

Hva vil du anbefale forutsatt at kravet er å kunne konfigurere denne IP-baserte ( eller relatert)?

Hva er egentlig kravet?

Jeg er spesielt interessert i det andre elementet. I følge Wikipedia er det veldig vanskelig, men ikke umulig å fange svarpakken til en falsk IP-adresse. Det spesifiserer ikke hva som trengs.

Dette krever at du er mellom serveren og klienten. Ellers går alle svarene faktisk til ip-adressen serveren mener den skal gå til, og siden du faktisk ikke har den ip-adressen, vil du ikke motta den ip-adressen. Ved å være i midten mottar du pakken (faktisk alle pakker som er en annen sak alt sammen) og er i stand til å svare på nevnte pakke.

Ellers vil serveren til slutt like enhver TCP-forbindelse glemme deg.

Når hver eneste elektroniske enhet som er koblet til internett har en IPv6-adresse, KAN DU KUN bruke en ip-adresse for å verifisere en "enhet", men påpekte aldri "brukeren" selv. Det er selvfølgelig lite sannsynlig at det noen gang vil skje av mange grunner. IPv4 har eksistert i 20-30 år, noe som betyr at det fortsatt er flere IPv6-adresser. p>

I Wikipedia-artikkelen om IP-spoofing nevnes det at det med en viss innsats er mulig å omdirigere et svar tilbake til en spoofed adresse. Det kan være at de mener gjennom en mann i midten eller en annen form for kapring, men jeg fikk ikke det inntrykket. Er du positiv til 100% tallet?
hvis du spoof IP på det samme nettverket og er i stand til å snuse svarene fra serveren, er det trivielt å forfalske en forbindelse og få svar fra serveren ganske enkelt ved å lytte etter trafikk som er bestemt til den spoofed IP
@MarkScrano: Jeg tenkte faktisk på internett-WAN, og det er ikke så trivielt, men bruker B.W. svarte dette kan gjøres med BGP-angrep for en. Men i begge tilfeller er "100%" i dette svaret for sterkt tall.
hvordan vet du at nettverket ditt er tryggere enn internett? Er du sikker på at ingen kan få en ekte ip i nettverket ditt? Hvis noen maskiner i nettverket ditt er kompromittert, kan du ikke. Og du kan ikke sørge for at ingen enheter i nettverket ditt kan være / ikke kompromitteres.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...