GLPI to bardzo dobre narzędzie do inwentaryzacji sprzętu komputerowego, sieciowego, itp. Posiada również wbudowany system helpdesku, rezerwacji sprzętu oraz wiele innych przydatnych funkcji. W celu usprawnienia logowania, możemy skorzystać ze środowiska Azure AD. Konfiguracja jest następująca:

  1. Ściągamy wtyczkę ze strony https://github.com/edgardmessias/glpi-singlesignon i dodajemy ją na serwerze do glpi/plugins. Rozpakowujemy ją do katalogu singlesignon
  2. Na stronie www naszego GLPI wchodzimy w Ustawienia -> Wtyczki i tam włączamy Single Sign-ON
  3. Pojawi nam się opcja w Ustawienia -> Single Sign-On. Klikamy na Dodaj i uzupełniamy następujące pola: Nazwa, SSO TYPE wybieramy Azure, Client ID i Client Secret
  4. Pola Client ID i Client Secret generujemy w portalu Azure AD https://portal.azure.com/ w której to przechodzimy do zakładki: Rejestracje aplikacji.
  5. Klikamy na Nowa Rejestracja i uzupełniamy pola: Nazwa, Obsługiwane typy kont oraz Identyfikator Url przekierowania
  6. Wygeneruje nam się Identyfikator aplikacji (klienta) oraz dodatkowo musimy wejść w Poświadczenia klienta i wygenerować Nowy klucz tajny klienta
  7. Powyższe wklejamy do GLPI w zakładce Client ID i Client Secret

Podczas aktualizacji Ubuntu, dostałem informację iż partycja /boot jest zbyt mała do aktualizacji. Wystarczy usunąć stary kernel następującą komendą:

dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"`| grep -e [0-9] | grep -E "(image|headers)" | xargs sudo apt-get -y purge

Następnie uruchamiamy aktualizację naszego Ubuntu do wyższej wersji:

do-release-upgrade

W celu sprawdzenia daty utworzenia folderu (pliku) w systemach Debian/Ubuntu możemy sprawdzić to następująco:

ls -li #szukamy inode pliku

df -h #sprawdzamy nasz folder np. /home na którym dysku się znajduje np. /dev/sda4

debugfs -R 'stat <nasz numer inode>’ /dev/sda4 #korzystamy z debugfs

pozycja crtime pokaże nam datę utworzenia folderu

Szyfrowanie komunikacji pomiędzy serwerem a agentem Zabbixa nie jest skomplikowane. Poniżej przykład od instalacji agenta po włączenie szyfrowania:

wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bdebian11_all.deb

dpkg -i zabbix-release_6.2-4+debian11_all.deb

apt update 

apt install zabbix-agent

Włączenie szyfrowania – konfigurujemy plik /etc/zabbix/zabbix_agentd.conf

Server x.x.x.x #podajemy adres serwera Zabbix
ServerActive=x.x.x.x #podajemy adres serwera Zabbix
Hostname=abc #gdzie abc to nazwa naszego serwera lokalnego
TLSConnect=psk #zmieniamy z unencrypted na psk
TLSAccept=psk #zmieniamy z unencrypted na psk
TLSPSKIdentity=abc #gdzie abc to nazwa naszego serwera lokalnego
TLSPSKFile=/etc/zabbix/secret.psk 



Następnie w katalogu /etc/zabbix generujemy plik o nazwie secret.psk

openssl rand -hex 32 #generujemy wartość klucza, który potem wklejamy do pliku secret.psk

nano secret.psk #tam wklejamy klucz który wygenerowaliśmy i zapisujemy plik

systemctl restart zabbix-agent #restart agenta
systemctl enable zabbix-agent #włączanie agenta podczas restartu serwera

Dalej przechodzimy do naszego serwera Zabbix i tam w Konfiguracja -> Hosty dodajemy nasz serwer

Po instalacji Zabbix potrzebowałem wygenerować sobie certyfikat self signed. W tym celu należało wykonać następujące czynności:

1. Wygenerować certyfikat selfsigned
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

2. Dodać do pliku /etc/apache2/sites-available/zabbix.conf następującą treść:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin your_email@example.com
ServerName server_domain_or_IP

DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on

SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

</VirtualHost>
</IfModule>

3. Włączyć SSL:
sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite zabbix.conf

Powiadomienia w Proxmox są dość ważne, np. w przypadku zrzucania kopii maszyn na serwer zapasowy. Poniżej prezentuję jak ustawić powiadomienia:

  1. Instalujemy plik libsasl komendą apt install libsasl2-modules
  2. Edytujemy wpis nano /etc/postfix/main.cf następująco:
    relayhost = [smtp.office365.com]:587
    mynetworks = 127.0.0.0/8
    inet_interfaces = loopback-only
    smtp_use_tls = yes
    smtp_always_send_ehlo = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    smtp_sasl_tls_security_options = noanonymous
    smtp_tls_security_level = encrypt
    smtp_generic_maps = hash:/etc/postfix/generic
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    inet_protocols = ipv4
  3. Tworzymy plik w katalogu /etc/postfix o nazwie: sasl_passwd komendą touch sasl_passwd i edytujemy jak poniżej:
    [smtp.office365.com]:587 mojapoczta@mojadomena.pl:hasłodopoczty
  4. W kolejnym etapie generujemy następujące komendy:
    postmap hash:/etc/postfix/sasl_passwd
    chmod 600 /etc/postfix/sasl_passwd
    systemctl restart postfix
  5. Na końcu wchodzimy do GUI naszego Proxmoxa gdzie wchodzimy w zakładkę Centrum danych -> Opcje -> Powiadomienia z adresu i tam podajemy adres poczty z punktu 3

W pracy spotkałem się z takim problemem podczas podniesienia Debiana z wersji 10 na 11:

W: GPG error: http://archive.turnkeylinux.org/debian bullseye-security Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXXX

Rozwiązaniem powyższego jest następujące:

gpg --keyserver keyserver.ubuntu.com --recv-key XXXXXXXXXXX

gpg -a --export XXXXXXXXXXXXX | apt-key add -

Na maszynie fizycznej z Proxmox, local-lvm pokazywał zajętość %Data na poziomie 99%

Rozwiązaniem okazało się wprowadzenie kilku komend:

lvm> lvchange -an /dev/pve/data

lvm> lvconvert --repair /dev/pve/data

lvm> lvchange -ay /dev/pve/data