Bądź na bieżąco - RSS

Aktualizacja Debian LTS za pomocą Freexian

1 sierpnia, 2023 | Brak Komentarzy | Kategoria: Linux, Porady

Debian, Freexian, aktualizacja, LTS

Debian

Każdy, nawet najlepszy system operacyjny ma swój termin przydatności. Najczęściej po jego przekroczeniu trudno oczekiwać wsparcia w postaci aktualizacji oprogramowania systemowego. Prowadzi to z kolei do całkiem prawdopodobnego narażania się na niebezpieczeństwo w postaci niezałatanych dziur i w konsekwencji ataków na usługi, które pracowicie utrzymujemy. Takie niedbałości w postaci porzuconych systemów można spotkać wbrew pozorom całkiem często.

Jeśli mamy pod opieką pojedyncze maszyny, nieważne czy jako fizyczne serwery czy jako wirtualne instancje, to oczywiście aktualizacja systemu operacyjnego do nowszej wersji jest wyzwaniem ale prawdopodobnie niezbyt wymagającym. Jeśli jednak wspomnianych serwerów jest cała masa albo co gorsza zainstalowaliśmy unikalne ale ważne usługi, których konfiguracja jest naprawdę pracochłonna to aktualizacja może być procesem, który spowoduje, że będziemy musieli się nieco napracować.

Nic dziwnego, że o ile jest dostępna droga przedłużenia wsparcia dla systemu, nawet jako alternatywa dla oficjalnych repozytoriów, to czasami chętnie po nią sięgamy. Tak właśnie można wytłumaczyć popularność projektu Freexian, który ratuje przeterminowane serwery z Linux Debian.

O projekcie Freexian wspomninałem już w innym wpisie. Jeśli ktoś chce zapoznać się ze szczegółami to serdecznie zachęcam. Jednak ponieważ pojawiło się parę istotnych nowości to postanowiłem zaktualizować informację.

Wspomniane nowości dotyczą aktualizacji kluczy instalacyjnych, które jakiś czas temu zostały zmienienione. Na szczęście przepis na instalację nowych jest bardzo prosty i sprowadza się do wydania dwóch poleceń:

wget https://deb.freexian.com/extended-lts/pool/main/f/freexian-archive-keyring/freexian-archive-keyring_2022.06.08_all.deb && dpkg -i freexian-archive-keyring_2022.06.08_all.deb
wget https://deb.freexian.com/extended-lts/archive-key.gpg -O elts-archive-key.gpg && mv elts-archive-key.gpg /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg

Jeżeli wszystko przebiegnie pomyślnie to możemy dodać do pliku /etc/apt/sources.list odpowienie repozytorium w zależności od wersji naszego systemu operacyjnego:

deb http://deb.freexian.com/extended-lts jessie-lts main contrib non-free
deb http://deb.freexian.com/extended-lts stretch-lts main contrib non-free

Pamiętajmy jednak, że nie zwalnia nas to z obowiązku podniesienia wersji systemu… gdy już będziemy gotowi zmierzyć się z tym zadaniem.

MG

Tagi: , , ,

PHP – konfiguracja wersji

10 listopada, 2022 | Brak Komentarzy | Kategoria: Linux, Porady
PHP

Wiele lat temu gdy Internet dopiero powstawał tworzenie stron było dosyć proste a dokumenty, które w ten sposób przygotowywano były zazwyczaj statyczne. Wkrótce potem apetyt twórców szybko wzrósł i powoli zaczęły pojawiać się treści dynamicznie generowane. Upłyneło kolejnych kilka lat i dziś żeby napisać stronę używamy całych gotowych platform nawet jeżeli treści będzie tam niewiele. Jeśli zaś mowa o platformach to wykorzystują one z reguły do pracy wybrany bazowy język programowania. Oczywiście rozwiązań jest tutaj multum, jednak tym razem chciałem skupić się na dosyć popularnym, chociaż nie pozbawionym wielu wad języku PHP.

Załóżmy, że budujemy witrynę www korzystając z serwera on-premise. W dobie olbrzymiej popularności roziązań chmurowych może wydawać się to nieuzasadnione i szalone ale jeśli komuś zależy nad panowaniem nad całością architektury IT to musi zmierzyć się z budową własnych narzędzi. Załóżmy, że korzystamy już z serwera na bazie Debiana, Ubuntu etc., skonfigurowaliśmy silnik bazy danych, serwer HTTP, w tym przypadku Apache, a teraz chcemy zapanować nad wersjami PHP. Rzecz w tym, że ze względu na mnogość gotowych rozwiązań rozszerzających funkcje z poziomu witryny możemy doświadczyć mnogości wymagań odnośnie typu bibliotek PHP zainstalowanych i uaktywnionych w systemie. Poniżej zamieszczam parę wskazówek jak szybko przełączać ich wersje bez skomplikowanej reinstalacji.

Po pierwsze musimy sprawdzić jakie wersje PHP są dostępne w naszym systemie a następnie zdezaktywować starszą i uaktywnić najświeższą dostępną, jeśli chcemy mieć wszystko zaktualizowane:

a2dismod php7.4
a2enmod php8.0
service apache2 restart

To jednak nie wystarczy aby nasza platforma usług WWW zaczęła widzieć zmiany. Teraz musimy rekonfigurować ustawienia systemowe:

update-alternatives --config php
update-alternatives --config phar
update-alternatives --config phar.phar

Za każdym razem konsekwentnie wybieramy pożądaną wersje PHP. Na koniec ponownie uruchamiamy serwer Apache:

service apache2 restart

Opisana powyżej procedura pozwola zmieniać wersję PHP w obydwie strony, zapewnia zatem całkowitą dowolność.

MG

Tagi: , , ,

openmediavault NAS

25 września, 2022 | Brak Komentarzy | Kategoria: Linux, Porady
openmediavault NAS

openmediavault to projekt, którego popularność wzrasta nieustannie od kilku ładnych lat. Jest to gotowy do użytku zestaw aplikacji pozwalający na zbudowanie własnego serwera NAS w systemie opartym o Debian Linux. W dobie dwóch bardzo dobrych komercyjnych rozwiązań, którymi są produkty firm Synology i QNAP wydawać by się mogło, że kolejny gracz nie jest już potrzebny. Jednak openmediavault to rozwiązania wręcz perfekcyjne jeśli dysponujemy starym serwerem i nie chcemy wydawać pieniądzy żeby przygotować sobie maszynę na kopie zapasowe.

Tym razem jednak chciałbym napisać o alternatywnej metodzie instalacji openmediavault. Ze strony www.openmediavault.org możemy pobrać gotowe obrazy ISO tak aby przeprowadzić standardową instalację tak jak w przypadku każdego systemu operacyjnego tzn. z nośnika USB lub płyty DVD ale istnieje również inna metoda.

Wyobraźmy sobie, że mamy już sewer z Debianem i chcielibyśmy wzbogcić go o nakładkę w postaci openmediavault. Tego typu instalacja nie musi być pozbawiona sensu, zwłaszcza że wraz z oprogramowaniem dostaniemy wygodne narzędzie GUI do utrzymywania środowiska z kontenerami typu Docker plus Portainer czy narzędzie do zarządzania wirtualizacją Linux KVM. Jakby tego było mało – dodatkowo jeśli nie myślimy o zaawansowanej pracy z serwerem Debian – to przy odrobinie samozaparcia możemy w całości zarządzać systemem przy pomocy wspomnianego wyżej GUI.

Co zatem należy zrobić? Trzeba z poziomu konsoli systemowej uruchomić skrypt:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install |  bash

Jeśli zaś nie używamy wget możemy to zrobić tak:

curl -sSL https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install |  bash

Po kilku, kilkunastu minutach powinniśmy mieć zainstalowaną nakładkę openmediavault.

Jeśli nadal coś nie będzie działać lub pojawią się dodatkowe problemy to polecam sprawdzić u źródeł na stronie GitHub OpenMediaVault Plugin Developers w sekcji installScript.

MG

Tagi: , , ,

Kopie zapasowe VMware

31 sierpnia, 2022 | Brak Komentarzy | Kategoria: Porady
Kopie zapasowe VMware

Kopie zapasowe VMware dla maszyn wirtualnych były wielokrotnie poruszane na naszym blogu. Generalnie polecam narzędzie XSIBackup. Ostatnio pojawiły się nowsze płatne wersje ale na szczęście zawsze można skorzystać z wydania pod nazwą Classic.

Przygotowanie całego mechanizmu kopii to jedno, ale proces odzyskiwania danych po awarii to zupełnie inna sprawa. Dawno temu VMware opublikował wygodne narzędzie dla Windows o nazwie VMware Converter. Można go użyć w celu odtworzenia maszyny wirtualnej na wskazanym serwerze. Nietstety narzędzie to nie jest już wspierane od kilku lat i w związku z tym mogą pojawić kłopoty przy odzyskiwaniu danych dla nowszych wersji ESXi. Czy komunikaty o błędach Converetera są powodem do zmartwień? W pewnym sensie tak. Jednak na szczęście istnieje ręczna, dosyć prosta metoda odzyskania zarchiwizowanej maszyny wirtualnej.

W plikach skopiowanych podczas archiwizacji XSIBackup powinna znajdować się konfiguracja – szukamy nazwy z rozszerzeniem vmx. Jeśli tak jest, to kopiujemy wszystkie pliki do jednego katalogu (np. z nazwą naszej maszyny) na serwerze VMware. Można w tym celu wykorzystać narzędzie Datastore browser. Następnie zaznaczamy plik vmx i prawym klawiszem myszki wybieramy z menu opcje Register VM. O ile nie wykonywaliśmy żadnych migawek maszyny, które również są archwizowane to po tej operacji maszyna powinna być już dostępna do uruchomienia.

Co zrobić jeśli jednak mamy zapisane migawki? W takim przypadku powinniśmy zatrzymać maszynę wirtualną a następnie korzystając z menu Actions/Snapshots wybrać opcję Consolidate Disks. Niestety stracimy nasze migawki ale odzyskamy wewnętrzny spokój i równowagę po przywróceniu maszyny wirtualnej do życia, a przecież o to właśnie chodzi. 😉

MG

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: , ,

Linux Debian ELTS

26 kwietnia, 2022 | Brak Komentarzy | Kategoria: Linux, Porady
Linux Debian ELTS

Linux Debian to niewątpliwie jedna z bazowych dystrybucji, przynajmniej do tej pory tak zawsze pisano na rozmaitych wiki – pozostałe dwie to rodziny RedHat i Slackware. Osobiście bardzo ją lubię, w głównej mierze za prostotę i dosyć logicznie poukładany system operacyjny. Od wielu lat twierdzę, że dużo łatwiej nauczyć się dobrze posługiwać Debianem niż MS Windows (sic!). W wersji instalacji sieciowej można za pomocą kilku komend dostać naprawdę dobrze skrojony system i co ważne bez zbędnych dodatków. Dla porównania w Ubuntu, które wykorzystuje Debiana już nie jest tak wydajnie.

Czy istnieją jednak jakieś niedogodności Debiana, a być może wady? Świat byłby zbyt piękny gdyby istniał ideał. Jak się zapewne domyślacie musi być coś co denerwuje nawet tak oddanych użytkowników jak autor tego wpisu. I rzeczywiście można wymienić zapewne kilka ułomności, z których mi najbardziej przeszkadza cykl wydawniczy kolejnych wersji. A w zasadzie jego długość (bądź krótkość żeby być bardziej precyzyjnym).

Debian przede wszystkim stara się być bardzo stabilny. Zatem wszelkie nowości pojawiają się z dużym opóźnieniem w stosunku do innych dystrybucji. Najpierw każdy z pakietów jest testowany a dopiero później – jeżeli wszystko będzie w porządku według deweloperów – włączany do głównego repozytorium. To zajmuje sporo czasu. Co dwa lata pojawia się nowe główne wydanie a wsparcie przewidziane jest na trzy. Jeśli wybierzemy wersję hmm… długowieczną tzw. long life LTS to otrzymamy aktualizacje do pięciu lat od momentu debiutu. Można powiedzieć, że ten sposób dystrybucji jest optymalny ale dobrze wiadomo, że trzy lata potrafią minąć bardzo szybko. Wsparcie kończy się nagle. Nowe pakiety nie pojawiają się w repozytorium a my zostajemy z przeterminowanym serwerem. Prawdę mówiąc jeżeli utrzymujemy jeden taki serwer to wymiana systemu może być pracochłonna ale stosunkowo bezbolesna. Aktualizacji typu distroupgrade dystrybucji nie polecam. Raz tak zrobiłem i bardzo żałowałem. Inaczej sprawa wygląda jeśli hostów z przestarzałym Debianem mamy kilka lub kilkanaście.

Wychodząc naprzeciw potrzebom sysopsów w dużych sieciach serwerów niektórzy dostawcy oprogramowania oferują swoje repozytoria, które pozwalają przedłużyć życie naszych węzłów poza wsparcie LTS. Naprawdę warto poszukać w sieci. Przykładem z mojej praktyki jest Debian Jessie, którego wsparcie skończyło się 30 czerwca 2020 roku. Okazało się jednak, że jest dosyć popularna dystrybucja (a admini dosyć leniwi) i społeczność zaczęła pracować nad alternatywnymi repozytoriami.

Mamy pierwszy kwartał 2022 roku, dwa lata po terminie a nadal wychodzą aktualizacje. Jednak należy ich szukać na stronie (czyli jak wspominałem poza oficjalnym źródłem):

https://deb.freexian.com/extended-lts/

Projekt nazywa się Debian Extended LTS (ELTS) i jest odpowiedzią na zapotrzebowanie rynku. Zupełnie inną sprawą jest pytanie czy jest to właściwy sposób rozwiązania problemu? Z różnych względów zapewne nie. Ale potrzeba i lenistwo są matką wynalazków. Zatem jeśli nie widzisz innego wyjścia to możesz użyć ELTS ale pamiętaj, że również to repozytorium przestanie być kiedyś używane.

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: , , ,

Apache Guacomole

31 sierpnia, 2021 | Brak Komentarzy | Kategoria: Porady
Apache Guacamole

Wakacje dobiegają końca. Będąc cały czas na urlopie zastanawiałem się czym mógłbym się podzielić. Zależało mi na czyś w miarę świeżym, ale jednocześnie lekkim do przyswojenia. Wybór padł na dwa tematy tj. platforma TP-Link Omada oraz bramka Apache Guacamole. Ten pierwszy jest dużym zagadnieniem, chociaż wielu użytkowników dowiaduje się o produkcie TP-Link przy okazji budowy zarządzanych centralnie sieci bezprzewodowych. Zapewniam jednak, że Omada to dużo więcej. Cóż, właśnie poznaję ten system, zatem dzisiaj parę, wakacyjnych jeszcze, zdań o bardzo przyjemnym wynalazku jakim jest Guacamole (nieco przewrotnie).

Na pewno każdy zajmujący się zagadnieniami sieciowymi czytelnik napotkał problem związany z uzyskaniem dostępu do zdalnych lokalizacji. Czy to będą sieci firmowe, czy też całkiem prywatne, zazwyczaj kończy się na uruchomieniu VPN. Wielokrotnie wspominałem, że najbardziej lubię tandem sprzętowo-programowy czyli router Mikrotika plus L2TP VPN. Główną przyczyną jest klient L2TP VPN, który został wbudowany w większość systemów operacyjnych, a Windows 10, po ostatnich aktualizacjach prowadzi wręcz za rękę jeśli chcemy z niego skorzystać.

Innym rozwiązaniem jest tzw. poor man’s VPN, czyli serwer SSH wraz z tunelowaniem i przekierowywaniem portów. Zalętą rozwiązania jest konieczność posiadania tylko jednego otwartego portu TCP na firewallu. Zaś wadą instalowanie użytkownikom klientów SSH, w tym najbardziej popularnego dla Windows PuTTY. Ich obsługa nie jest prosta dla przeciętnej osoby. Jak zauważyłem, mnogość opcji, która mnie osobiście przypadła do gustu stanowi problem dla innych. Jak dostać się do zdalnego pulpitu RDP w firmie za pomocą tunelu SSH, zdecydowanie nie należy do kwestii łatwych do wyjaśnienia.

Jeszcze inną kwestią pozostają klienty do obsługi wszelkich zdalnych dostępów, które muszą być bezpieczne i jednocześnie w prosty sposób dawać możliwość pracy ze zdalnymi zasobami. Czy można jednak pominąć jakiekolwiek instalacje i jednocześnie zabezpieczyć swój dostęp?

Okazuje się, że odpowiedzią na tak postawione pytanie jest bramka Apache Guacamole. Produkt ten cyt. jest aplikacją webową HTML5, która zapewnia dostęp do środowisk pulpitu za pomocą zdalnych protokołów (takich jak VNC lub RDP). Guacamole jest również projektem, który tworzy tę aplikację internetową i dostarcza API, które ją napędza. API może być używane do zasilania innych podobnych aplikacji lub usług. Tyle od autorów projektu.

Ponieważ wpis miał być wakacyjny, a to oznacza, że nie będę rozwodził się nad technikaliami, chciałbym natomiast zachęcić do wypróbowania. W tym miejscu zaoszczędzę Wam czasu i napiszę, że najprzyjemniejszą metodą instalacji Guacamole będzie kontener Dockera. Aby zrobiło się jeszcze łatwiej dodam, że można użyć platformy Portainer. Poniżej załączam plik dla docker-compose, co jak mam nadzieję spowoduje, że cała instalacja będzie trwała tylko parę minut (sekcja Stacks w Portainer). Resztę pozostawiam na letni wieczór, mamy końcówkę sierpnia, zatem ciemno robi się już dosyć wcześnie, a nic lepiej nie nastraja do zabawy z nowym oprogramowaniem.

version: "2"
services:
guacamole:
image: oznu/guacamole
container_name: guacamole
volumes:
- postgres:/config
ports:
- 8080:8080
volumes:
postgres:
driver: local

MG

Tagi: , ,

0x80004005 – błąd uruchomienia VirtualBox

2 grudnia, 2020 | Brak Komentarzy | Kategoria: MacOS, Porady
VirtualBox

Wirtualizacja jest obecnie jednym z najczęściej stosowanych rozwiązań zarówno na platformach serwerowych jaki i na komputerach osobistych. Pozwala przygotować środowisko testowe dla programisty. Pozwala uruchomić aplikacje napisane dla innych systemów operacyjnych niż ten, który jest naszym głównym. Zastosowań i pomysłów jest wiele. W szczególności jeśli jesteś właścicielem MacBooka Apple to prawie na pewno chociaż raz zastanawiałeś się jak uruchomić aplikację dla Windows. I nie piszę tu tylko o grach ale również o całkiem sporej rzeszy programów biurowych. Tego typu rozważania prowadzą wprost do produktów takich jak VMware Workstation lub VirtualBox – celowo pomijam programy płatne, takie rownież się znajdą dla macOS.

Z powodu przyzwyczajenia od lat korzystam z VirtualBoxa. Nie jest być może najbardziej wydajny, jak również nie zapewnia pełnego wsparcia sprzętowego, ale jako dobrze znany ma dużą społeczność użytkowników, więc można liczyć prawie zawsze na pomoc. Poza tym jego instalacja dla macOS jest banalnie prosta, a w sieci można znaleźć gotowe do użytku obrazy z Windows. Można również skorzystać z poradników typu jak przygotować sobie Windowsy bez ponoszenia kosztów i pozostać legalnym użytkownikiem – tak przynajmniej twierdzą ich autorzy.

Niestety tak jak często w życiu bywa nawet najbardziej doskonałe rozwiązania potrafią zawodzić. Tak właśnie się stało z moim VirtualBoxem po aktualizacji MacBooka do systemu macOS Big Sur wersja 11. Niby wszystko działało poprawnie i VirtualBox uruchomił się bez zarzutu, ale żadna z maszyn wirtualnych nie chciała już wystartować. Na ekranie pojawiał się komunikat: “The virtual machine ‘XXX’ has terminated unexpectedly during startup with exit code 1 (0x1).” Szczegóły błędu są mało czytelne, szczególnie w kontekście wyszukania i dopasowania informacji w Inetrnecie:

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: MachineWrap

Rzecz jasna jeśli zaczniemy przeglądać różne fora – również te poświęcone systemom od Apple – to spostrzeżemy, że porad jak zapobiegać takim wyjątkom jest cała masa. Ja zaś tradycyjnie chciałbym się skupić na na kilku prostych krokach, które przywracają pełną funkcjonalność VirtualBox. Przynajmnie do czasu kiedy ukaże się kolejna wersja tego oprogramowania.

Po pierwsze należy uruchomić MacBooka w trybie Recovery – przy starcie wybieramy kombinację klawiszy cmd+R. Ten krok może trwać dość długo jeżeli konieczne będzie pobranie obrazu systemu z serwerów Apple. Gdy znajdziemy się już w trybie awryjnym to wystarczy uruchomić terminal i wydać dwa polecenia:

csrutil clear
reboot

Po ponownym uruchomieniu komputera działamy dalej. Po pierwsze pobieramy ze strony producenta najnowszą wersję VirtualBoxa oraz pakiet VirtualBox Extension Pack. Po drugie po zamontowaniu obrazu instalacyjnego najpierw usuwamy aktualną wersję za pomocą skryptu VirtualBox_Uninstall.tool. Ostatecznie zaś instalujemy ponownie aplikację oraz pakiet rozszerzeń.

Mam nadzieję, że pomogłem. 🙂

MG

Tagi: , ,

Problem wyciekania danych

27 września, 2020 | Brak Komentarzy | Kategoria: Porady
Pi-hole czyli rozwiązanie na problem wyciekania danych

Problem wyciekania danych z naszych komputerów jest jednym z najczęściej omawianych zagadnień przez ostatnie miesiące a nawet lata. Skądinąd wiadomo, że wszyscy wielcy gracze na rynku ogólnie pojętych usług internetowych starają się pozyskiwać wszelkie możliwe informacje niezależnie od tego czy wyrażamy na to zgodę czy nie. A ponieważ nawet Ci, którzy dotychczas nie korzystali z usług rozporoszonych, na przykład w architekturze klient-serwer, opracowali nowe wersje swoich produktów, które po prostu wymagają Internetu pod pozorem chociażby aktualizacji, to praktycznie każdy chce stosować telemetrię. Jest to oczywiście dość łagodne określenie dla ciągłej obserwacji użytkownika, uczenia się jego nawyków itp.

Żeby walczyć z podobnymi praktykami można zastosować kilka różnych podejść. Pierwszym, które wydaje się być dosyć oczywiste jest zainstalowanie odpowiedniej aplikacji. Często funkcje nadzorowania połączeń wychodzących z komputera mają wszelkiej maści programy antywirusowe. Ale uwaga – bywa, że same lubią nas podglądać. Poza tym wiele aplikacji potrafi wykryć działanie tychże i na przykład prosić użytkownika o wyłączenie zapory pod pozorem odmowy świadczenia dalej usługi.

Kolejnym jest zainstalowanie w przeglądarce internetowej odpowiednich dodatków. Dotyczy to oczywiście korzystania z samej przeglądarki i nie zabezpiecza przed innym rodzajem użytkowania. Nie mniej wtyczki takie jak AdBlock czy Ghostery są bardzo popularne. Ponadto producenci samych przeglądarek dodają w ich najnowszych wersjach blokowanie reklam itd. Z drugiej strony czy można im wierzyć do końca? To pytanie retoryczne. Jedno jest pewne – ta metoda również ma wiele wad.

Trzecim rozwiązaniem będzie skorzystanie z połączenia VPN z funkcją blokowania dla wycieku danych z naszych komputerów. Wymaga to najczęściej zastosowania dodatkowej aplikacji, która będzie w stanie wygenerować wspomniane połączenie VPN, za co nierzadko trzeba zapłacić. Tutaj prym wiedzie usługa o nazwie Internet Private Access. Posiada bardzo szerokie możliwości konfiguracji oraz aplikacje w wersji instalacyjnej dla niemalże każdego systemu operacyjnego. Do równie ciekawych rozwiązań, które zdążyły już zdobyć pewną sławę w kręgach deweloperów należy ProtonVPN. Lista dostawców jest naprawdę długa i nietrudno jest wyszukać odpowiedniego dla siebie.

Na sam koniec zostawiłem rozwiązanie, które moim zdaniem jest najlepsze. Jest ono lekkie bo nie wymaga instalowania żadnego dodatkowego oprogramowania. Ciężko jest je wykryć (mam na myśli aplikacje czy systemy korzystające z telemetrii) bo ingeruje w jeden z podstawowych protokółów sieciowych jakim jest DNS. Jest w stanie zmienić zachowanie absolutnie każdego programu, który tylko będzie chciał nawiązać komunikację przez sieć Internet. Co więcej, całkiem prawdopodobne, że przyspieszy oraz poprawi funkcjonowanie naszych końcówek sieciowych, bo znacznie ograniczy niepotrzebny ruch. Mowa oczywiście o serwerze DNS, który będzie miał odpowiednio skonfigurowane reguły rozwiązywania nazw, tak aby po prostu zablokować wszystkie podejrzane odwołania.

W wersji dla leniwych można po prostu skorzystać z bezpłatnego (będzie miał wyłączone niektóre funkcje ale na początek powinno wystarczyć) gotowca. Jest nim na przykład serwis OpenDNS. Przyznam, że korzystałem z niego przez wiele lat z dużym powodzeniem. Po zarejestrowaniu konta użytkownika oraz skonfigurowaniu serwerów DNS, czyli podaniu poniższych wartości w ustawieniach karty sieciowej system startował bez zarzutu.

208.67.222.222
208.67.220.220

W wersji dla zuchwałych trzeba samemu lokalnie przygotować serwer DSN, który będzie mógł obsługiwać ruch sieciowy. Bardzo dobrym rozwiązaniem jest w tym przypadku Pi-hole. Społeczność użytkowników i programistów przygotowała kompletny system, gotowy do użycia “po wypakowaniu z pudełka”. Można go zastosować na mikrokomputerze Raspberry Pi – jest to jeszcze jedno jego doskonałe zastosowanie. Można również, do czego zachęcam, skorzystać z kontenerów Docker i w zasadzie jednym poleceniem postawić cały serwer.

docker-compose up --detach

Szczegółowy opis jak zainstalować całość jest dostępny na GitHubie – https://github.com/pi-hole/docker-pi-hole.

Na zakończenie warto zadać ponownie pytanie – problem wyciekania danych, czy można skutecznie przeciwdziałać? Odpowiedzią niech będzie prosty raport z dnia dzisiejszego dla mojej domowej sieci.

Pi-hole raport - problem wyciekania danych został zniwelowany

MG

Tagi: , ,