Aktywne Wpisy
Grooveer +5
Rosyjskie media informują, że celowo pozwolono wpuścić trochę głębiej ukraińskich dywersantów by było łatwiej ich wyeliminować czyli pułapka
https://twitter.com/nexta_tv/status/1660644137660477453?t=-kSUwW7RPSE2KJMjbSRNrA&s=19
#wojna #ukraina #rosja
https://twitter.com/nexta_tv/status/1660644137660477453?t=-kSUwW7RPSE2KJMjbSRNrA&s=19
#wojna #ukraina #rosja
77XXXXXX77 +12
Jestem zwyczajnie załamany tym co się dzieje na wykopie. Rosjanie zostali ostrzelani, stracili kilka wiosek i niby to "rosjanie" zrobili. Nie róbcie proszę #!$%@? z logiki, wszyscy wiemy, że byli to ukraińcy, a to jest przerażające bo teraz rosjanie mają powód by wypowiedzieć Ukrainie wojnę. Obowiam się że ruskiej nawały to ukraińcy 3 dni nie wytrzymają zanim pękną, także przestańcie się śmiać to poważna sprawa.
#ukraina #rosja #wojna
#ukraina #rosja #wojna
Dostałem zadanie przechowanie loginu i hasła do bazy mysql w Azure Vault zamiast w lokalnym configu.
Nie wiem czy w ogóle da się to zrobić, ale osobiście nie widzę w tym żadnego sensu. Przecież atakujący po uzyskaniu dostępu do VM na którym jest aplikacja może dostać się do hasła bazy danych, nieważne gdzie jest przechowywane. Czy to przez debug kodu, czy uzyskania hasła z azure vault bo przecież jest na zaufanym VM.
Czy nie jest sensowniej po prostu zabezpieczyć usera bazy pozwalając na połączenie tylko z jednego IP w podsieci?
Ew. można też zaszyfrować hasło w symfony, ale to też żadne zabezpieczenie.
A może da się do tematu bezpieczeństwa hasła do bazy podejść inaczej?
usług: https://auth0.com/ , czy cognito, czy chyba active directory na azure.
Oni zajmą się bezpieczeństwem logowania, a ty rób appke.
@gajowy_marucha: co do tego:
I tak i nie, jeżeli miałbyś aplikację w kontenerze z odpowiednimi uprawnieniami, z filesystemem w trybie RO, to utrudniasz takie działanie bo nie możesz ani wrzucić webshella, ani wbić po SSH.
Ale ogólnie tak, trochę przerost nad treścią, chociaż zawsze
@aso824: ahhh racja xD
Do OPA:
Gdzie byś trzymał config? Na serwerze? A co się stanie, gdy serwer będziesz musiał postawić od zera? Skąd weźmiesz hasło?
No i jak ogarniesz rotacje hasła?
Dlatego korzysta się z vault, gdzie możesz ustawiać permissions kto ma dostęp do hasła, ustawić rotacje itp.
No można zaszyfrować hasło i mieć je nawet w repo. Poza repo jest tylko klucz prywatny. Symfony ma to od wersji 4.x badajże.
No ok, ale jak to ogarnąć w symfony bo nawet nie wiem gdzie zacząć :/
Hasło powinno być pobierane podczas stawiania instancji, i pozniej co godzine pobierane :)
"Perfect world".
Możesz w PHP zrobić fetcher. Pobierasz hasło z vault gdy nie istnieje w cache, zapisujesz do lokalnego cache na 1h, np. pliku, a pozniej przekazujesz do doctrine/dbal
no ok, ale widzę tu tylko sens z punktu widzenia zarządzania hasłami, przecież skoro fetcher zapisuje hasło lokalnie to gdzie tu różnica w bezpieczeństwie?
Nie jestem pewien do czego się tu odnosisz?
@gajowy_marucha: aby na to odpowiedzieć, muszę się zapytać jak dotychczas zarządzałeś hasłami, wtedy będę mógł powiedzieć jakie profity.
Będzie manager haseł, czyli teoretycznie żeby postawić nową instancję uprawniona osoba pobiera je z managera (czy to będzie azure czy coś innego) i zapisuje w config, dodatkowo w postaci zaszyfrowanej.
Nie widzę różnicy między tym a automatycznym pobieraniem z vault i zapisywaniem w config (lub cache).
Nie upieram się że
W twojej sytuacji vault to overkill bo wykorzystujesz chmure jako zwykły "VPS", nie masz kilku serwerów z swoją aplikacją, gdzie manualne ustawiania np. dla 100 serwerów jest czasochłonne.
Nie masz autoscalingu - czyli tworzenie nowych instancji w ramach obciążenia serwera.
vault to manager haseł, gdzie trzymasz hasła. Następnie zezwalasz serwerom by miały dostęp do
No i to ma sens, czyli byłaby to raczej część deployment, a nie że apka jak chce odpytać serwer to pyta vault o hasło, a tego ktoś ode mnie wymaga:)
Bo jak chce sobie później ustawić rotację haseł, to bardzo dobry krok w przód.
Ja np. nie wiem jakie teraz mamy hasło do bazy danych. Codziennie się one zmienia. Dlatego jak mnie zwolnią - to uja będę mógł "zaszkodzić" firmie, bo moje hasła będą przestarzałe :) Wszystkie dane bezpieczeństwa zmieniają się codziennie.
A tak to manualnie ustawiasz hasło, jakiś developer zostanie zwolniony
Ale czy to nie powinien być proces automatyczny, jakiś proces zapisuje hasło lokalnie - cyklicznie. A nie że apka za każdym razem pyta o hasło przy każdym requeście?
@gajowy_marucha: tak nie powinno być, bo
1. spowalniasz aplikacje. Każdy http request to dodatkowe 10ms
2. Nie wypłacicie się, bo za każdy request się płaci xD
Dane powinny być pobierane tak jak piszesz, w procesie.
Jeśli masz chwilę mógłbyś mi naświetlić z grubsza w jaki sposób działa taki proces zmiany hasła?
Rozumiem że vault sam w sobie nie zmienia hasła w bazie mysql?
Czy np taki proces byłby na serwerze gdzie jest db? Np 1) zmień hasło w bazie 2) zmień hasło w vault?
W jaki sposób VMy dowiadują się o zmianie hasła? Jakaś flaga, np plik
Nasza aws lambda zmienia hasło do bazy danych, zostawiając stare hasło przez następną godzinę. Czyli 2 hasła działają przez następną godzinę.
Po następnym uruchomieniu lambdy, stare hasło jest usuwane, nowe hasło staje się starym, a nowe hasło jest wygenerowane.
Do tego nasze aplikacje synchronizują to co jest w SecretManager co 1godzine.
Super, dzięki.
Musi się robić kompilacja plików env jakoś czy po prostu plaintekstem są zapisywane do jakiegoś customowego pliku env?