Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Przetrzymywanie haseł w bazie., co nowego? :)
luis2luis
post 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
Go to the top of the page
+Quote Post
dublinka
post 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


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 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
Go to the top of the page
+Quote Post
dublinka
post 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%)
-----


Cytat(Tomplus @ 11.08.2019, 08:29:44 ) *
@Dublinka,

hashować, a nie chashować.

W tym momencie nie jest to tak istotne.
Cytat(Tomplus @ 11.08.2019, 08:29:44 ) *
Dwa... wyraźnie powiedział.

Raczej napisal.
A ja nie polecam.
Hasla powinno sie CHaszowac.


--------------------
Go to the top of the page
+Quote Post
viking
post 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


--------------------
Go to the top of the page
+Quote Post
batman
post 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




Cytat(viking @ 11.08.2019, 09:24:06 ) *
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.
Go to the top of the page
+Quote Post
Tomplus
post 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.
Go to the top of the page
+Quote Post
dublinka
post 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%)
-----


Cytat(Tomplus @ 11.08.2019, 11:10:01 ) *
@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.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 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ć.
Go to the top of the page
+Quote Post
luis2luis
post 13.08.2019, 09:34:56
Post #10





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

Ostrzeżenie: (0%)
-----


Cytat(dublinka @ 11.08.2019, 14:18:48 ) *
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.
Go to the top of the page
+Quote Post
Tomplus
post 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.
Go to the top of the page
+Quote Post
kapslokk
post 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%)
-----


Cytat(dublinka @ 11.08.2019, 14:18:48 ) *
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.
Go to the top of the page
+Quote Post
dublinka
post 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%)
-----


Cytat(kapslokk @ 13.08.2019, 10:47:52 ) *
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 smile.gif


--------------------
Go to the top of the page
+Quote Post
batman
post 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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 08:58