Szyfrowanie plików w chmurze publicznej

Traktuj wszystkie informacje wgrywane do internetu jako publicznie dostępne.
Dla każdego. Na zawsze.

dropbox-hacked Po niedawno ujawnionym wycieku ponad 68 milionów loginów i haseł z Dropboxa i skandalicznej postawie Dropoboxa w sprawie tego incydentu, warto się przez chwilę zastanowić, czy jest jakikolwiek sens korzystania z darmowych chmur publicznych do trzymania w nich własnych plików. Rozwiązania typu Dropbox, OneDrive, Google Drive są bardzo podobne do siebie, zarówno pod względem dostępnych funkcji jak i zagrożeń jakie ze sobą niosą. Główną ich wadą jest brak szyfrowania end-to-end (zwanego też client-side), co oznacza, że dostawca chmury (oraz potencjalny haker) ma pełny dostęp do wszystkich naszych danych.

Read More

Wyświetlanie i analiza logów z kontenera Dockera

Przydatna komenda, kiedy chcemy zacząć śledzenie logów z kontenera, ale chcemy zacząć tylko od kilku ostatnich:

docker logs --timestamps --tail 20 --follow [nazwa_kontenera]

Warto zwrócić uwagę na flagę „timestamps” – docker sam śledzi kiedy kontener wypisuje log na standardowe wyjście, wystarczy więc tylko włączyć wyświetlanie tych dat.

Wartościowym połączeniem jest też flaga „–tail 20” (żeby wyświetlić tylko 20 ostatnich linii, a nie wszystkie) oraz „–follow” żeby wypisywać na bieżąco pojawiające się logi.

Przydatna komenda kiedy potrzebujemy przejrzeć logi z kontenera szukając określonej frazy:

docker logs --timestamps [nazwa_kontenera] 2>&1 | grep "Warning"

Jeśli output z logów chcemy połączyć poprzez pipe np. z „grep”-em, wówczas musimy jeszcze zadbać o przekierowanie stderr na stdout („2>&1”). Z komendy „docker logs” wychodzą oba strumienie i trzeba je połączyć przed przesłaniem przez pipe.

Opcja, która wiąże się z „–timestamps”, to „–since”, ogranicza z dołu od kiedy chcemy zobaczyć logi. Należy podać jako argument pełny timestamp w formacie wypisywanym po użyciu flagi „–timestamps” lub okres w formacie Go, np. „1h30m”.

Łącząc wszystkie opisane wyżej metody możemy łatwo sprawdzić, czy i kiedy dokładnie np. w naszej bazie danych działo się coś niepokojącego w ostatnim czasie:

docker logs --timestamps --since "24h" postgres_container 2>&1 | grep "ERROR"

Uwaga: powyższe przykłady działają oczywiście tylko wtedy, gdy nie skonfigurowaliśmy innego drivera logowania.

Oficjalna dokumentacja, bez fajnych przykładów jak powyżej: https://docs.docker.com/engine/reference/commandline/logs/.