Robię aplikację na własny użytek, która składa się z frontendu (vue), backendu (spring) oraz bazy danych (mongodb). Całość stoi na VMce, gdzie "proces deploymentu" wygląda w ten sposób, że loguje się przez SSH, ręcznie pobieram nowego mastera i odpalam docker-compose build / up
Potrzebuje jednak zabezpieczyć dostęp do danych, które trzymam w aplikacji, jak wspomniałem - jest to tylko na użytek własny i nie ma tam jakiś wrażliwych danych osobowych, pytanie więc jakie jest minimum które muszę zrobić?
- zabezpieczenie API - na start myślałem o prostej autentykacji za pomocą tokena JWT, generowanego na podstawie username/password
- HTTPS? By powyższe miało sens, chyba warto by dane były szyfrowane?
- Silne hasło na bazę danych - tutaj jeżeli ktoś dysponuje jakąś dokumentacja, to z chęcią bym poczytał jak to bezpiecznie przechowywać. To hasło musi trafić do
docker-compose.yml
a także do propertiesów aplikacji. Może naiwne pytanie, ale czy nie mogę takiego hasła po prostu wpisać w te dwa miejsca z poziomu SSH? Wtedy nie ma go w repo, jest tylko zapisane (plaintextem) w systemie VMki. Jeżeli ktoś dostanie się do niej to oczywiście je odczyta, jednak w takim przypadku i tak żadne hasło już chyba nie pomoże.