hej! Till att börja med kommer du få problem eftersom ssl går via https:// och vanlig surfning via http:// - i och med att dessa tolkas ett hopp mellan dessa som två olika domäner och du kommer du inte att kunna behålla sessionerna där. Likaså om du kör asp eller asp.net så kommer inte heller sessionerna att hänga ihop. Jag tror inte det får kosta mer än vad det redan gör, så en dedikerad server blir det inte. Ett sätt är att hasha lösenordet tillsammans med en slumpad sträng mha javascript på klienten innen den postas. På det sättet blir det ganska svårt att plocka fram lösenordet. Ofta byggs det in mycket mer säkerhet än vad som behövs, tror jag!! :) Tack så mycket för tipsen, kommer använda mig av något i den vägen ni föreslår, lägga på något i det hashade lösenordet som förändras över tiden.SSL-kryptering vid inloggning
Jag bygger en asp.net -site som skall ligga på ballous webhotell. På webhollet finns tillgång till en ssl-server, men jag kan inte köra all trafik ssl-krypterat p.g.a att jag inte kan lägga mina dll-filer på ssl-servern, utan bara ha html- och klassiska asp-sidor på den.
Nu funderar jag på hur jag skall lösa säkerheten på siten. Det borde väl räcka hyfsat långt att bara kryptera inloggningen, så att det blir svårare att sniffa upp användarnamn/lösenord? Visst hade det varit bra att kryptera all trafik, men det känns inte lika nödvändigt.
Om jag nu nöjer mig med att kryptera inloggningen, hur kan jag lösa det rent praktiskt? Ha ett inloggningsformulär i klassisk asp på ssl-servern som sedan redirectar till asp.net-applikationen på webservern? Men jag behöver ju ha med mig diverse sessions som initierats vid själva inloggningen. Hur kan jag lösa detta, någon som har erfarenhet av detta?
mvh
henrikSv: SSL-kryptering vid inloggning
Som jag ser det är nog en dedicerad server en lösning, en annan är att använda windows-inloggning på servern som då krypteras med kerberos. Alternativt får du släppa på inloggningen och skriva ett eget system för detta och skippa ssl.
Oftast används SSL på de sidor som är känsliga, medan övriga sidor inte behöver ha detta. Sen är du på hotell och risken att kunna komma åt ballous serverpark är också rätt liten. Så frågan är väl troligen - hur säkert skall det vara och vad är du beredd att betala för det.Sv:SSL-kryptering vid inloggning
Det är ju som du säger inloggningen som är känsligast, resten kan klara sig utan. Jag hashar lösenordet med md5, men det går väl att sniffa upp och så kan någon illasinnad ta sig in den vägen. Menar du att Ballou har högre säkerhet än andra? Sv: SSL-kryptering vid inloggning
Ett annat sätt är att logga in på ssl-servern, slumpa fram en lång sträng som du skickar med i din querystring till den andra servern. Denna strängen sparar du tillsammans med användaridentitet och kanske ip-nummer så att den andra servern på något sätt kommer åt den. När du kommer till den andra servern kan den kolla vem den strängen tillhör, att besökaren kommer från rätt ipnummer osv. Varje sträng ska man enbart kunna användas en gång och den ska enbart vara giltig under en kort tidsperiod (5 sekunder kanske?). Detta går som allt annat att komma runt om man får tag i strängen och kan förhindra klienten att utnyttja den, men det blir någorlunda omständigt iaf.
/JohanSv:SSL-kryptering vid inloggning
I 99% av fallen kommer inte en hackare ha lust att lägga ner timmar på att hacka din sajt.
(Om det inte är en BANK eller liknande - då råder helt andra säkerhetsprinciper....)
Ett förslag som inte är supersäkert, men kanske tillräckligt:
På sajt 1: Inlogging med SSL (du stoppar att man kan sniffa UserId + Pwd).
Du ska inte ha nån session här alls.
Skapa en slumpmässig sträng + datum + tid som fungerar som en ticket, häng den på användaren i databasen (UPDATE Anv SET..), ex "AFD97200A6FEDAA56235-2005-09-151730".
(gärna med expires + 1h. Efter en timma bör även denna ticket raderas från databasen. Lägg upp ett job som blankar alla sådana tickets som är mer än 1 timma gamla). Redirecta till sajt2.
På sajt 2: kolla om denna cookie finns, och att den finns i Anv-tabellen:
Voila! du har en authenticerad användare: hämta AnvNamn osv från databasen.
Om du har session-variabler väcker du dem nu. Om session är död slår du upp i databasen igen.
Finns ingen ticket där: kasta användaren till sajt1/login igen.
Loopa tills användaren har glömt sitt lösenord!
För att dela cookies måste sajterna vara på samma Domain och du måste sätta info om domain i din cookie. När man kommit in i sajt2 kan du radera den lagrade cookien om du inte vill att anv. ska bli automatiskt inloggad igen. (eller så kanske man vill att det ska funka i en timma..)
Den som hackar ditt system i prod köper jag en back öl till.Sv: SSL-kryptering vid inloggning
mvh
Henrik