it-swarm-eu.dev

Jen posílám uživatelské jméno a heslo přes https. Je to v pořádku?

Když se uživatel přihlásí na můj web, pošle mi své uživatelské jméno a heslo přes https. Kromě ssl neexistuje žádné zvláštní zmatení hesla - v paměti prohlížeče je jasné.

Mám ještě něco udělat? Měl bych si to nějak zachovat, dokonce i v RAM?

53
Riley Lark

Tohle je fajn. Nemusíte dělat nic jiného. Není třeba ho hashovat ani zatemňovat v RAM.

Před uložením hesla do trvalé paměti (např. Do databáze) byste měli být opatrní, abyste heslo na straně serveru správně hashovali, a měli byste se proto starat o správné metody hashování heslem. Viz např. Jak bezpečně hash hesla? , Jakou metodu hashování hesel mám použít? , Nejbezpečnější algoritmy hashování hesel? , Doporučují bezpečnostní experti bcrypt pro uložení hesla? .

Chcete-li svým uživatelům poskytnout další zabezpečení, postupujte takto:

  • Používejte SSL/TLS pro celý web. Jakýkoli pokus o návštěvu vašeho webu prostřednictvím protokolu HTTP by měl okamžitě přesměrovat na HTTPS.

  • Na svém webu povolte HSTS . To řekne prohlížečům, aby se k vám připojili pouze přes HTTPS. Paypal to používá. Je podporován v posledních verzích Firefoxu a Chrome.

Neříkám, že musíte tyto věci dělat (i když SSL/TLS pro celý web je velký rozdíl). Ale to jsou některé možnosti, které mohou pomoci posílit zabezpečení proti některým běžným vektorům útoku.

43
D.W.

Jednou z dalších věcí, kterou byste mohli udělat, by bylo použití klientských certifikátů. Server si může sám zajistit, že neexistuje žádný MitM vyžadováním certifikátu klienta. Jinak musí klientovi důvěřovat, aby správně potvrdil nepřítomnost MitM. To je více než spousta služeb, které by měly být ochotny důvěřovat.

6
Steve Dispensa