Kom ihåg mig?
Home Menu

Menu


session.save_path säkerhet

Ämnesverktyg Visningsalternativ
Oläst 2011-03-25, 11:03 #1
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Question session.save_path säkerhet

Vad ska jag ha för chmod på min mapp som jag sparar alla sessioner i via session.save_path? Jag vill att det ska vara så säkert som möjligt. Är det någonting annat jag även bör tänka på?
robincox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-25, 11:49 #2
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Den måste kunna användas av den användare PHP körs som (kör du mod_php är det alltså samma användare som webbservern). Alltså, chowna till webbserveranvändaren och chmodda 0700. Eventuellt kanske 0300 funkar, så att webbservern inte kan lista innehållet i mappen så det kan du ju testa om du vill.

Har du flera olika webbplatser med olika ägare kanske du vill ge dem varsin session.save_path och köra dem som olika användare.
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-25, 13:51 #3
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Jag funderar på att köra chmod 730 så att inga publika rättigheter finns men då finns det iofs grupprättigheter. Vad menas med grupprättigheter?
robincox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-25, 17:32 #4
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Med grupprättigheter menas att alla de användare som är medlemmar i den gruppen får de inställningarna. Exempelvis kanske du har en grupp "adm" för administratörer som kan läsa men inte skriva loggfiler. Loggarna ägs då av användaren root och gruppen adm, och får rättigheterna 0640 (skrivning och läsning för användaren root, endast läsning för gruppen adm).

I ditt fall verkar det meningslöst att ge några grupprättigheter såvida du inte har flera olika användare som ska ha tillgång till mappen.
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-28, 18:33 #5
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
Annars spara sessionerna i databas, är väl det säkraste alternativet egentligen...
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-31, 12:07 #6
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Citat:
Ursprungligen postat av danjel Visa inlägg
Annars spara sessionerna i databas, är väl det säkraste alternativet egentligen...
Jag tror egentligen att mina sessioner är ganska säkra eftersom jag slumpar fram nya värden till dem varje gång en sida laddas. Exempelvis:

En admin loggar in, då skapas session['sessionsnamn'] = 'HyhjhH76h6h8JHgh6';
Han eller hon klickar på en länk i menyn, då slumpas det fram ett nytt värde i sessionen, det kan då t.ex. bli session['sessionsnamn'] = 'uih345hno6noUH97';

Så det går inte för en hacker att klura ut vilket värde session['sessionsnamn'] ska ha för att han/hon ska bli inloggad som admin.

Men det stör mig att jag måste ge publika skriv och körrättigheter på mappen som håller sessionerna.
robincox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-31, 12:56 #7
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Citat:
Ursprungligen postat av robincox Visa inlägg
Jag tror egentligen att mina sessioner är ganska säkra eftersom jag slumpar fram nya värden till dem varje gång en sida laddas. Exempelvis:

En admin loggar in, då skapas session['sessionsnamn'] = 'HyhjhH76h6h8JHgh6';
Han eller hon klickar på en länk i menyn, då slumpas det fram ett nytt värde i sessionen, det kan då t.ex. bli session['sessionsnamn'] = 'uih345hno6noUH97';

Så det går inte för en hacker att klura ut vilket värde session['sessionsnamn'] ska ha för att han/hon ska bli inloggad som admin.

Men det stör mig att jag måste ge publika skriv och körrättigheter på mappen som håller sessionerna.
Menar du att du byter session_id()? Det är ok och ökar säkerheten en del, men när du skriver session['sessionsnamn'] så ser det ut som du sätter en sessionvariabel. Att enbart sätta en slumpmässig sessionvariabel skyddar inte mot cookie-stealing (eller liknande sessionsstölder). Det är lika säkert att sätta $_SESSION['sessionsnamn']="ja" som att sätta $_SESSION['sessionsnamn']='uih345hno6noUH97'. Den variabeln som styr Admin-inloggningen ska man aldrig kunna ändra ifrån klientsidan ändå.
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-31, 14:41 #8
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
Som SimonP sa så ändrar du endast värdet på en session, vilket inte har med säkerheten att göra.
Det du nog vill göra som jag förstår är att använda session_regenerate_id();
det är bra för att hindra s.k "Session Fixation".

Annat man kan göra:
För att försvåra s.k "Session Hijacking", överväg att kolla om User-Agent ändras mellan olika requests, det bör den inte göra och det kan indikera att sessionen har "kapats".

ini_set("session.cookie_httponly", true); // stop XSS javascript cookie attacks for browers that support it
ini_set("session.use_only_cookies", true); // do not allow session_id in URLs


Annars så antar jag du använder ett webbhotell?
Skulle säga att då är det mer viktigt att använda databas sessioner om säkerhet bedöms som kritisk. Även om du har en egen filmapp för dina sessioner så tänk på att det enda som krävs för att få fram sessions id och därmed kunna "hacka" din site (i värsta fall inloggning med admin rättigheter) är åtkomst till den mappen.
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-03-31, 16:15 #9
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Citat:
Ursprungligen postat av danjel Visa inlägg
Annars så antar jag du använder ett webbhotell?
Skulle säga att då är det mer viktigt att använda databas sessioner om säkerhet bedöms som kritisk. Även om du har en egen filmapp för dina sessioner så tänk på att det enda som krävs för att få fram sessions id och därmed kunna "hacka" din site (i värsta fall inloggning med admin rättigheter) är åtkomst till den mappen.
chmod 703 borde ju då vara säker eftersom ingen person utifrån kan läsa i mappen.
robincox är inte uppkopplad   Svara med citatSvara med citat
Svara

Taggar
chmod, session, sessioner, säkerhet


Aktiva användare som för närvarande tittar på det här ämnet: 2 (0 medlemmar och 2 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017