Egy ideje átirányítunk egy weboldalon minden kérést HTTPS-re.
Most hoztunk egy döntést, hogy az átirányítás ezentúl nem tartalmazza az útvonalat és paramétereket csak a host nevet, minden megy a főoldalra. Így aki beírja az oldal nevét az átkerül a HTTPS oldalra, de a régi HTTP linkek is ott fognak kikötni, illetve az összes úgyfelejtett URL sem fog működni.
Az egyik fejlesztő elég hangosan ellenzi ezt a változtatás. Azzal érvel, hogy az első hívással már így is úgy is kimentek az érzékeny adatok titkosítás nélkül, session, cookie ... stb. Semmi értelme a főoldalra dobni az embert, mert MITM estén azt az infót már elkapták, bármit csinálunk.
Szerintem viszont egy ilyen átirányítás csak elfedi a problémát és hamis biztosnágérzetet kelt. Volt egy döntés, hogy abszolút mindennek HTTPS-en kell mennie. Úgy gondolom, hogy ha nem úgy jön a kérés, akkor annak láthatónak kell lennie és nem transzparens módon ugyanúgy működnie mintha minden jó lenne.
Mit gondoltok?
Ti megtartjátok a teljes URL-t ha ilylen átirányítást csináltok?
- 2315 megtekintés
Hozzászólások
Általában igen, de projektfüggő.
A posztban említett fejlesztővel vagyok kénytelen egyetérteni, ha valakinél bookmarkolva van egy HTTP link, és van egy eltárolt cookie-ja is mellé, akkor valóban semmi értelme egy ilyen redirectnek biztonsági/adatvédelmi szempontból. Kimegy a request (lehallgatható), kimegy a cookie (lehallgatható), innentől kezdve máris sérül az adatbiztonság.
Az utóbbi években elindult egy olyan törekvés, hogy preferálni kell a HTTPS kapcsolatok használatát, amivel maximálisan egyetértek, hiszen tudjuk, milyen veszélyeknek vagyunk manapság kitéve az interneten.
Nem tudom, hogy van más böngészőkben, de a Firefox egy ideje már eleve HTTPS-re próbál kapcsolódni, és csak akkor vált át sima HTTP-re, ha nincs a betöltendő oldalnak HTTPS elérhetősége vagy pl. nem valid (self-signed, lejárt stb) a tanúsítvány.
Ez alól persze kivétel az explicit módon http:// előtaggal megadott URL, márpedig a bookmark-okban és a history-ban szinte kizárólag így tárolódnak a linkek...
A kompromisszum talán az lehet, ha egy köztes oldalra kerül a user, ahol kap egy HTTPS linket, plusz valami udvarias szöveget arról, hogy a saját biztonsága érdekében frissítse a könyvjelzőjét (csak egyszer kell megtennie, utána biztonságban tudhatja magát).
- A hozzászóláshoz be kell jelentkezni
Erre a problémára megoldást ad a HSTS:
http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
- A hozzászóláshoz be kell jelentkezni
bookmark
- A hozzászóláshoz be kell jelentkezni
Akkor még egy hasznos linket adok:
https://www.ssllabs.com/
- A hozzászóláshoz be kell jelentkezni
Ez ismerős, köszi :-)
- A hozzászóláshoz be kell jelentkezni
Egy esetben lehet értelme a máshova irányításnak: kierőszakoljátok azt hogy a hibás linkek frissítve legyenek. Más tekintetben valóban a fejlesztő kollégának van igaza, azon a lekérdezésen ami elment már nem tudsz segíteni.
Amit viszont tenni tudtok:
- cookiehoz használjatok secure flag-et (ha lehet httponly-t is) így a session id http-n kiszivárgása megszüntethető
- implementáljátok a HTTP Strict Transport Security -t, így a browser megtanulja hogy minden további felétek menő kérést http helyett is https-en küldjön: első látogatás után ez lényegében megóvja a felhasználókat.
Ezek azért is fontosak, mert egy támadó könnyedén elétehet a felhasználónak egy http-s linket vagy iframet egy külső weboldalon, és "kész a baj".
- A hozzászóláshoz be kell jelentkezni
Szvsz ennek biztonsági szempontból csak akkor van értelme, ha a továbbiakban http-n egyáltalán nem szolgáltok ki, de legalábbis nem ugyan azt amit https-en. (mondjuk pl csak egy dummy/redirect oldalt)
Emellé az is kell, amit már valaki javasolt: sütikre csak https only flag.
Így ennek hosszabb távon lesz értelme, mert így a régi http bookmarkok "kikopnak" idővel. Tehát nyilván lesz egy átállási időszak, amíg valóban az a helyzet amit a fejlesztőtök állít. Egyébként ha valóban az van hogy egy ideje, már mindent átirányítotok, akkor ez az átállás már amúgy is folyamatban van, így várhatóan csak kevés lesz az érintett.
--
zrubi.hu
- A hozzászóláshoz be kell jelentkezni
Köszi, utánanézek jobban a HSTS beállításának és a köztes figyelmeztető oldal is jó ötlet.
Továbbra is úgy gondolom, hogy ha valami nem biztonságos, akkor annak látszania kell és nem transzparensen működnie, de úgy tűnik egyedül maradtam a paranoiámmal :)
- A hozzászóláshoz be kell jelentkezni
illetve egy ilyen lépés után alap, hogy az összes session törlése, a cookie mellé meg a secure beszúrása, hogy figyelje hogy honnan kapta (így az új session csak https-en fog visszamenni)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
happy double
- A hozzászóláshoz be kell jelentkezni