Po wygenerowaniu certyfikatu (selsigned czy letsencrypt) możemy ustawić sobie przekierowanie strony z http na https w poniższy sposób w pliku 000-default.conf

<VirtualHost *:80>
...

Redirect "/" "https://192.0.2.1/"

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html


...
</VirtualHost>

W pracy miałem problem z dostępem do Active Directory z systemów Windows, jeśli komputery znajdowały się w innym VLAN`ie, tzn. nie rozwiązywało mi nazw jak puszczałem ping, np. ping activedirectory.local

Natomiast ping po adresie IP szedł bezproblemowo (na maszynach z linuxem mogłem bezproblemowo pingować adres ip i po nazwie). Rozwiązanie w systemach Windows`owych okazało się jak poniżej:

Panel Sterowania -> Centrum sieci i udostępniania -> Zmień ustawienia karty sieciowej -> prawy przycisk na karcie ethernetowej -> Protokół internetowy w wersji 4 (TCP/IPv4) -> Właściwości -> Zaawansowane -> odznaczamy Metryka automatyczna i dajemy np. 15

To samo co powyżej robimy dla Protokół internetowy w wersji 6 (TCP/IPv6) lub wyłączamy go całkowicie jeśli z niego nie korzystamy.

Powyższy sposób pomaga nam uzyskać ping po nazwie i IP

Poniższą komendą możemy sprawdzić, przy ilu procentach zajętości RAM`u – zacznie kernel zrzucać dane do pamięci SWAP (standardowo jest to 60%):

cat /proc/sys/vm/swappiness

Wartość powyższą możemy zwiększyć/zmniejszyć do innej wartości, jeśli komputer np. nam się zawiesza:

sudo sysctl vm.swappiness=90

W celu zwiększenia SWAP`a, wykonajmy komendy jak poniżej:

swapoff -a <- wyłączamy SWAP`a na czas konfiguracji

fallocate -l 2096M /swapspace <- tworzymy nowy rozmiar (tu akurat 2GB)

mkswap /swapspace

swapon /swapspace <- włączamy SWAP`a

chmod 600 /swapspace <- nadajemy odpowiednie uprawnienia

cp /etc/fstab /etc/fstab.bak -> na wszelkie wypadek warto zrobić kopię fstab

echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab <- automatyczne montowanie podczas uruchamiania

cat /proc/swaps <- sprawdzamy czy poprawnie przydzielona została nam nowa przestrzeń SWAP

Po aktualizacji bazy MariaDB do wyższej wersji, klient Zabbix`a ogłosił błąd jak w temacie. Wystarczyło wykonać następujące komendy aby dalej ruszyło:

  1. Użytkownik który łączy się do Mysql – u mnie jest to zabbix. Zatem najpierw sprawdzam do jakich hostów został przydzielony w bazie:

    mysql -u root -p

    SELECT host FROM mysql.user WHERE User = ‘zabbix’;

    +———–+
    | Host |
    +———–+
    | localhost |
    +———–+


    Widzimy tutaj, że użytkownik zabbix ma dostęp tylko do localhost, więc musimy dodać go do 127.0.0.1, robiąc to w następujący sposób:

    show grants for ‘zabbix’@’localhost’; funkcja ta sprawdza przywileje;

    Przydzielamy uprawnienia dla 127.0.0.1:

    GRANT PROCESS, SHOW DATABASES, BINLOG MONITOR, SHOW VIEW, SLAVE MONITOR ON . TO 'zabbix‘@’127.0.0.1’ IDENTIFIED BY PASSWORD ‘tu wpisz swoje hasło’

TLSv1.0 lub 1.1 mogą posiadać sporo podatności ułatwiających podszycie się pod naszą stronę www. Zalecane jest włączenie TLSv1.2 i 1.3. Jeśli posiadamy zainstalowany dodatkowo certyfikat LetsEncrypt robimy jak poniżej:

nano /etc/letsencrypt/options-ssl-apache.conf

i tam wpisujemy jak poniżej:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Na końcu wykonujemy restart Apache2 (warto mieć najnowszą wersję Apache2, gdyż wcześniejsze mogą nie obsługiwać protokołu TLSv1.3):

systemctl restart apache2

Poprawność naszych ustawień możemy sprawdzić dwojako:

  1. poprzez nmap następującą komendą:
    nmap –script ssl-enum-ciphers -p 443 nazwanaszejstrony.pl
  2. poprzez stronę https://www.ssllabs.com/ssltest/

Wersja Zabbix`a 6.2 nie wspiera PHP 8.2. Dlatego należy wykonać upgrade do wyższej wersji samego Zabbix`a oraz PHP. Zacznijmy od PHP:

  1. Sprawdźmy najpierw wersję samego PHP:
    php -V oraz zależności: dpkg -l | grep php | tee paczki.txt

    Jeśli wersja jest niższa niż 8.2, możemy przystąpić do podniesienia:
    apt install apt-transport-https lsb-release ca-certificates wget -y

    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

    sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’

    apt update

    apt install php8.2 php8.2-cli php8.2-{bz2,curl,mbstring,intl}

    apt install php8.2-fpm


    Po instalacji możemy sprawdzić naszą najnowszą wersję PHP, komendą:
    php -V

    Następnie włączamy wersję PHP v. 8.2:

    a2enconf php8.2
    a2enmod php8.2


    Restartujemy apache2:
    systemctl restart apache2
  2. Podniesienie wersji Zabbix z 6.2 do 6.4
    Zatrzymujemy Zabbix:
    systemctl stop zabbix-server oraz pochodne jeśli były zainstalowane (zabbix agent, zabbix proxy)

    Tworzymy backup naszych poprzednich ustawień:
    mkdir /opt/zabbix-backup/

    cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/

    cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

    cp -R /usr/share/zabbix/ /opt/zabbix-backup

    Usuwamy stare repozytorium zabbix.list:

    rm -Rf /etc/apt/sources.list.d/zabbix.list

    Pobieramy i instalujemy (upgrade) nowe paczki Zabbix 6.4:

    wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb

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

    apt-update

    apt-get install –only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent

    apt-get install zabbix-apache-conf

    mysql -u root -p

    grant all privileges on zabbix.* to zabbix@localhost;

    set global log_bin_trust_function_creators = 1;

    nano /etc/zabbix/zabbix_server.conf i szukamy wpisu:
    DBPassword=wpisujemy hasło do bazy zabbix w mysql

    Sprawdzamy jeszcze raz czy nie mamy nic do updateu:

    apt update
    apt upgrade
    cat /var/log/zabbix/zabbix_server.log | grep database


    Ustawiamy w mysql jeszcze parametr:

    mysql -u root -p
    set global log_bin_trust_function_creators = 0;


    Startujemy Zabbix
    6.4:

    systemctl start zabbix-server
    systemctl start zabbix-agent
  3. Zabbix podniesiony do wersji 6.4