W nowej części przeglądu zamierzam przedstawić szereg wybranych narzędzi i oprogramowania, które zostało zaprojektowane z myślą o bezpieczeństwie i prywatności. Stawiamy na użyteczność i ogólny komfort używania aplikacji, aby każdy bez względu na system operacyjny mógł skorzystać z wybranych programów (chociaż rozumiem, że nie zawsze będzie to możliwe).
Send
Do 17 września 2020 istniał projekt Firefox Send, dostępny pod adresem send.firefox.com. Pozwalał on na bezpieczne udostępnianie plików z możliwością ustawienia hasła, liczby możliwych pobrań czy daty wygaśnięcia. Alternatywą może stanowić file.io, natomiast nie posiada opcji zabezpieczenia danych hasłem. Powstał jednak fork Send, który cały czas jest aktualizowany. Dzięki temu łatwo możemy uruchomić opartą na tym projekcie usługę na maszynie z zainstalowanym Node.js i npm (przyda się też NGINX czy Apache do utworzenia reverse proxy na port 80/443). O ile są lepsze rozwiązania do udostępniania w sieci lokalnej (w tym opisywany poniżej LANDrop), to już chcąc zachować kontrolę nad dostępem z zewnątrz, możemy wykorzystać opisywany projekt.
Scoop
Bardzo ciekawe narzędzie, ponieważ pozwala zainstalować wybrane z ponad 4000 aplikacji na Windows poprzez jedno polecenie w PowerShell. Dodatkową zaletą jest łatwość uruchomienia, ponieważ wystarczy wykonać skrypt, który przeprowadzi cały proces integracji z systemem. Również instalacje aplikacji są naprawdę „bezobsługowe”.
Scoop przeprowadza całą konfigurację w tle bez konieczności stosowania mechanizmu UAC (Czy chcesz zezwolić tej aplikacji na wprowadzenie zmian na tym urządzeniu) i przechodzenia przez etapy instalacji. Pozwala również zachować porządek w systemie plików — dane aplikacji są wyłącznie w folderze scoop.
Proxmox VE
Proxmox VE to bardzo rozbudowane (aczkolwiek stosunkowo proste w obsłudze) środowisko do wirtualizacji. Oparte jest na KVM, co daje większe możliwości w porównaniu do starszej technologii OpenVZ.
Do zarządzania wystarczy dedykowany panel w przeglądarce, dostępny protokołem HTTPS na porcie 8006 serwera z zainstalowanym Proxmox VE. Możemy również używać tradycyjnej powłoki i polecenia qm, natomiast sam dostęp do powłoki przydaje się raczej do bardziej zaawansowanych czynności administracyjnych jak kopiowanie wirtualnych dysków do maszyn wirtualnych, montowanie „po NFS” katalogów z tymi dyskami z innych fizycznych serwerów (co jest dobrą praktyką, bo oszczędza wolne miejsce i zużycie dysku z Proxmox, ponadto łatwiej wykonywać wtedy kopie zapasowe) czy naprawa różnych błędów.
Zaletą i zastosowaniem wirtualizacji jest łatwość tworzenia nowych maszyn wirtualnych z dowolnym systemem operacyjnym i oprogramowaniem.
Szczególnie ważną opcją może być wbudowany firewall, jest bardzo intuicyjny i umożliwia odpowiednie zabezpieczenie dostępu do zewnętrznych portów maszyny, np. możemy ograniczyć dostęp SSH zwirtualizowanego Linuxa jedynie do kilku adresów IP.
Dodam jeszcze, że z poziomu panelu mamy dostęp do tzw. Console, co można porównać do podłączenia monitora do konkretnej maszyny, natomiast nadaje się to jedynie do wstępnej konfiguracji (przede wszystkim przypisania adresu IP na karcie) czy ewentualnego „recovery”, gdy zwirtualizowany system się nie uruchamia, ponieważ rozdzielczość nie jest zbyt wysoka.
Istnieje jeszcze qemu-guest-agent, czyli usługa, którą instalujemy na maszynach wirtualnych (nie jest to jednak obowiązkowy krok), pozwalająca na większą integrację maszyny (gościa) z Proxmox (host). Z zainstalowanym agentem widzimy np. przypisany adres IP na karcie Summary danej maszyny. W tym samym widoku mamy także dostęp do wykresów obciążenia, często jest to przydatna funkcjonalność.
Proxmox VE to szeroki temat i najlepszą metodą poznania tego środowiska jest po prostu praktyka.
LANDrop
Prosta aplikacja umożliwiająca udostępnianie plików w sieci lokalnej. Wymaga zainstalowania na urządzeniu wysyłającym i odbierającym (zapewniono wsparcie dla wszystkich znaczących systemów). Urządzenia z zainstalowanym LANDrop „widzą się”, co jeszcze bardziej ułatwia wymianę danych (szyfrowaną). Proces przebiega w ten sposób:
- Wskazujemy plik do wysłania.
- Wybieramy urządzenie z listy lub po prostu wpisujemy jego adres wraz z portem, na którym działa aplikacja u odbiorcy.
- Odbiorca potwierdza gotowość do otrzymania pliku (jest proszony o weryfikację, czy kod u nadawcy jest identyczny).
- Plik zostanie przesłany do folderu przeznaczonego dla otrzymanych danych.
W przypadku systemów desktopowych LANDrop nie jest instalowany, aplikację po prostu uruchamiamy i pojawia się w tray’u systemowym.
Gitea
Gitea to stosunkowo lekkie oprogramowanie do obsługi systemu kontroli wersji Git. Oferuje typowe możliwości, czyli tworzenie repozytoriów, zarządzanie nimi i operacje na danych w nich zebranych. Oczywiście nic nie zastąpi pełnych środowisk i wysyłania zmian (git push), ponieważ Gitea jak i inne podobne programy pozwala na edycję pojedynczych plików, nie ma też opcji usuwania katalogów itd.
Myślę, że użycie Gitea będzie dobrym wyborem, również dla dużych projektów rozwijanych przez dziesiątki deweloperów.
„Wadą” teoretycznie jest brak wsparcia dla CI/CD (w przeciwieństwie do GitLab z jego całym „zapleczem” DevOps), natomiast nie widzę problemu z integracją, chociażby z Jenkins. Zawsze można też napisać własne skrypty służące do wdrażania naszych aplikacji i tutaj rewelacyjnie sprawdzi się projekt Deployer z gotowymi skryptami dla najpopularniejszego oprogramowania (m.in. WordPress, Joomla, Drupal, Magento).
Czy ten artykuł był pomocny?
Oceniono: 8 razy