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
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 https://wikisonpo.atlassian.net/wiki/spaces/SP/pages/914423832.
Update aplikace
Je třeba postupovat dle návodu zde: https://wikisonpo.atlassian.net/wiki/spaces/SP/pages/2954100737
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 systemctl start docker systemctl enable docker # stažení a spuštění potřebného docker kontejneru docker run -d --name libreoffice --restart unless-stopped -p 8100:8100 hdejager/libreoffice-api
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
Podporovaná verze: Avast Business Antivirus for Linux
(https://www.avast.com/business/products/linux-antivirus#pc)
Manuál: https://repo.avcdn.net/linux-av/doc/avast-techdoc.pdfPřidáme Avast repozitář
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
Podporovaná verze: Bitdefender Endpoint Security Tools 7.x (https://www.bitdefender.com/business/support/en/77209-157515-bitdefender-endpoint-security-tools-for-linux-quick-start-guide.html)
V GravityZone portálu vytvoříme nový package s nastavením :
Moduly: pouze AntiMalware Scan mode / Custom / For computers: Local Scan Scan mode / Custom / For virtual machines: Local Scan Settings: vše vypneme
Package stáhneme jako Linux kit (64-bit)
Rozbalíme a spustíme instalaci:
tar -xvf fullKit_unix64_7.0.3.1927.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 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 / Advanced Anti-Exploit: vše vypneme Antimalware / Settings: vše vypneme
Vytvořenou policy přiřadíme v portálu k serveru.
ClamAV
Provedeme instalaci ClamAVu z epel repozitáře:
yum 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
Podporovaná verze: ESET File Security pro Linux 10
Stažení: https://www.eset.com/cz/firmy/server-antivirus/file-security-linux/download/ (Stahujeme pro CentOS RedHat.) Manuál: https://help.eset.com/essl/9/en-US/installation.html, tj. zkráceně:
# ještě před instalací esetu je třeba nainstalovat yum 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.0.2.0063_x86_64.rpm
Nainstalujeme:
yum install forticlient_server_7.0.2.0063_x86_64.rpm
Registrujeme FortiClient k EMS:
/opt/forticlient/epctrl -r <adresa EMS serveru>
Zkontrolujeme registraci a licenci:
/opt/forticlient/epctrl -d
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
Podporovaná verze: Kaspersky Endpoint Security 12 for Linux
Stažení aktuální verze pro daný systém: https://support.kaspersky.com/kes-for-linux/12.0 . Stahujeme RPM (x64). např.:
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:
yum install kesl-12.0.0-6672.x86_64.rpm
Spustíme konfiguraci:
yum 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
! Upozornění ! - Sophos není možné instalovat na server, kde je již nainstalován BitDefender.
Stažení: https://www.sophos.com/en-us/products/free-tools/sophos-antivirus-for-linux.aspx .
Nainstalujeme:
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
Podporovaná verze: Trellix Command Line Scanner for Linux
(https://kcm.trellix.com/corporate/index?page=content&id=KB94726)
Je součástí např. licence pro “Trellix Protect Standard”Produkt stáhneme po zadání licenčních údajů na https://www.trellix.com/en-us/downloads/my-products.html . Stahujeme “Command Line Scanner”/”Command Line Scanner for Linux 64-bit Version 7.0.3”
Stažený soubor “cls-l64-703-l.tar.gz” přeneseme na server.
Soubor rozbalíme a spustíme instalátor
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
Stáhneme DAT soubory z https://update.nai.com/products/commonupdater/current/vscandat1000/dat/0000/ a rozbalíme (číslo za “avvdat-” je třeba nahradit aktuálním)
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
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