Bądź na bieżąco - RSS

Portainer nie działa po aktualizacji Dockera – najszybsze rozwiązanie

27 grudnia, 2025 | Brak Komentarzy | Kategoria: Linux, Porady

Błąd Portainer local unreachable po aktualizacji DockeraPortainer nie działa po aktualizacji Dockera – najszybsze rozwiązanie:

Po aktualizacji systemu lub Dockera (szczególnie do wersji Docker Engine 29) wielu administratorów zauważa, że Portainer uruchamia się poprawnie, można się do niego zalogować, ale nie da się zarządzać lokalnym środowiskiem Docker.

W interfejsie Portainera pojawia się wtedy komunikat:

Failed loading environment
The environment named local is unreachable

W tym artykule pokazuję najszybsze i najprostsze rozwiązanie, które pozwala przywrócić działanie Portainera bez cofania Dockera ani systemu operacyjnego.


Dlaczego Portainer przestaje działać po aktualizacji Dockera?

Od wersji Docker Engine 29 demon Dockera wymusza minimalną wersję API na poziomie 1.44. Problem polega na tym, że aktualna wersja Portainer CE wciąż korzysta ze starszej wersji Docker API.

Efekt jest następujący:

  • Docker działa poprawnie
  • Kontener Portainera uruchamia się bez błędów
  • Portainer nie może połączyć się z lokalnym Dockerem

To powoduje, że środowisko local jest oznaczone jako niedostępne.


Najprostsze i najszybsze rozwiązanie problemu

Rozwiązaniem jest obniżenie minimalnej wersji Docker API, którą demon Dockera akceptuje od klientów takich jak Portainer.

Wykonuje się to poprzez edycję pliku konfiguracyjnego Dockera:

Krok 1: Edycja pliku /etc/docker/daemon.json

Na hoście (Debian, Ubuntu, Raspberry Pi OS) otwórz plik:

sudo nano /etc/docker/daemon.json

Jeżeli plik nie istnieje, utwórz go i wklej:

{
  "min-api-version": "1.24"
}

Jeżeli plik już istnieje (np. zawiera data-root), dopisz nową linię, zachowując poprawną składnię JSON:

{
  "data-root": "/var/lib/docker",
  "min-api-version": "1.24"
}

Uwaga: brak przecinka między wpisami spowoduje, że Docker nie uruchomi się.


Krok 2: Restart Dockera

sudo systemctl daemon-reload
sudo systemctl restart docker

Sprawdź, czy Docker działa poprawnie:

docker ps

Krok 3: Restart Portainera

docker restart portainer

Po kilku sekundach odśwież interfejs Portainera w przeglądarce.


Efekt końcowy

Po wykonaniu powyższych kroków:

  • środowisko local w Portainerze staje się dostępne
  • można normalnie zarządzać kontenerami i stackami
  • nie ma potrzeby downgrade’u Dockera

Podsumowanie

Problem z Portainerem po aktualizacji Dockera wynika z niezgodności wersji Docker API, a nie z błędnej konfiguracji kontenera.

Dodanie wpisu:

"min-api-version": "1.24"

w pliku /etc/docker/daemon.json jest obecnie najszybszym i najbezpieczniejszym rozwiązaniem, dopóki Portainer nie wprowadzi pełnej kompatybilności z Docker Engine 29.

G

Tagi: , , ,

OpenVAS w kontenerze Docker

2 grudnia, 2025 | Brak Komentarzy | Kategoria: Linux, Porady
OpenVAS, Docker

Przewodnik po obrazie immauss/openvas

 

OpenVAS (Open Vulnerability Assessment Scanner) to jedno z najbardziej rozpoznawalnych narzędzi open-source do skanowania luk w zabezpieczeniach.
Dzięki konteneryzacji z wykorzystaniem Dockera wdrożenie oraz utrzymanie tego skanera stało się prostsze, bardziej powtarzalne i odporne na problemy
z zależnościami systemowymi. Jednym z najpopularniejszych kontenerowych wydań jest obraz immauss/openvas, który umożliwia szybkie uruchomienie w pełni funkcjonalnego środowiska skanowania na dowolnym serwerze obsługującym Docker.

Czym jest immauss/openvas?

Obraz immauss/openvas to nieoficjalny, lecz aktywnie rozwijany kontener Dockera zawierający kompletną instalację narzędzia OpenVAS/GVM.
Projekt jest regularnie aktualizowany, co zapewnia świeże bazy NVT (Network Vulnerability Tests), środowisko GVM oraz kompatybilność z nowszymi wersjami Dockera.

Najważniejsze cechy obrazu:

  • oparty na aktualnych pakietach GVM,
  • zautomatyzowane pobieranie i aktualizacje baz NVT,
  • gotowy do użycia interfejs webowy,
  • uproszczona konfiguracja oraz start kontenera.

Instalacja i pierwsze uruchomienie

Wymagania wstępne

  • System Linux, macOS lub Windows (z włączonym Docker Desktop).
  • Zainstalowany i działający Docker Engine.

Pobranie obrazu

docker pull immauss/openvas

Uruchomienie kontenera

Przykładowa komenda docker run:

docker run -d \
  --name openvas \
  -p 8080:9392 \
  -v openvas-data:/data \
  immauss/openvas

Opis parametrów:

  • --name openvas — nazwa kontenera,
  • -p 8080:9392 — mapowanie portu interfejsu webowego GVM na port 8080 hosta,
  • -v openvas-data:/data — wolumen zapewniający trwałość danych (konfiguracje, wyniki skanów, raporty).

Ważna informacja — pierwsze uruchomienie trwa długo

Przy pierwszym starcie kontener pobiera pełną bazę testów NVT oraz kompiluje je – operacja ta może potrwać
nawet kilkadziesiąt minut, w zależności od wydajności dysku i łącza internetowego. Jest to zachowanie oczekiwane i
nie należy przerywać tego procesu, jeśli kontener wygląda na zajęty lub logi intensywnie się przewijają.

Dostęp do interfejsu webowego i pierwsze kroki

Po poprawnym uruchomieniu kontenera otwórz przeglądarkę i wpisz adres:

http://[IP_SERWERA]:8080

Domyślny login: admin
Hasło: generowane automatycznie przy starcie kontenera.

Aby wyświetlić wygenerowane hasło, użyj polecenia:

docker logs openvas | grep "Admin Password"

Po zalogowaniu zaleca się natychmiastową zmianę hasła oraz konfigurację podstawowych parametrów systemu,
w szczególności ustawień związanych z kontami użytkowników, polityką haseł oraz dostępem sieciowym do panelu GVM.

Kluczowe funkcje i możliwości OpenVAS/GVM

OpenVAS w wersji kontenerowej oferuje pełny zestaw funkcjonalności środowiska GVM, co pozwala na realizację
kompleksowych procesów zarządzania podatnościami w infrastrukturze IT.

Skanowanie hostów i sieci

  • skan pojedynczego adresu IP,
  • skan całych zakresów adresowych (np. w notacji CIDR),
  • zaawansowane skanowanie z parametryzacją portów, intensywności testów oraz wykluczeń.

Zarządzanie zadaniami skanowania

  • definiowanie zadań skanowania przypisanych do konkretnych celów (Targets),
  • tworzenie harmonogramów skanów cyklicznych,
  • wykorzystanie profili skanowań dostosowanych do różnych scenariuszy (np. szybki skan, pełny audyt).

Zaawansowana analiza raportów

  • eksport raportów do formatów takich jak PDF, XML czy TXT,
  • grupowanie wyników według poziomu ryzyka i rodzaju podatności,
  • śledzenie zmian podatności w czasie, co ułatwia weryfikację efektywności wdrażanych poprawek.

Integracje i automatyzacja

  • dostępne API GVM (GMP), pozwalające na integrację z systemami SIEM, SOAR lub autorskimi narzędziami,
  • możliwość uruchamiania skanów zautomatyzowanych w ramach pipeline’ów CI/CD,
  • współpraca z systemami zarządzania ryzykiem i ticketingiem (np. poprzez integracje pośrednie).

Zalety użycia wersji kontenerowej

Uruchomienie OpenVAS jako kontenera Dockera niesie ze sobą szereg korzyści z punktu widzenia administratorów systemów
oraz zespołów odpowiedzialnych za cyberbezpieczeństwo.

Izolacja środowiska

Kontener zapewnia izolację procesów i zależności od systemu hosta. Dzięki temu instalacja OpenVAS nie wpływa na inne
usługi oraz pakiety zainstalowane w systemie operacyjnym, a ewentualne konflikty bibliotek są znacząco ograniczone.

Łatwość aktualizacji

Aktualizacja środowiska sprowadza się do pobrania nowszej wersji obrazu i ponownego uruchomienia kontenera:

docker pull immauss/openvas
docker stop openvas
docker rm openvas
docker run -d \
  --name openvas \
  -p 8080:9392 \
  -v openvas-data:/data \
  immauss/openvas

Dane (konfiguracje, wyniki skanów, raporty) pozostają zachowane w wolumenie openvas-data.

Przenośność i skalowalność

Kontener można uruchomić na dowolnym serwerze, który obsługuje Dockera — zarówno w infrastrukturze on-premise,
jak i w chmurze. Umożliwia to szybkie tworzenie środowisk testowych, a także skalowanie rozwiązania poprzez uruchomienie
wielu instancji w zależności od potrzeb organizacji.

Brak konfliktów zależności

Tradycyjna instalacja OpenVAS bezpośrednio w systemie bywa wymagająca i podatna na problemy z zależnościami.
Wersja kontenerowa eliminuje konieczność ręcznej kompilacji czy dostosowywania środowiska, ponieważ wszystkie
potrzebne komponenty znajdują się wewnątrz obrazu Docker.

Szybkie i powtarzalne wdrożenie

Wdrożenie OpenVAS za pomocą kontenera Docker może zostać w pełni zautomatyzowane (np. z użyciem Ansible, Terraform
czy pipeline’ów CI/CD), co pozwala na szybkie odtwarzanie środowiska w różnych lokalizacjach lub w razie awarii.

Podsumowanie

Kontener immauss/openvas stanowi wydajne, stabilne i praktyczne rozwiązanie dla specjalistów
cyberbezpieczeństwa, administratorów systemów, zespołów SOC oraz pentesterów. Umożliwia szybkie wdrożenie narzędzia
OpenVAS na dowolnym środowisku, zapewnia efektywną automatyzację skanowania oraz pełną powtarzalność konfiguracji.

Włączenie tego rozwiązania do arsenału narzędzi bezpieczeństwa znacząco ułatwia prowadzenie regularnych, niezależnych audytów podatności, wspiera proces zarządzania ryzykiem oraz pozwala na bieżąco weryfikować stan bezpieczeństwa infrastruktury IT w organizacji.

G

Tagi: , ,

Bezpieczny serwer SFTP w 5 minut? To możliwe z Dockerem i atmoz/sftp!

27 września, 2025 | Brak Komentarzy | Kategoria: Linux, Porady
Serwer SFTP atmoz/sftp

Potrzebujesz szybko uruchomić bezpieczny serwer SFTP w odizolowanym środowisku, bez instalacji dodatkowego oprogramowania na serwerze? Dzięki obrazowi Docker atmoz/sftp jest to możliwe w kilka minut. W tym artykule pokażemy, jak skonfigurować taki serwer krok po kroku oraz jak dostosować go do różnych scenariuszy w praktyce.

Dlaczego warto wybrać atmoz/sftp?

Obraz atmoz/sftp to lekka, gotowa do użycia implementacja serwera SFTP, która działa w kontenerze Dockera. Rozwiązuje typowe problemy administratorów:

  • Izolacja: serwer SFTP działa w kontenerze, minimalizując ryzyko wpływu na system hosta.
  • Łatwa konfiguracja: wystarczy kilka zmiennych środowiskowych, by uruchomić gotowy serwer.
  • Bezpieczeństwo: dostęp oparty na SSH i możliwość ograniczenia użytkowników do wybranych katalogów.
  • Szybkość wdrożenia: w kilka minut można uruchomić działający serwer, bez kompilacji czy skomplikowanej konfiguracji.

Instalacja Dockera

Jeśli nie masz jeszcze zainstalowanego Dockera, możesz to zrobić w systemach Linux za pomocą poleceń:

sudo apt update 
sudo apt install docker.io -y 
sudo systemctl enable --now docker 

Sprawdź, czy Docker działa poprawnie:

docker --version 

Uruchomienie podstawowego serwera SFTP

Poniższe polecenie tworzy prosty serwer SFTP z jednym użytkownikiem:

docker run -p 22:22 -d \ 
-v /host/data:/home/user/upload \ 
-e SFTP_USERS="user:password:::upload" \ 
atmoz/sftp 

Wyjaśnienie parametrów:

  • -p 22:22 – mapowanie portu kontenera na port hosta.
  • -v /host/data:/home/user/upload – montowanie katalogu z hosta jako przestrzeni dostępnej dla użytkownika.
  • -e SFTP_USERS – definiuje użytkowników w formacie login:hasło:uid:gid:katalog.

Praktyczne scenariusze konfiguracji

1. Jeden użytkownik z dostępem do katalogu

docker run -p 22:22 -d \ 
-v /srv/sftp/data:/home/alice/data \ 
-e SFTP_USERS="alice:SuperHaslo:::data" \ 
atmoz/sftp 

Użytkownik alice może logować się i przesyłać pliki wyłącznie do katalogu /home/alice/data.

2. Wielu użytkowników z różnymi katalogami

docker run -p 22:22 -d \ 
-v /srv/sftp/alice:/home/alice/data \ 
-v /srv/sftp/bob:/home/bob/docs \ 
-e SFTP_USERS="alice:HasloAlice:::data bob:HasloBob:::docs" \ 
atmoz/sftp 

Każdy użytkownik ma własny katalog i jest w nim ograniczony (tzw. chroot).

3. Integracja z aplikacją – katalog współdzielony

docker run -p 2222:22 -d \ 
-v /srv/app/uploads:/home/client/shared \ 
-e SFTP_USERS="client:TrudneHaslo:::shared" \ 
--name sftp-server \ 
atmoz/sftp 

Taki scenariusz jest często używany do automatycznej wymiany danych między aplikacjami a partnerami biznesowymi.

Bezpieczeństwo i dobre praktyki

  • Używaj silnych haseł lub – lepiej – kluczy SSH.
  • Uruchamiaj kontener z ograniczonymi uprawnieniami i wyłącz dostęp roota.
  • Regularnie aktualizuj obraz atmoz/sftp do najnowszej wersji.
  • Monitoruj logi kontenera za pomocą docker logs.

Zalety wykorzystania Dockera i atmoz/sftp

Uruchomienie serwera SFTP w kontenerze Dockera pozwala na:

  • Szybkie wdrożenie: pełna konfiguracja w kilka minut.
  • Łatwą migrację: kontener można przenieść na inny host bez zmian w konfiguracji.
  • Bezpieczeństwo: odizolowane środowisko minimalizuje ryzyko podatności w systemie hosta.
  • Skalowalność: łatwo uruchomić wiele instancji dla różnych klientów.

Podsumowanie

Obraz atmoz/sftp to idealne rozwiązanie, jeśli potrzebujesz szybko uruchomić bezpieczny serwer SFTP w odizolowanym i łatwym do zarządzania środowisku. Dzięki Dockerowi wdrożenie jest proste, a konfiguracja elastyczna – od prostych jednoużytkownikowych scenariuszy po integrację z aplikacjami biznesowymi.

G

Tagi: , , , ,

Guacamole – zdalny dostęp w przeglądarce

26 października, 2024 | Brak Komentarzy | Kategoria: Linux, Porady

Apache Guacamole to bezkliencki system zdalnego dostępu, który umożliwia łączenie się z pulpitami zdalnymi poprzez przeglądarkę internetową. Dzięki obsłudze protokołów takich jak VNC, RDP i SSH, pozwala na zarządzanie różnymi systemami operacyjnymi z jednego miejsca, bez konieczności instalowania dodatkowego oprogramowania na urządzeniu klienckim.

W poniższym wideo przedstawiono szczegółowy proces instalacji Guacamole przy użyciu Dockera. Krok po kroku omówiono konfigurację bramki zdalnego dostępu, co umożliwia szybkie wdrożenie tego rozwiązania w środowisku sieciowym. Dzięki temu można efektywnie zarządzać zdalnymi systemami i aplikacjami, co jest szczególnie przydatne w administracji infrastrukturą IT.

Przydatne linki:

G

Tagi: , , , ,

Portainer po aktualizacji Docker 26 – problemy

29 czerwca, 2024 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer Docker 26 - problemy

Wprowadzenie

Niedawna aktualizacja Dockera do wersji 26 spowodowała problemy dla użytkowników Portainera. W tym artykule omówimy na czym polegają te problemy, jakie są ich przyczyny oraz jak można je rozwiązać. Pokażemy również przykłady możliwych działań, aby uniknąć zakłóceń w działaniu systemów.

Problem

Po aktualizacji Dockera do wersji 26, wielu użytkowników Portainera (wersja 2.19.4) zauważyło, że nie mogą wyświetlać szczegółów obrazów ani uzyskiwać dostępu do konsoli kontenerów. Utrudnia to poważnie zarządzanie kontenerami i monitorowanie ich stanu.

Przykłady problemów

  • Brak możliwości przeglądania szczegółów obrazów Docker.
  • Niedziałająca konsola kontenerów, co uniemożliwia wykonywanie poleceń wewnątrz kontenerów.

Przyczyny

Problemy te wynikają z usunięcia niektórych funkcji w Dockerze 26, na których polegała poprzednia wersja Portainera. Zmiany w Dockerze spowodowały, że niektóre API używane przez Portainera przestały działać zgodnie z oczekiwaniami.

Rozwiązania

Tymczasowe rozwiązanie

Jednym z tymczasowych rozwiązań jest cofnięcie wersji Dockera do 25.0.5. Umożliwi to powrót do poprzedniej funkcjonalności, zanim zostanie wprowadzona odpowiednia poprawka w Portainerze.

Aktualizacja Portainera

Zespół Portainera szybko zareagował na zgłoszone problemy i wydał wersję 2.20.1, która naprawia problemy z kompatybilnością z Dockerem 26. Zaleca się aktualizację Portainera do tej wersji, aby uniknąć dalszych problemów.

Jak przeprowadzić aktualizację

  1. Cofnięcie wersji Dockera:
  • Odinstaluj obecną wersję Dockera.
  • Zainstaluj Docker w wersji 25.0.5 z odpowiedniego źródła.
  1. Aktualizacja Portainera:
  • Przejdź do strony Portainera i pobierz najnowszą wersję.
  • Zaktualizuj Portainera do wersji 2.20.1 zgodnie z instrukcjami na stronie.

Przykładowe komendy aktualizacji

# Cofnięcie wersji Dockera do 25.0.5
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install docker-ce=5:20.10.5~3-0~ubuntu-focal

# Aktualizacja Portainera do wersji 2.20.1
docker pull portainer/portainer-ce:2.20.1
docker stop portainer
docker rm portainer
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.1

G

Tagi: , ,

Zarządzanie czasem pracy zdalnej: wprowadzenie do Kimai i Docker

27 stycznia, 2024 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Praca zdalna i prawo: efektywne monitorowanie czasu pracy

W Polsce, w obliczu nowych przepisów prawnych oraz rosnącej popularności pracy zdalnej, pojawiła się pilna potrzeba znalezienia skutecznych metod monitorowania czasu pracy. Zmiana ta wynika z konieczności dostosowania się do przepisów prawa pracy, które wymagają od pracodawców dokładnego rejestrowania czasu pracy pracowników, niezależnie od ich lokalizacji. Rozwiązanie ma na celu zapewnienie ochrony praw pracowniczych i przestrzegania norm dotyczących czasu pracy, co jest szczególnie ważne w modelu pracy zdalnej, gdzie tradycyjne metody rejestracji czasu pracy mogą być nieefektywne lub niewystarczające. Dlatego pojawiła się potrzeba wdrożenia narzędzi umożliwiających efektywne i zgodne z prawem zarządzanie czasem pracy zdalnej. Jednym z proponowanych jest bezpłatna platforma Kimai, która oferuje funkcjonalności konkurencyjne w stosunku do płatnych rozwiązań, takich jak TimeCamp czy Toggl, dostarczając równie efektywnych narzędzi do monitorowania czasu pracy, lecz bez dodatkowych kosztów dla organizacji.

Konteneryzacja Docker: efektywność i bezpieczeństwo

Konteneryzacja za pomocą Dockera stanowi jedną z najbardziej efektywnych metod wdrażania i zarządzania aplikacjami, oferując szereg zalet zarówno na systemach Windows, jak i Linux. Jedną z głównych zalet jest zdolność do szybkiego tworzenia gotowych do użycia serwerów w ciągu zaledwie kilku minut. Docker pozwala na izolację aplikacji w kontenerach, co zapewnia spójność środowiska między różnymi systemami operacyjnymi, eliminując typowe problemy związane z różnicami w konfiguracji. Co więcej, konteneryzacja ułatwia zarządzanie zasobami, umożliwiając efektywniejsze wykorzystanie dostępnej infrastruktury. Istotnym aspektem bezpieczeństwa jest możliwość korzystania z dobrze utrzymywanych i regularnie aktualizowanych obrazów kontenerów, co minimalizuje ryzyko eksploatacji znanych luk bezpieczeństwa. Dzięki temu, wybierając Docker, użytkownicy otrzymują nie tylko szybkie i elastyczne rozwiązanie do wdrażania aplikacji, ale także system, który przy odpowiednim zarządzaniu i wyborze źródeł może oferować wysoki poziom bezpieczeństwa.

Docker-compose: uproszczenie zarządzania wieloma kontenerami

Pakiet docker-compose jest narzędziem ułatwiającym zarządzanie wielokontenerowymi aplikacjami Docker. Pozwala on na definiowanie i uruchamianie aplikacji składających się z wielu kontenerów za pomocą jednego pliku konfiguracyjnego, zwanego docker-compose.yml. Dzięki temu, zamiast uruchamiać każdy kontener osobno i ręcznie zarządzać ich zależnościami oraz siecią, użytkownicy mogą wykorzystać docker-compose do automatyzacji tego procesu. Narzędzie to znacznie upraszcza proces konfiguracji środowiska, zwłaszcza w przypadku skomplikowanych aplikacji, gdzie interakcje między kontenerami są kluczowe. Ważne jest, że docker-compose nie jest domyślnie dołączony w instalacji standardowej wersji Docker i wymaga osobnego zainstalowania w systemie. Jest on dostępny zarówno dla systemów operacyjnych Windows, jak i Linux, a jego instalacja znacząco rozszerza możliwości zarządzania kontenerami Docker, ułatwiając pracę deweloperów i administratorów systemów. W systemie Windows docker-compose jest zwykle instalowany automatycznie wraz z Docker Desktop, a jego aktualizacja odbywa się poprzez aktualizację całego pakietu Docker Desktop.

Instalacja Kimai: konfiguracja via docker-compose

Aby rozpocząć instalację Kimai, pierwszym krokiem jest przygotowanie niezbędnego środowiska, a następnie utworzenie nowego folderu, w którym należy zapisać plik z poniższego przykładu. Jest on kluczowy dla procesu instalacji, gdyż zawiera konfigurację niezbędną do uruchomienia i zarządzania Kimai przy użyciu Docker-compose.

version: '3.5'
services:
  sqldb:
    image: mysql:5.7
    environment:
      - MYSQL_DATABASE=kimai
      - MYSQL_USER=kimai
      - MYSQL_PASSWORD=kimai
      - MYSQL_ROOT_PASSWORD=kimai
    volumes:
      - ./kimai2_db:/var/lib/mysql
    command: --default-storage-engine innodb
    restart: unless-stopped
  nginx:
    image: tobybatch/nginx-fpm-reverse-proxy
    ports:
      - 8080:80
    volumes:
      - public:/opt/kimai/public:ro
    restart: unless-stopped
    depends_on:
      - kimai
  kimai:
    image: kimai/kimai2:latest
    environment:
      - APP_ENV=prod
      - TRUSTED_HOSTS=localhost
      - ADMINMAIL=admin@example.me
      - ADMINPASS=changemeplease
      - DATABASE_URL=mysql://kimai:kimai@sqldb/kimai
      - TRUSTED_HOSTS=nginx,localhost,127.0.0.1
    volumes:
      - public:/opt/kimai/public
    restart: unless-stopped
volumes:
    public:

Żeby spersonalizować konfigurację trzeba zmienić dwa ustawienia zanaczone pogrubioną czcionką. W przypadku adresu e-mail będzie to zarazem nazwa konta do pierwszego logowania. W ostatnim kroku aby uruchomić swoją instancję Kimai i rozpocząć śledzenie czasu otwórz terminal, przejdź do folderu, w którym przechowywany jest powyższy plik, i wykonaj polecenie:

 docker-compose up -d

Po pomyślnym wykonaniu polecenia możesz otworzyć swoją instancję do śledzenia czasu Kimai w preferowanej przeglądarce internetowej i zalogować się przy użyciu danych uwierzytelniających z pliku docker.

G

Tagi: , , ,

Reset hasła administratora – Portainer

29 marca, 2023 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer

Konteneryzacja przy użyciu Dockera jest obecnie jednym z absolutnie topowych tematów. Świat zmierza w kierunku upraszczania i przyspieszania wszelkich operacji więc nikogo nie zdziwi, że do zarządzania Dockerem najłatwiej i najszybciej jest użyć nakładki o nazwie Portainer. Niestety zawodna pamięć ludzka (oraz brak dobrych nawyków) często prowadzą nas na manowce. W konsekwencji może zdarzyć się, że hasło administracyjne do tego ostatniego po prostu nam umknie. Co wtedy zrobić?

Po pierwsze musimy zmierzyć się z konsolą serwera i zatrzymać kontener Portainer:

docker stop "id-kontenera-portainera"

W drugim kroku przystępujemy do właściwej operacji pobierając odpowiednie narzędzie z repozytorium:

docker pull portainer/helper-reset-password

Ostatecznie możemy zeresetować hasło dla konta admin:

docker run --rm -v portainer_data:/data portainer/helper-reset-password

W wyniku działania powyższej komendy powinniśmy otrzymać zestaw niezbędnych informacji:

... Password succesfully updated for user: admin
... Use the following password to login: ****

Zwróćmy uwagę na wyświetlane hasło, które trzeba zapamiętać. Najprawdopodobniej zmienimy je przy pierwszej okazji ale na razie będzie nam potrzebne.

Na koniec używamy poniższego polecenia, aby ponownie uruchomić kontener z Portainerem, a następnie zalogować się przy użyciu nowego hasła.

docker start "id-kontenera-portainera"

Jak wspomniałem podejrzewam, że pierwszą czynnością będzie zmiana hasła i cały cykl znowu może się powtórzyć. 😉

Tagi: , ,

Kopie zapasowe Docker

3 sierpnia, 2022 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, MacOS, Porady, Windows
Kopie zapasowe Docker

Ten temat pojawiał się wielokrotnie we wpisach. Chodzi oczywiście o kopie zapasowe. Ludzie dzielą się na dwie kategorie tych, którzy je robią i tych, którzy je będą robili (truizm, ale trzeba go powtarzać do znudzenia). Tym razem, ponieważ od jakiegoś czasu bardzo popularne są rozwiązania oparte o konteneryzację, parę słów jak to zrobić gdy używamy środowiska Docker.

Oczywiście metodę, o której będzie za chwilę można również stosować np. do migracji całych kontenerów na nowe serwery.

Cała procedura składa się z kilku dosyć prostych kroków. Jedynym wymaganiem jest posiadanie dostępu w wiersza poleceń (konsola). Inna sprawa to mała sugestia, że najlepiej będzie skorzystać ze środowiska Linux (Debian, Ubuntu itp.) do budowy swojego serwera. Jednak w przypadku Windowsów również wszystko powinno działać.

Krok pierwszy to zatrzymanie kontenera, dla którego będziemy tworzyć kopię zapasową:

docker stop nazwa_kontenera

Jeżeli nie wiemy jakiej nazwy użyć lub po prostu otrzymujemy komunikat o błędzie wystarczy sprawdzić wszystkie dostępne kontenery:

docker container ls

W drugim kroku tworzymy obraz naszego kontenera:

docker commit nazwa_kontenera nazwa_kontenera

Ostatni parametr to tak naprawdę nazwa obrazu ale dla uproszczenia przyjmijmy, że jest ona taka sama jak nazwa kontenera.

Trzeci krok to zapisanie obrazu do pliku.

docker save nazwa_kontenera

W tym miejscu należy wspomnieć, że do tego momentu udało się zapisać stan kontenera. Jeśli instalacje, dla których robimy kopie mają zdefiniowane zewnętrzne wolumeny to należy skopiować ich zawartość oddzielnie. Generalnie można to zrobić ręcznie, ale dużo wygodniej będzie skorzystać z gotowego rozwiązania. Warto polecić skrypt docker-volumes.sh. Za jego pomocą dosyć łatwo można zapisać wszystkie stałe dane do jednego archiwum:

docker-volumes.sh nazwa_kontenera \ 
save nazwa_kontenera_wolumeny.tar.gz

Mając kopie zapasową w postaci dwóch plików tj. obrazu kontenera oraz wolumenów jesteśmy zabezpieczeni. Jeśli chcielibyśmy przenieść dane na inne sewery wystarczy skopiować je do nowej lokalizacji.

Ostatecznie na nowym serwerze, po przygotowaniu środowiska Docker, wykonujemy trzy polecenia.

Tworzymy kontener z wykorzystaniem skopiowanego obrazu:

docker create --name nazwa_kontenera \
{zestaw_opcji_uruchomieniowych} nazwa_kontenera

Przywracamy wolumeny:

docker-volumes.sh nazwa_kontenera load nazwa_kontenera_wolumeny.tar.gz

Uruchamiamy kopie kontenera:

docker start nazwa_kontenera

Przy odrobinie szczęścia, w tym momencie powinniśmy cieszyć się kolejną, nową instancją naszej usługi.

MG

Tagi: , ,

OpenVAS, GVM na Dockerze

1 lutego, 2022 | Brak Komentarzy | Kategoria: Linux, Porady
OpenVAS

OpenVAS należący do znanego projektu o nazwie GVM zalicza się do zestawu narzędzi typu trzeba mieć dla każdego współczesnego administratora, lub jak ktoś woli devopsa (prawda, że od razu brzmi lepiej?). Czy ktoś chce czy nie, temat cyberbezpieczeństwa stał się na tyle modny/istotny, że trzeba zawsze poważnie podchodzić do swoich zadań z tego zakresu. Aby zatem ustrzec się przed włamaniem najlepiej jest samemu sprawdzać swoje sieci, nawet za pomocą podstawowego zbioru wektorów, pod kątem podatności na ataki. Tak zwane testy penetracyjne (powszechnie określane jako pentesty) są tutaj bardzo pożądanym działaniem. I właśnie wspomniany na początku OpenVAS jest jednym z najlepszych środków dla zebzpieczenia się dzięki sprawdzeniu jake luki może posiadać sieć, którą się opiekujemy.

Istalacja OpenVAS od podstaw jest jak najbardziej możliwa, wymaga jednak umięjętnego poruszania się w środowisku Linuksa, oraz co najmniej średniego stopnia zaawansowania biorąc pod uwagę kompilacje kodu źródłowego. Aby w pełni uruchomić i dostroić pakiet trzeba skonfigurować poprawnie dużą liczbę zależności oraz dodatków, bez których aplikacja nie stanie się pełnowartościowym produktem.

Druga, nie mniej istotna sprawa to aktualizowanie definicji wektorów ataku, które przecież w dzisiejszych czasach zmieniają się dość gwałtownie. Jest to również proces, nad którym trzeba zapanować. Używanie do pentestów OpenVAS z niektualnymi zbiorami podatności mija się po prostu z celem.

Aby przyspieszyć proces wdrażania opisywanego narzędzia można skorzystać z kontenerów Docker. Jest to dobra wiadomość, w szczególności dla niezaawansowanych użytkowników. Niemniej próżno szukać oficjalnego źródła na portalach w rodzaju Docker Hub. Dlatego chciałem się podzielić konfiguracją, z kórej sam korzystam. Jest ona sprawdzona o tyle, że przekonałem się, iż jak na razie jest aktulizowana przez autora. Poza tym, aby pobrać najnowsze wektory wystarczy uruchomić ponownie kontener. W trakcie startu zostaną uruchomione skrypty, które zadbają o sprawdzenie stanu definicji i w przypadku konieczności zmiany wersji na nowszą wykonają to za nas.

Co zatem należy zrobić? Zakładając, że na przykład mamy już zainstalowany Docker wraz z docker-compose, oraz dla wygody środowisko graficzne do zarządzania kontenerami Portainer, przechodzimy do zakładki Stacks i budujemy nową konfigurację korzystając z poniższego kodu.

version: "3"
services:
openvas:
ports:
- "8080:9392"
environment:
- "PASSWORD=admin"
- "USERNAME=admin"
- "RELAYHOST=172.17.0.1"
- "SMTPPORT=25"
- "REDISDBS=512" # number of Redis DBs to use
- "QUIET=false" # dump feed sync noise to /dev/null
- "NEWDB=false" # only use this for creating a blank DB
- "SKIPSYNC=false" # Skips the feed sync on startup.
- "RESTORE=false" # This probably not be used from compose… see docs.
- "DEBUG=false" # This will cause the container to stop and not actually start gvmd
- "HTTPS=false" # wether to use HTTPS or not
volumes:
- "openvas:/data"
container_name: openvas
image: immauss/openvas
volumes:
openvas:

Więcej szczegółów można znaleźć na stronie https://github.com/immauss/openvas . Miłej zabawy.

MG

Tagi: , , ,

Portainer – aktualizacja

26 września, 2021 | Brak Komentarzy | Kategoria: Linux, Porady
Portainer i dockery

Portainer to jedna z najlepiej znanych i powszechnie stosowanych platform do wygodnego zarządzania kontenerami Dockera. Zamiast koncentrować się na zapamiętaniu komend linii poleceń możemy przez interfejs graficzny wyklikać praktycznie wszystko. Oczywiście, że zawsze znajdą się zwolennicy „czarnego ekranu”, przyznam że rówież często korzystam z tej metody, ale przy dużej liczbie zarządzanych kontenerów wygodniej jest po prostu skorzystać z przeglądarki.

Od czasu do czasu, w dolnym lewym rogu ekranu powitalnego Portainera pojawia się jednak informacja o dostępności nowej wersji. I w tym przypadku, nie ma już wyjścia, musimy posilić się bezpośrednio terminalem tekstowym. Poniżej zamieściłem podstawowe komendy, których użycie pozwoli zaktualizować Portainer. Oczywiście założyłem, że środowiskiem uruchomieniowym naszego Dockera jest Linux. W moim przypadku, bez wyjątku to któraś wersja pochodna z gałęzi Dabiana. Należy również wspomnieć, że jak będziemy już mieć najnowszy Portainer, to z jego poziomu możemy aktualizować inne kontenery, nie używając linii poleceń.

Zaczynamy od wpisania dwóch poleceń aby zatrzymać i usunąć kontener Portainera:

docker stop portainer
docker rm portainer

Następnie usuwamy obraz Portainera z lokalnego repozytorium:

docker images
docker rmi [IMAGE ID]

Pierwsze polecenie pokaże nam listę wszystkich obrazów. W kolejnym staramy się usunąć wybrany poprzez wskazanie jego ID.

Teraz czas na pobranie najnowszego obrazu Poratinera:

docker pull portainer/portainer-ce

I wreszcie możemy zainstalować nową wersję platformy:

docker run -d -p 8000:8000 -p 9000:9000 —name=portainer /
—restart=always -v /var/run/docker.sock:/var/run/docker.sock /
-v portainer_data:/data portainer/portainer-ce

Dobrze jest pamiętać aby nie zmieniać wartości parametru portainer_data, dzięki czemu nie stracimy ustawień konfiguracyjnych pomiędzy kolejnymi aktualizacjami.

I to wszystko. Teraz można przystąpić do testowania.

MG

Tagi: , , , ,