/
Instalační příručka

Instalační příručka

Obsah

 

Požadavky pro instalaci

Podporované operační systémy

  • RHEL 7/CentOS 7

  • RHEL 8/CentOS 8 Stream/Rocky Linux 8

  • RHEL 9/CentOS 9 Stream/Rocky Linux 9

Je podporována pouze nová instalace operačního systému bez dalších aplikací. Při nasazení s AWS Marketplace je doporučená verze systému již před-připravena.

Systémové prostředky

Minimální

  • 1 CPU

  • 2 GiB RAM

  • 1 GiB HDD pro aplikaci + místo pro soubory odesílané přes aplikaci

Doporučené

  • 2 CPU

  • 4 GiB RAM

  • 1 GiB HDD pro aplikaci + místo pro soubory odesílané přes aplikaci

Upřesnění

Jedná se o požadavky samotné aplikace SOFiE v průměrné instalaci do 100 uživatelů. Pro větší instalace doporučujeme hodnoty navýšit na dvojnásobek.

Další instalované komponenty mohou mít další nároky (např. pro ClamAV doporučujeme + další 1 GiB RAM a 1 CPU).

Výchozí porty pro komunikaci

  • Příchozí:

    • http (80/tcp) - pro Let’s Encrypt certifikáty

    • https (443/tcp) - pro hlavní webové rozhraní aplikace

  • Odchozí:

    • smtp (25/tcp) - pro odesílání e-mailů, může být omezeno na adresu smtp relay serveru

    • http (80/tcp), https (443/tcp) - pro stahování aktualizací a licence

    • ldap (389/tcp, 636/tcp) - pro integraci s Active Directory, může být omezeno na adresu AD serveru

    • diagnostika (2222/tcp) - pro vzdálenou diagnostiku, může být omezeno na adresu recon.sonpo.io

Instalace a provoz aplikace za SSL inspekcí (volitelné)

Nakopírovat certifikát autority z inspekce, např. CA.crt, do /etc/pki/ca-trust/source/anchors a spustit:

update-ca-trust extract

Instalace aplikace

  • Při nasazení z AWS Marketplace tuto kapitolu přeskočit a pokračovat níže, viz První spuštění.

  • Nainstalujeme potřebné balíčky:

RHEL/CentOS 7 (zastaralé):

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install -y curl tar ansible libsemanage-python policycoreutils-python

RHEL/CentOS/Rocky 8:

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf install -y curl tar ansible python3-libsemanage python3-policycoreutils

RHEL/CentOS/Rocky 9 (doporučené):

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm dnf install -y curl tar ansible python3-libsemanage python3-policycoreutils
  • Stáhneme a spustíme instalační skript:

sh -c "$(curl -sL https://install.sofie.cloud/latest/sofie-install.sh)"
  • V instalátoru je možné vyplnit tyto parametry:

FQDN - Tato hodnota je vyžadována. Jedná se o plně specifikované doménové jméno serveru. Dle zadaného FQDN se vytvoří licence a všechny odkazy v aplikaci. Let's Encrypt status - Pokud zapneme, vytvoří se Let’s Encrypt certifikát dle zadaného FQDN v kroku 1 pro https spojení.
  • Po spuštění instalace volbou 4 se nainstalují potřebné balíčky, vytvoří a spustí se služby aplikace. Až služby nastartují bude aplikace dostupná ve dvou částech uživatelské a administrátorské. Pokud jste zvolili instalaci bez Let's Encrypt certifikátu, je třeba ještě nastavit použití jiného certifikátu viz. sekce Základní nastavení, jinak nebude aplikace dostupná, neboť má ve výchozím stavu aktivní HSTS a povoluje tak přístup pouze po https s platným certifikátem.

Externí PostgreSQL databáze (volitelné)

Instalační skript automaticky instaluje a konfiguruje místní instanci PostgreSQL která je vyhrazená pro aplikaci SOFiE a přístupná pouze z místního hostitele (localhost).

Externí instance PostgreSQL může být použita za splnění následujících podmínek:

  • PostgreSQL ve verzi 11 - 16

  • ručně vytvořená databáze a uživatel pro aplikaci SOFiE (vytvoření externí databáze a uživatele není instalačním skriptem podporováno)

  • v SOFiE databázi je nainstalováno rozšíření pgcrypto

  • databázový uživatel je vlastníkem SOFiE databáze

Vlastnosti připojení musí být nastaveny ručně ve dvou souborech:

  • /etc/sofie/production.properties (pro databázové migrace - v sekci “JDBC connection properties”)

  • /etc/sofie/META-INF/microprofile-config.properties (pro aplikaci SOFiE - v sekci “JDBC configuration”)

Syntaxe JDBC URL včetně všech dostupných parametrů je popsána na adrese:

https://jdbc.postgresql.org/documentation/use/#connecting-to-the-database

Omezení přístupu na admin rozhraní (volitelné)

Volitelně je od verze 2.4 možné omezit přístup na admin rozhraní (/admin) nikoliv jen aplikačně, ale již na úrovni webového serveru nginx. Provést lze úpravou konfiguračního souboru “/etc/nginx/sofie.d/http_admin-restriction.conf”:

# Limit access to admin gui # # Example: # # allow 10.10.10.0/24; # allow 1.1.1.1/32; # allow 8.8.8.8/32; # deny all; allow all; deny all;

První spuštění

Spuštění proběhne automaticky po instalaci aplikace. Při nasazení z AWS Marketplace je aplikace již před-instalovaná a ke spuštění dojde rovnou po nasazení. Po spuštění je k dispozici uživatelské a administrátorské rozhraní pomocí webového prohlížeče na adresách:

Uživatelská část

https://<FQDN>

Administrátorská část

https://<FQDN>/admin

Aby se administrátor mohl úspěšně přihlásit do webového rozhraní, měl by po spuštění pokračovat základním nastavením jak je popsáno níže, včetně nastavení hesla administrátora.

Základní nastavení

  • Následující kroky je třeba provést v příkazové řádce spuštěného serveru aplikace.

  • Pro přístup do webového rozhraní je třeba mít funkční https certifikát. Pokud funkční není, nebo nasazujeme z AWS Marketplace, musíme spustit příkazy:

    # Pro nastavení správného FQDN serveru a aplikace: sofie set-fqdn <fqdn> # Pro přípravu certifikátů pro toto nové FQDN: sofie recreate-cert [--le | --selfsigned | --current] # Aby se projevilo, je třeba restartovat nginx a aplikaci sofie: systemctl restart nginx sofie restart
  • (volitelně) Instalace vlastního certifikátu je možná přepsáním souborů vygenerovaného self-signed certifikátu. Soubor certifikátu nahrajeme do “/etc/nginx/cert/certificate.crt” a soubor privátního klíče do “/etc/nginx/cert/private.key”:

    # Certificate file ssl_certificate /etc/nginx/cert/certificate.crt; # Private key file ssl_certificate_key /etc/nginx/cert/private.key;

    Potom restartujeme nginx.

  • (do verze 2.2.7 včetně) Výchozí administrátorský účet je “admin” s heslem “sofieadmin”. Toto heslo doporučujeme po prvním přihlášení změnit (Nastavení/Administrátoři). Administrátor se musí přihlašovat do administrátorské části (/admin), nikoli do uživatelské.

  • (od verze 2.2.8 včetně + AWS) Výchozí administrátorský účet je “admin” s náhodně vygenerovaným heslem. Administrátor se musí přihlašovat do administrátorské části (/admin), nikoli do uživatelské. Heslo je před prvním přihlášením třeba resetovat na nové náhodné, které se jednorázově zobrazí v konzoli, pomocí příkazu:

    /opt/sofie-root/bin/sofie reset-admin-password
  • Aby aplikace správně pracovala, je ještě třeba nastavit mail server. To již provedeme v Nastavení/Konfigurace/E-mail ve webovém administrátorském rozhraní.

  • Pro informace o tom jak aplikaci správně provozovat a o dalším nastavení by se měl administrátor seznámit s Příručka administrátora.

Update aplikace

Je třeba postupovat dle návodu zde: Pokyny k přechodu na novou verzi (Upgrade notes)

Instalace CDR modulu (volitelné)

Od verze 2.3 podporuje aplikace SOFiE volitelný interní modul “Content Disarm and Reconstruction (CDR)“. Modul umožňuje konverzi podporovaných typů souborů (typicky dokumenty Office) do bezpečného formátu, konkrétně PDF bez aktivního obsahu. Aby bylo možné modul využívat, je třeba provést následné instalační kroky:

# instalace a spuštění dockeru dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo dnf install docker-ce docker-ce-cli containerd.io uuid ansible systemctl start docker systemctl enable docker # aktivace nových služeb systemctl enable sofie-cdr systemctl start sofie-cdr

Po instalaci může administrátor CDR modul aktivovat a nastavit ve webovém rozhraní, v sekci Nastavení - Nastavení detekce.

Instalace antivirových enginů (volitelné)

  • Konfigurace cest k antivirům se nachází v “/etc/sofie/META-INF/microprofile-config.properties” sekce “# AV”

scanner.bitdefender.exec=/opt/bitdefender-security-tools/bin/bduitool scanner.clamav.exec=/usr/bin/clamdscan scanner.eset.exec=/opt/eset/efs/sbin/cls/cls scanner.kaspersky.exec=/usr/bin/kesl-control scanner.sophos.exec=/opt/sophos-av/bin/savscan

Avast

echo '[avast] name=Avast baseurl=https://repo.avcdn.net/linux-av/rpm/el$releasever/release enabled=1 gpgcheck=1 ' > /etc/yum.repos.d/avast.repo
  • Importujeme Avast GPG klíč

rpm --import https://repo.avcdn.net/linux-av/doc/avast-gpg-key.asc
  • Nainstalujeme balíčky Avastu

dnf install avast avast-license
  • Stáhneme licenční soubor

avastlic -o license.avastlic -c <aktivační kód>
  • Zkopírujeme licenční soubor do /etc/avast/license.avastlic

cp ./license.avastlic /etc/avast/license.avastlic
  • Upravíme konfiguraci dle potřeby v /etc/avast/*

  • Spustíme službu antiviru

systemctl enable avast systemctl start avast

BitDefender

Modules: pouze AntiMalware Additional Settings: vypneme "Remove Competitors" Scan Modes / Custom / For computers: Local Scan Scan Modes / Custom / For virtual machines: Local Scan Settings: vše vypneme
  • Package stáhneme jako “Kit (Intel, AMD x86 64-bit)”

  • Rozbalíme a spustíme instalaci:

tar -xvf fullKit_unix64_7.4.0.200181.tar chmod +x installer ./installer
  • Spustíme zkušební sken souboru:

/opt/bitdefender-security-tools/bin/bduitool scan -s custom /opt/bitdefender-security-tools/bin/bduitool
  • V GravityZone portálu/Policies vytvoříme pro server policy:

Antimalware / On-Access: vše vypneme Antimalware / On-Execute: vše vypneme Antimalware / On-Demand: vše vypneme Antimalware / On-Demand / Contextual Scan / Miscellaneous: zapneme - Scan for rootkits, Scan for keyloggers, Scan network shares, Scan only new and changed files, Scan for Potentially Unwanted Applications (PUA) Antimalware / On-Demand / Contextual Scan / Actions: vše změníme na ignore Antimalware / On-Demand / External Device Scan: nastavíme stejně jako Contextual Scan Antimalware / Anti-Tampering: vše vypneme Antimalware / Advanced Anti-Exploit: vše vypneme Antimalware / Settings: vše vypneme
  • Vytvořenou policy přiřadíme v GravityZone portálu/Network k serveru.

ClamAV

  • Provedeme instalaci ClamAVu z epel repozitáře:

dnf install -y clamav clamd /usr/bin/freshclam
  • Je třeba upravit nastavení “/etc/clamd.d/scan.conf” :

# zakomentovat #Example # nastavit socket LocalSocket /var/run/clamd.scan/clamd.sock # upravit dle uvážení MaxScanSize 100M MaxFileSize 25M MaxRecursion 16 MaxFiles 10000
  • Upravíme systemd soubor:

mv /usr/lib/systemd/system/clamd@.service /usr/lib/systemd/system/clamd.service sed -i 's/^\(ExecStart = \/usr\/sbin\/clamd -c\)\(.*\)/\1 \/etc\/clamd.d\/scan.conf/' /usr/lib/systemd/system/clamd.service
  • Spustíme službu :

systemctl enable clamd clamav-freshclam systemctl start clamd clamav-freshclam

ESET

# ještě před instalací esetu je třeba nainstalovat dnf install glibc.i686 ed tar # potom stáhnout a nainstalovat eset wget https://download.eset.com/com/eset/apps/business/efs/linux/latest/efs.x86_64.bin sh efs.x86_64.bin # import licenčního klíče /opt/eset/efs/sbin/lic -k XXXX-XXXX...
  • Stáhneme soubor s nastavením zde, a importujeme:

# importujeme konfiguraci wget https://wikisonpo.atlassian.net/wiki/download/attachments/887423004/efs-config6 /opt/eset/efs/sbin/cfg --import-xml=efs-config6 # restartujeme efs daemona systemctl restart efs

FortiClient

  • Instalace předpokládá již nainstalovaný FortiClient Endpoint Management Server (FortiClient EMS). Jeho instalace není součástí tohoto návodu.

  • Z Fortinet portálu stáhneme aktuální verzi 7.x FortiClienta. Stahujeme headless verzi pro linux např.: forticlient_server_7.4.1.1697_x86_64.rpm

  • Nainstalujeme:

dnf install forticlient_server_7.4.1.1697_x86_64.rpm
  • Registrujeme FortiClient k EMS:

/opt/forticlient/forticlient-cli epctrl register <adresa EMS serveru>
  • Zkontrolujeme registraci a licenci:

/opt/forticlient/forticlient-cli epctrl detail
  • V Forticlient EMS provedeme tyto nastavení:

    • “Endpoints/Workgroups” vytvoříme skupinu pro registrovaný server.

    • “Endpoints/Group Assignment Rules” přiřadíme registrovaný server do vytvořené skupiny.

    • “Endpoint Profiles/Manage Profiles” vytvoříme profil s nastavením pro server. Profil by měl obsahovat následující nastavení:

    • “Endpoint Policy and Components“ vytvoříme policy pro skupinu s registrovaným serverem a přiřadíme vytvořený profil.

Kaspersky

wget https://products.s.kaspersky-labs.com/endpoints/keslinux10/12.0.0.6672/multilanguage-12.0.0.6672/3739343633347c44454c7c31/kesl-12.0.0-6672.x86_64.rpm
  • Nainstalujeme:

dnf install kesl-12.0.0-6672.x86_64.rpm
  • Spustíme konfiguraci:

dnf install -y perl-File-Copy /opt/kaspersky/kesl/bin/kesl-setup.pl
  • Po instalaci vypneme residentní kontrolu:

kesl-control --stop-task File_Threat_Protection kesl-control --stop-task Device_Control kesl-control --stop-task Behavior_Detection
  • Upravíme výchozí nastavení skenu:

kesl-control --set-settings Scan_File ScanMailBases=Yes ScanPlainMail=Yes
  • Importujeme licenci

kesl-control -L --add-active-key <activation code/key file>

Sophos

tar -xzvf sav-linux-free-9.tgz chmod +x install.sh ./install.sh
  • Při instalaci nastavíme:

Do you want to enable on-access scanning? Yes(Y)/No(N) [Y] > N Which type of auto-updating do you want? From Sophos(s)/From own server(o)/None(n) [s] > s Do you wish to install the Free (f) or Supported (s) version of SAV for Linux? [s] > f
  • Vypneme zasílání emailů při detekcích:

/opt/sophos-av/bin/savconfig set SendErrorEmail false /opt/sophos-av/bin/savconfig set SendThreatEmail false /opt/sophos-av/bin/savconfig set EmailDemandSummaryIfThreat false /opt/sophos-av/bin/savconfig set EmailNotifier false

Trellix

dnf install -y unzip mkdir trellix tar -xzvf cls-l64-703-l.tar.gz --directory ./trellix cd trellix # Všechny možnosti ponecháme výchozí ./install-uvscan /opt/trellix/uvscan
cd /opt/trellix/uvscan wget https://update.nai.com/products/commonupdater/current/vscandat1000/dat/0000/avvdat-10733.zip unzip -u avvdat-10733.zip
  • Stáhneme aktualizační skript

cd /opt/trellix/uvscan wget https://wikisonpo.atlassian.net/wiki/download/attachments/887423004/dat-update chmod +x dat-update
  • Nastavíme automatické spouštění aktualizačního skriptu

echo 'SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 5 * * * * root /opt/trellix/uvscan/dat-update >> /opt/trellix/uvscan/dat-update.log 2>&1' > /etc/cron.d/trellix-update

Trendmicro

Podporovaná verze: Trend Vision One - Endpoint Security (Essentials) - Linux version
Manuál: https://help.deepsecurity.trendmicro.com/20_0/on-premise/agent-install.html

  • V “Trend Vision One” portále provedeme následující nastavení:

    • V “Service Management”/”Product Instance” vybereme “Create Product Instance” a vytvoříme Product Instance type “Server & Workload Protection”

    • V “Endpoint Security”/”Server & Workload Protection”/”Policies” vytvoříme novou policy s nastavením:

      • Vypneme všechny moduly kromě “Anti-Malware”

      • V nastavení modulu “Anti-Malware”:

        • Vypneme “Real-Time Scan” a “Scheduled Scan”

        • U modulu “Manual Scan” zapneme “Allow the agent to trigger or cancel a manual scan”, vytvoříme konfiguraci a upravíme nastavení:

          • “Advanced”/”Remediation Actions”/”Custom”/”Use custom actions” - U všech nálezů nastavíme “Pass”

      • V nastavení “Settings”/”General”/”Engine Update Automatically update anti-malware engine:” dáme “Yes”

    • V “Endpoint Security”/”Endpoint Inventory” vybereme “Agent Installer”/”Deployment Script” s nastavením:

      • “Protection type”:”Server & Workload Protection”

      • “Operating system”:”Linux”

    • Stažený skript spustíme na linux serveru a nainstalujeme agenta:

      # např. ./DeploymentScript_20250402T084643011Z.sh
    • V “Endpoint Security”/”Server & Workload Protection”/”Computers” otevřeme detaily nového agenta.

      • V “Overview”/”General”/”Policy” přiřadíme policy, kterou jsme vytvořily.

Vlastní SSL CA (volitelné)

Přidání certifikační autority do systému

RHEL

trust anchor Fortinet_CA_SSL.crt

Windows

cd C:\Program Files\Java\jdk8u192-b12\jre\lib\security ..\..\bin\keytool.exe -import -trustcacerts -file y:\ca1.cer -keystore cacerts -alias NAZEV

Diagnostika při nedostatku paměti

V některých situacích může docházet k nedostatku paměti který se projeví nefunkčním odbavováním zásilek a následující chybou v aplikačním logu workeru (/opt/sofie-worker-distribution/logs/sofie.log):

java.lang.OutOfMemoryError: GC overhead limit exceeded

Pokud taková situace nastane, dojde automaticky k ukončení a nastartování služby.

Příčinou je většinou příliš vysoký limit maximální velikosti souboru v některém z interních detekčních nástrojů (DLP, Detekce šifrovaného obsahu, MIME). Pokud snížení maximální velikosti souboru nepomůže a k situaci dochází opakovaně, je možné pro diagnostiku aktivovat výpis obsahu paměti (heap). Toho lze docílit vytvořením souboru:

/opt/sofie-worker-distribution/bin/setenv.local.sh

s následujícím obsahem:

JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/sofie/data/"

Výše uvedená nastavení aktivují uložení výpisu paměti (heap dump) na disk do určené cesty při nedostatku paměti. V cílovém adresáři je nutný dostatek místa alespoň ve velikosti paměti serveru. Pokud v cestě /var/sofie/data/ není dostatek místa, je možné cestu změnit na jinou v parametru HeapDumpPath.

Aby se změna konfigurace projevila, je zapotřebí worker zrestartovat:

systemctl restart sofie-worker

 

Related content