[php][mysql] Przetrzymywanie haseł w bazie., co nowego? :) |
[php][mysql] Przetrzymywanie haseł w bazie., co nowego? :) |
10.08.2019, 14:28:21
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Witam.
Potrzebuje przetrzymywać w bazie danych hasła, które muszę odczytywać w dowolnej chwili. Są to hasła do zewnętrznych serwisów, poczty i muszę je dekodować w dowolnej chwili. Jakie są nowe mechanizmy kodowania tak, żeby w przypadku wypłynięcia bazy lub włamania do mysql byle dzieciak nie miał podanych gotowych haseł. W google znalazłem bardzo dużo tutoriali, nie wiem który najlepszy. Czy jakiś doświadczony programista może podpowiedzieć jak robi takie rzeczy u siebie? Docelowo skrypt działać będzie na php 7.2 Ten post edytował luis2luis 10.08.2019, 14:37:52 |
|
|
11.08.2019, 07:27:15
Post
#2
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
Najbezpieczniej jest chaszowac za pomoca https://www.php.net/manual/en/function.password-hash.php
-------------------- |
|
|
11.08.2019, 08:29:44
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 832 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
@Dublinka,
hashować, a nie chashować. Dwa... wyraźnie powiedział że potrzebuje mieć możliwość haseł surowych, bo takie hasła potrzebne są do połączenia z innymi serwisami (jeżeli nie mają odpowiedniego API), a password-hash to kodowanie jednostronne. Ja polecę: https://stackoverflow.com/questions/1660070...pt-a-php-string |
|
|
11.08.2019, 08:43:59
Post
#4
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
@Dublinka, hashować, a nie chashować. W tym momencie nie jest to tak istotne. Dwa... wyraźnie powiedział. Raczej napisal. A ja nie polecam. Hasla powinno sie CHaszowac. -------------------- |
|
|
11.08.2019, 09:24:06
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Najgorsze co możesz zrobić to zabierać się za to samemu.
https://github.com/phpseclib/phpseclib -------------------- |
|
|
11.08.2019, 11:00:20
Post
#6
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Najgorsze co możesz zrobić to zabierać się za to samemu. Zgadzam się z przedmówcą, przy czym ja bym polecił https://www.vaultproject.io -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
11.08.2019, 11:10:01
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 832 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
@Dublinka
Ale hashowanie haseł jest jednostronne. |
|
|
11.08.2019, 13:18:48
Post
#8
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
@Dublinka Ale hashowanie haseł jest jednostronne. Doskonale o tym wiem. Wiem tez co napisal autor ale dalej twierdze (zreszta osoby w tym Twoim poscie rowniez) ze kodowanie i odkodowywanie danych zwlaszcza hasel jest zlym rozwiazaniem. -------------------- |
|
|
12.08.2019, 04:23:28
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 832 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Mnie zastanawia co innego. Jakie a raczej do czego hasła chce szyfrować?
Trzymanie haseł do poczty czy jakiś serwisów gdzie można prowadzić zmiany to zły pomysł. Ja miałem przypadek gdzie serwis oferował specjalne hasło do logowania w trybie TYLKO DO ODCZYTU. Brak dostępu do danych osobowych, jedynie dawał wgląd do statystyk konta. W takim przypadku proste szyfrowanie może wystarczyć. |
|
|
13.08.2019, 09:34:56
Post
#10
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) |
Doskonale o tym wiem. Wiem tez co napisal autor ale dalej twierdze (zreszta osoby w tym Twoim poscie rowniez) ze kodowanie i odkodowywanie danych zwlaszcza hasel jest zlym rozwiazaniem. To jak się połączysz z pocztą IMAP z takim hashowanym hasłem? Jak się połaczysz z Allegro, albo TPAY.com? Niestety hasła muszą być surowe, nie chce jedynie, żeby były podane na tacy każdemu dzieciakowi który przez przypadek wpadnie w posiadanie haseł. P.S. Poprzeglądam Wasze propozycje, jest jednam mętlik, dosyć dużo propozycji. |
|
|
13.08.2019, 10:23:11
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 832 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Ja np. trzymam hasła do usług poczta, baza danych czy klucze dostępu w folderze po za główny katalog strony. Tak aby np. z poziomu FTP nie można było skopiować plików ustawień. Tylko główny admin z uprawnieniami roota ma dostęp.
|
|
|
13.08.2019, 10:47:52
Post
#12
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Doskonale o tym wiem. Wiem tez co napisal autor ale dalej twierdze (zreszta osoby w tym Twoim poscie rowniez) ze kodowanie i odkodowywanie danych zwlaszcza hasel jest zlym rozwiazaniem. To jest dość zabawne, jak upierasz się przy swoim zdaniu, pomimo tego, że @Tomplus, cały czas podaje Ci argumenty, które obalają Twoją teorię. Jak chcesz wykonać request do np. zewnętrznego API, które wymaga jakiegoś hasła/klucza, jeżeli zahaszujesz sobie ten klucz password_hash'em? W takich przypadkach musisz mieć możliwość odszyfrowania hasła. |
|
|
13.08.2019, 18:43:38
Post
#13
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) |
To jest dość zabawne, jak upierasz się przy swoim zdaniu, pomimo tego, że @Tomplus, cały czas podaje Ci argumenty, które obalają Twoją teorię. w takim raie idz na ten temat i obalaj teroie kazdego -------------------- |
|
|
14.08.2019, 23:35:48
Post
#14
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 |
Cytat P.S. Poprzeglądam Wasze propozycje, jest jednam mętlik, dosyć dużo propozycji. Zamiast wymyślać koło na nowo, użyj gotowego rozwiązania, które jest przetestowane i bezpieczne - https://www.vaultproject.io/ Dane dostępowe do Vault (nazwa użytkownika, hasło, token, itp. - ich ilość oraz rodzaj zależy od backendu użytego to logowania) trzymasz jako zmienne środowiskowe. W ten sposób żadne hasła nie są przechowywane w bazie i nawet jeśli ktoś dostanie się do bazy, nie wykradnie haseł do zewnętrznych serwisów. Jeśli nie chcesz korzystać z Vault masz kilka innych możliwości - AWS Secrets Manager, Ansible Vault, Docker secrets (tylko w trybie swarm), Kubernetes secrets. Podejrzewam, że dałoby się znaleźć jeszcze kilka godnych zaufania usług. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 08:58 |