Oczywiście, nie chcemy kodować hasłem jawnego tekstu w każdym skrypcie. To utrudniłoby cykliczne korzystanie z hasła, ponieważ wiele ton skryptów musiałoby zostać zmienionych, oprócz tego, że hasło jest przede wszystkim w postaci zwykłego tekstu.Jakie są bezpieczne podejścia do obsługi skryptu, który wymaga hasła bazy danych (MySQL)?
Jeśli skrypty przyjmują hasło jako parametr, to musimy się martwić o modyfikację wyjścia "ps", aby nie wyświetlać wartości argumentu hasła. Musielibyśmy również martwić się o zapisanie polecenia w historii powłoki. To może być potencjalnie obsługiwane przez HISTIGNORE/HISTCONTROL na bash, ale istnieją inne powłoki używane z różną i mniej elastyczną kontrolą historii (np .: zsh). Możemy również użyć zmiennej środowiskowej specyficznej dla wiersza poleceń (FOO = bar ./script), a gdy 'FOO = pasek' nie pojawi się w 'ps', to domyślnie jest zapisywane w historii powłoki. Poza tym niektóre systemy ujawniają środowiska procesów innych użytkowników (przez "ps").
Można użyć pliku hasła (konfiguracji), który po prostu zapisuje hasło w postaci zwykłego tekstu. Ten plik może być właścicielem/uprawnieniami, aby zwiększyć jego dostęp. Ale na koniec dnia wciąż masz hasło w postaci zwykłego tekstu.
Monitowanie jest również opcją, ale zwykle jest mniej wygodne (nadal możliwe, na przykład, na przykład) i komplikuje brak interakcji, jeśli wymaga tego skrypt.
Można użyć szyfrowania o pewnym smaku, ale nadal mamy podobny problem, aby poradzić sobie z kluczem odszyfrowywania.
Czy powinienem wybrać jedną z powyższych? Czy inne opcje mogą być lepsze? Jak ludzie radzą sobie z tą sytuacją jest bezpieczny sposób?
Głównym celem jest to, że atakujący nie powinien mieć dostępu do serwera bazy danych, jeśli atakujący w jakiś sposób dostanie się do systemu korzystającego z serwera bazy danych. Na przykład, atak nie powinien być w stanie po prostu znaleźć hasła gdzieś leżącego, nie powinien być w stanie obserwować systemu ("ps"), aby go wykryć, i nie powinien móc "patrzeć wstecz". (historia powłoki), aby ją znaleźć.
Uświadamiam sobie, że istnieje miliony scenariuszy (km, zamienione strony, itd. Itd.) I że większość zakładów jest wyłączona, jeśli atakujący ma dostęp root i fizyczny i że nic nie będzie 100% bezpieczne. Po prostu szukam najlepszego podejścia w granicach powodu. :-)
Tak, zrób to . +1. – MarkR