Přejít na hlavní obsah
Sleva 50% všechny plány, omezený čas. Od $2.48/mo
19 min left
Zabezpečení a sítě

Jak nasadit SafeLine WAF na Linux VPS

H Autor: Haze 19 min čtení
SafeLine WAF deployed on a Linux VPS with Docker Compose, shown as a shielded server filtering traffic with NPM, Caddy, and SQLi testing labels

Webové aplikace dostupné z internetu jsou běžně zkoumány na SQL injection, zneužití přihlašovacích údajů a vzory známých zranitelností. SafeLine je self-hostovaný WAF pod licencí GPL-3.0 který běží jako Docker Compose stack a filtruje HTTP/S provoz předtím, než povolené požadavky předá na origin. Jeho bezplatný plán Personal podporuje až 10 aplikací.

Tento návod pokrývá instalaci a tři oblasti, které vyžadují zvláštní pozornost: rozhodnutí o architektuře reverzní proxy, konfiguraci Docker sítě, když SafeLine stojí za existující proxy jako Nginx Proxy Manager, a ověřovací příkaz, který můžete spustit po instalaci, abyste potvrdili, že WAF skutečně zachytává útoky.

Zkrácená verze

  • Nainstalujte SafeLine na Linux VPS pomocí Docker Compose. Použijte jednořádkový instalátor, nebo zvolte manuální cestu přes Docker Compose, abyste si před spuštěním stacku prohlédli Compose definici a konfiguraci prostředí.
  • O architektuře reverzní proxy rozhodněte ještě před instalací: SafeLine jako jediná proxy, SafeLine za existujícím Nginx Proxy Manager, nebo SafeLine sdílející server s Caddy. Každá varianta vyžaduje jiné přiřazení portů a nastavení X-Forwarded-For.
  • Po instalaci ověřte WAF odesláním curl sondy se SQL injection na chráněnou URL. V režimu Balanced nebo Strict potvrdí blokování odpověď 403 spolu s odpovídajícím záznamem v Attack Events. V režimu Monitor potvrdí odpovídající událost detekci, i když odpověď může zůstat úspěšná.
  • Bezplatná úroveň Personal pokrývá až 10 aplikací a základní detekční engine. Geoblokování, export logů útoků a externí notifikace vyžadují úroveň Lite; výkonnější detekce útoků a vyvažování zátěže vyžadují Pro.

Než začnete: předpoklady a co tento návod pokrývá

Tento návod předpokládá, že máte Linux VPS, k němuž se můžete připojit přes SSH s root nebo sudo přístupem, a že je nainstalován Docker. Odejdete s funkční instancí SafeLine chránící alespoň jeden web a s ověřovacím příkazem, který můžete kdykoli znovu spustit.

Budete potřebovat:

  • Linux VPS. Níže uvedené příkazy předpokládají systém typu Debian nebo Ubuntu se systemd; na jiných distribucích si ověřte názvy balíčků a služeb.
  • Alespoň 1 vCPU, 1 GB RAM a 5 GB disku podle oficiálních požadavků na nasazení. Pro praktickou produkční rezervu tento průvodce doporučuje 2 vCPU, 4 GB RAM a 20 GB disku.
  • Docker 20.10.14 nebo novější a Docker Compose 2.0 nebo novější.
  • CPU x86_64 s podporou SSSE3; ověřte to pomocí lscpu | grep ssse3 místo abyste předpokládali, že instrukce je přítomna.
  • Doménu nebo subdoménu s DNS směřujícím na veřejnou IP adresu VPS, pokud plánujete vystavit chráněnou aplikaci přes veřejné HTTPS.
  • Porty odpovídající zvolené topologii. Varianty A a C obvykle přidělí SafeLine porty 80 a 443, zatímco varianta B ponechává tyto porty Nginx Proxy Manageru a přiřazuje SafeLine jiný naslouchající port, například 10080.
  • Root nebo sudo přístup.

Na firewallu nebo v bezpečnostní skupině poskytovatele VPS vystavte pouze veřejné porty, které zvolená topologie potřebuje. Omezte SSH a TCP 9443 na důvěryhodné administrační zdroje. Ve variantě B ponechte TCP 10080 uzavřený pro veřejnou IPv4 i IPv6 a backendové porty jako 8080 udržujte soukromé v každé topologii. Přímý přístup k 10080 by obešel NPM a znehodnotil by hranici důvěry X-Forwarded-For.

Poznámka: Pro manuální nasazení na ARM64 nastavte ARCH_SUFFIX=-arm. Podle oficiální dokumentace k nasazení uvádí SafeLine, že ARM vyžaduje licenci Pro a že edice Personal není na ARM podporována. Pro edici Personal použijte VPS s architekturou x86_64.

Před zahájením ověřte Docker:

docker --version
docker compose version

Oba příkazy by měly vrátit nainstalované verze. Pokračujte pouze tehdy, pokud je Docker ve verzi 20.10.14 nebo novější a Docker Compose ve verzi 2.0.0 nebo novější; jinak před instalací SafeLine proveďte upgrade.

Nejdříve zvolte architekturu reverzní proxy

Three SafeLine WAF deployment shapes on a Linux VPS: Shape A with SafeLine alone owning ports 80 and 443, Shape B with SafeLine behind Nginx Proxy Manager on port 10080, and Shape C with SafeLine in front of Caddy on port 8080

Nový VPS umožňuje SafeLine plně vlastnit porty 80 a 443. VPS, na němž již běží Nginx Proxy Manager, Caddy nebo vlastní Nginx aplikace, to neumožňuje a rozhodnutí o architektuře je rozdílem mezi hladkou instalací a konfliktem portů při prvním startu. Zvládněte to jednou správně na začátku a zbytek nasazení je už mechanický.

Tři varianty:

  • Varianta A, SafeLine jako jediná reverzní proxy. SafeLine vlastní porty 80 a 443 a spravuje TLS pro chráněnou aplikaci. Aktuální vydání CE zahrnují workflow Free Cert, přičemž manuální nahrání certifikátu zůstává dostupné; přesné možnosti certifikátů ověřte v nainstalovaném vydání. Backend běží na neveřejném portu a SafeLine na něj směruje provoz.
  • Varianta B, SafeLine za Nginx Proxy Manager (NPM). NPM si ponechává porty 80 a 443 a obstarává SSL. SafeLine naslouchá na portu 10080 (pouze HTTP, protože NPM již ukončil TLS). NPM předává provoz do SafeLine; SafeLine jej předává do backendu. Toto je běžné nastavení, když je NPM již nasazen.
  • Varianta C, SafeLine společně s Caddy. Automatické HTTPS v Caddy soupeří se SafeLine o port 443. Funkční uspořádání přiděluje SafeLine porty 80 a 443 a přesouvá Caddy na neveřejný interní HTTP port, například 8080, pro přeskok ze SafeLine na Caddy a dále na aplikaci.
VariantaVlastní port 443Správa SSLSložitostNejlépe pro
A, pouze SafeLineSafeLineUvnitř SafeLineNízkáNový VPS nebo ochota migrovat
B, za NPMNPMV NPM (Let's Encrypt)StředníExistující nasazení NPM
C, s CaddySafeLineUvnitř SafeLineStředně vysokýExistující Caddy, které chcete zachovat

Klíčový poznatek: Varianta A je nejjednodušší pro nový VPS; varianta B je správná volba, když už NPM běží; varianta C vyžaduje záměrné přemapování portů Caddy.

Nainstalujte SafeLine na svůj VPS

Samotná instalace je ta snadná část. SafeLine nabízí dvě cesty instalace: automatizovaný instalátor, který stahuje vzdálený skript z waf.chaitin.com, a manuální cestu přes Docker Compose, která vám umožní vše zkontrolovat, než se to spustí. Zvolte tu, která odpovídá vaší bezpečnostní politice.

Krok 1: Ověřte, že je Docker připraven

Znovu zkontrolujte verzi Dockeru a to, že Docker daemon běží:

docker --version
docker compose version
sudo systemctl status docker

Očekávaný výstup obsahuje active (running) pro Docker daemon. Pokud neběží, spusťte jej pomocí sudo systemctl start docker a povolte jeho spuštění při startu pomocí sudo systemctl enable docker.

Krok 2: Spusťte instalátor SafeLine

Existují dvě dílčí cesty. Vyberte si jednu.

Krok 2a, automatizovaná instalace. Spusťte instalátor s právy roota:

sudo bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/manager.sh)" -- --en

Skript se zeptá, kam umístit datový adresář SafeLine, stáhne Docker image a spustí stack. Po instalaci spusťte sudo docker exec safeline-mgt resetadmin pro získání nebo resetování přihlašovacích údajů administrátora, jak je popsáno v oficiálním průvodci nasazením. Výsledné přihlašovací údaje bezpečně uložte.

Poznámka: Tento příkaz stáhne a spustí vzdálený shellový skript z waf.chaitin.com pod rootem. Oficiální jednořádkový příkaz obsahuje curl -k, což vypíná ověřování TLS certifikátů. Stažený skript před spuštěním prohlédněte, nebo použijte krok 2b, pokud je toto riziko nepřijatelné. SafeLine je k dispozici také jako nasazení Cloudzy na jedno kliknutí, ale tento image používá /opt/safeline, /opt/safeline/.env, a /opt/safeline/docker-compose.yml. Nepoužívejte na Cloudzy image beze změny cesty /data/safeline cesty beze změny na obrazu Cloudzy.

Krok 2b, manuální instalace přes Docker Compose. Stáhněte a prohlédněte oficiální Compose soubor, poté spusťte stack:

sudo mkdir -p /data/safeline
cd /data/safeline
sudo wget -O /data/safeline/compose.yaml "https://waf.chaitin.com/release/latest/compose.yaml"
POSTGRES_PASSWORD="$(openssl rand -hex 32)"
sudo tee .env >/dev/null <<EOF
SAFELINE_DIR=/data/safeline
IMAGE_TAG=latest
MGT_PORT=9443
POSTGRES_PASSWORD=$POSTGRES_PASSWORD
SUBNET_PREFIX=172.22.222
IMAGE_PREFIX=chaitin
ARCH_SUFFIX=
RELEASE=
REGION=-g
MGT_PROXY=0
EOF
unset POSTGRES_PASSWORD
# Also adjust SUBNET_PREFIX if your VPS already uses 172.22.222.0/24.
sudo chmod 600 /data/safeline/.env
sudo docker compose up -d

Po docker compose up -d dokončí, vypište běžící kontejnery pro potvrzení:

sudo docker compose ps

Měli byste vidět kontejnery safeline-mgt, safeline-detector, safeline-tengine, safeline-pg, safeline-fvm, safeline-luigi a safeline-chaos. Pokud některý kontejner vykazuje Exited, podívejte se na krok 3 kvůli dvěma nejčastějším příčinám.

Krok 3: Vyřešte časté chyby instalace

Dvě chyby se vyskytují dostatečně často, aby si zasloužily vlastní krok.

Překryv podsítí. Pokud instalace selže s Pool overlaps with other one on this address space, výchozí podsíť SafeLine koliduje s existující Docker sítí. Jak je zdokumentováno v průvodci řešením potíží s instalací SafeLine, opravte to úpravou /data/safeline/.env:

sudo nano /data/safeline/.env
# Find the line:
#   SUBNET_PREFIX=172.22.222
# Change to an unused range, for example:
#   SUBNET_PREFIX=172.30.30
sudo docker compose -f /data/safeline/compose.yaml down
sudo docker compose -f /data/safeline/compose.yaml up -d

Chyba IPv6 resolveru. Pokud safeline-tengine spadne s nginx: [emerg] invalid IPv6 address in resolver, nejprve prohlédněte soubor resolveru a zjistěte, kdo jej spravuje:

readlink -f /etc/resolv.conf
cat /etc/resolv.conf

Neupravujte /etc/resolv.conf přímo, pokud jej generuje systemd-resolved, NetworkManager nebo poskytovatel VPS. Opravte chybnou hodnotu nameserveru v konfiguraci spravující služby, znovu vygenerujte soubor resolveru a poté restartujte Tengine:

sudo docker restart safeline-tengine

Krok 4: Přístup k dashboardu

Reaching the SafeLine dashboard on port 9443 through an SSH tunnel from a laptop, with the port closed to the public internet

Správcovský dashboard SafeLine naslouchá na TCP 9443 přes HTTPS. Neponechávejte tento administrativní port otevřený celému internetu. Omezte jej na důvěryhodnou zdrojovou adresu nebo VPN, nebo zablokujte veřejný přístup a použijte SSH tunel:

ssh -L 9443:127.0.0.1:9443 USER@SERVER_IP

Otevřít https://localhost:9443 přes tunel. Při prvním přístupu se očekává varování o self-signed certifikátu; před pokračováním ověřte, že SSH spojení dosáhlo zamýšleného serveru.

Pokud jste ztratili počáteční přihlašovací údaje, resetujte heslo administrátora z hostitele:

sudo docker exec safeline-mgt resetadmin

Příkaz vypíše přihlašovací údaje administrátora, které můžete použít k opětovnému přihlášení.

Nakonfigurujte SafeLine pro svou architekturu

SafeLine nyní běží, ale zatím nic nechrání. Na stránce Applications v dashboardu řeknete SafeLine, které weby chránit a kam předávat vyčištěný provoz. Konfigurace se liší podle architektury, kterou jste zvolili dříve, takže každá varianta má vlastní podsekci. Projděte pouze tu, která odpovídá vašemu nastavení.

Varianta A: SafeLine jako jediná reverzní proxy

Ve variantě A naslouchá SafeLine přímo na portech 80 a 443 a předává vyčištěný provoz vaší backendové aplikaci na neveřejném portu. V dashboardu:

  1. Přejděte na Applications, poté Add Application.
  2. Nastavte naslouchající port na 443 a povolte SSL. Použijte workflow certifikátů dostupné ve vašem nainstalovaném vydání SafeLine. Aktuální vydání CE zahrnují žádost o certifikát Free Cert a obsluhu jeho obnovy, přičemž manuální nahrání certifikátu zůstává dostupné.
  3. Nastavte upstream na http://127.0.0.1:8080. Pokud backend běží v Dockeru, publikujte jeho port pouze na loopbacku, například "127.0.0.1:8080:8080" v sekci ports dané služby. Vyhněte se pevně zakódované IP kontejneru, jako je 172.17.0.5 protože se může změnit při opětovném vytvoření kontejneru.
  4. Uložte aplikaci. SafeLine okamžitě začne naslouchat na 443 a předávat vyčištěný provoz na backend.
  5. Ověřte, že DNS A záznam vaší domény směřuje na veřejnou IP VPS a že jsou porty 80 a 443 dostupné zvenčí.

Pokud byl port 443 již obsazen jiným procesem, kontejner SafeLine se nedokáže navázat a dashboard u této aplikace zobrazí chybu. Před přidáním aplikace zastavte konfliktní proces nebo zvolte jiný port.

Varianta B: SafeLine za Nginx Proxy Manager

Varianta B ponechává NPM u toho, co už dělá (vlastní 80 a 443, obstarává Let's Encrypt), a zařazuje SafeLine jako vyhrazenou bezpečnostní vrstvu za něj. Tok provozu je: klient, poté NPM (port 443, ukončení TLS), poté SafeLine (port 10080, HTTP), poté backendová aplikace.

V dashboardu SafeLine:

  1. Applications, poté Add Application. Nastavte naslouchající port na 10080 a ponechte SSL vypnuté (NPM již ukončil TLS).
  2. Nastavte upstream na interní adresu aplikace, jak je popsáno ve variantě A.
  3. Uložte aplikaci.

V Nginx Proxy Manager:

  1. Hosts, poté Proxy Hosts, poté Add Proxy Host.
  2. Záložka Details: nastavte název domény, schéma http, a forward port 10080. Pokud NPM běží přímo na hostiteli, použijte 127.0.0.1 jako forward hostname. Pokud NPM běží v Dockeru na Linuxu, 127.0.0.1 ukazuje na kontejner NPM, nikoli na hostitele VPS. Přidejte do NPM Compose služby mapování host-gateway v Dockeru , poté použijte host.docker.internal jako forward hostname:
extra_hosts:
  - "host.docker.internal:host-gateway"

Z adresáře NPM Compose spusťte sudo docker compose up -d aby byl kontejner znovu vytvořen s novým mapováním hostitele.

  1. Záložka SSL: vyžádejte certifikát Let's Encrypt, vynuťte SSL a povolte HTTP/2.
  2. Záložku Advanced v NPM ponechte pro X-Forwarded-For prázdnou. V aktuální šabloně NPM, je obsah Advanced vložen na úrovni server a nepřepisuje vygenerované hlavičky na úrovni location podle pravidel dědičnosti NGINX. Vygenerovaná location odesílá:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Druhá direktiva přidává adresu pozorovanou NPM jako nejpravější hodnotu v hlavičce.

  1. Uložte Proxy Host.

Zpět v SafeLine nakonfigurujte extrakci zdrojové IP až po ověření skutečného řetězce hlaviček. SafeLine 9.3.1 zavedl flexibilní extrakci XFF s volbou směru a indexu.

  1. Settings, poté Advanced, poté Real IP from Header. Nastavte název hlavičky na X-Forwarded-For.
  2. Použijte vlastní extrakci od konce hlavičky a vyberte nejpravější adresu přidanou NPM. Přesná označení indexů se liší podle verze, takže výsledek ověřte v Logs, poté Access. Pokud je nainstalované vydání starší než 9.3.1, před použitím této topologie jej aktualizujte.
  3. Pokud před NPM stojí Cloudflare nebo jiná CDN, nejprve nakonfigurujte NPM tak, aby důvěřoval pouze publikovaným proxy rozsahům daného poskytovatele, aby byla adresa přidaná NPM důvěryhodná. Nevybírejte pevnou pozici, dokud nezkontrolujete a neotestujete skutečný řetězec hlaviček.
  4. Uložte a znovu načtěte aplikaci.

Otestujte konfiguraci ze stroje mimo VPS:

curl -H "X-Forwarded-For: 1.2.3.4" "https://yourdomain.com/"

Access log SafeLine by měl zobrazit vaši skutečnou veřejnou adresu, nikoli 1.2.3.4 ani bridge adresu NPM.

Zabraňte uživatelům obejít SafeLine tím, že backendový naslouchající port udržíte soukromý. U backendu v Docker Compose publikujte port pouze na loopbacku:

ports:
  - "127.0.0.1:8080:8080"

U služby běžící přímo na hostiteli ji nakonfigurujte tak, aby naslouchala na 127.0.0.1:8080 místo 0.0.0.0:8080. Ověřte oba interní porty ze stroje mimo VPS:

curl --connect-timeout 5 "http://YOUR_VPS_PUBLIC_IP:10080"
curl --connect-timeout 5 "http://YOUR_VPS_PUBLIC_IP:8080"

TCP spojení by měla být odmítnuta nebo vypršet. HTTP chyba nebo „Empty reply from server“ stále znamená, že port je veřejně dostupný a musí být zabezpečen. Pokud je navázání na loopback nemožné, vytvořte pravidla firewallu přizpůsobená skutečnému rozhraní, Docker síti a cílovému kontejneru, místo použití obecného pravidla DOCKER-USER.

Varianta C: SafeLine s Caddy

Ve variantě C přebírá SafeLine porty 80 a 443; Caddy se přesouvá na neveřejný interní HTTP port. Tok provozu je: klient, poté SafeLine (443, TLS), poté Caddy (8080, interní HTTP), poté backend aplikace.

Upravit /etc/caddy/Caddyfile:

:8080 {
bind 127.0.0.1
reverse_proxy 127.0.0.1:3000
}

Vzdálený :8080 site blok je tou důležitou částí: Caddy nyní naslouchá na interním HTTP portu, místo aby soupeřil se SafeLine o 443. Řádek bind 127.0.0.1 udržuje tento naslouchající port lokální pro VPS. Znovu načtěte Caddy pomocí sudo systemctl reload caddy a potvrďte pomocí sudo ss -ltnp | grep -E ':(443|8080)' že je Caddy navázán na 8080, nikoli na 443.

V SafeLine přidejte aplikaci, která naslouchá na 443 s povoleným SSL, poté nastavte upstream na http://127.0.0.1:8080. Nastavení X-Forwarded-For může zůstat na výchozí volbě síťového spojení, protože Caddy je za SafeLine, nikoli před ním.

Zvolte režim ochrany a ověřte, že WAF blokuje útoky

SafeLine má tři režimy ochrany, které rozhodují, co se stane, když engine označí požadavek za škodlivý. Správný počáteční režim závisí na aplikaci; ověřovací krok je v každém režimu stejný.

Režimy ochrany: Monitor, Balanced, Strict

Každá aplikace v SafeLine nese vlastní nastavení režimu ochrany, konfigurovatelné v Applications, poté vaše aplikace, poté Protection Mode:

  • Monitor. SafeLine zaznamenává požadavky, které by jinak zablokoval, ale neblokuje je. Toto je nejbezpečnější výchozí bod pro složitou produkční aplikaci s bohatými vstupními formuláři (fórum, administrační panel s WYSIWYG poli, API, které přijímá volně strukturované JSON payloady). Nechte Monitor běžet několik dní, projděte stránku Attack Events a před přechodem na Balanced potvrďte, že nedochází k falešným poplachům vůči skutečným uživatelům.
  • Balanced. Výchozí režim. Podle údajů zveřejněných dodavatelem na GitHubu uvádí SafeLine pro režim Balanced 71.65% detekci, 99.45% přesnost a 0.07% míru falešných poplachů. Pro režim Strict je uváděno 76.17% detekce, 99.38% přesnost a 0.22% míra falešných poplachů. Jde o výsledky uváděné dodavatelem, nikoli o nezávislý benchmark, a README neuvádí, že by datovou sadou byla WAF-Eval. Berte je jako srovnávací produktové údaje, nikoli jako zaručený produkční výkon.
  • Strict. Agresivnější sada pravidel s přísnějšími heuristikami a kompromisem mezi detekcí a falešnými poplachy uvedeným výše. Stojí za vyzkoušení po týdnu nebo dvou čistého provozu v režimu Balanced, jakmile porozumíte svému provozu.

Doporučení: Balanced pro nové nasazení bez živého provozu, který by šlo narušit. U existující produkční aplikace začněte na několik dní v režimu Monitor, hledejte falešné poplachy v logu Attack Events a po vyladění případných výjimek přejděte na Balanced. Strict stojí za vyzkoušení po týdnu nebo dvou v režimu Balanced, jakmile porozumíte svému provozu.

Ověřte WAF pomocí testu SQLi přes curl

A curl SQL injection probe stopped by SafeLine: Balanced and Strict modes return 403 Blocked and log the attack event, while Monitor mode only logs it

Posledním krokem, než budete instalaci považovat za dokončenou, je potvrdit, že WAF skutečně zachytává útok. Spusťte neškodnou SQL injection sondu proti vašemu chráněnému webu z libovolného stroje mimo VPS:

curl -i "https://yourdomain.com/?id=1%20and%201=2%20union%20select%201"

Toto je zveřejněný testovací vektor SQL injection od SafeLine. V režimu Balanced nebo Strict očekávejte stav 403 a blokovací odpověď SafeLine. V režimu Monitor očekávejte, že bude požadavek zaznamenán bez blokování. Verze HTTP a přesné tělo odpovědi se mohou lišit, proto výsledek potvrďte odpovídajícím záznamem v Attack Events.

Poté otevřete dashboard přes metodu omezeného přístupu z kroku 4 a přejděte do Logs, poté Attack Events. Měli byste vidět nový záznam s odpovídajícím časovým razítkem, typem útoku SQL Injection, zdrojovou IP odpovídající stroji, z něhož jste spustili curl, a s inkriminovaným query stringem v detailu požadavku. Klikněte na událost pro zobrazení celého požadavku a odpovědi zachycených SafeLine.

Pokud curl požadavek vrátil 200 OK, interpretujte výsledek společně s logem Attack Events:

  • Odpovídající událost SQL Injection znamená, že aplikace je pravděpodobně v režimu Monitor; zaznamenávání bez blokování je očekávané.
  • Pokud odpovídající událost chybí, ověřte, že DNS překládá na zamýšlený VPS, zkontrolujte naslouchající port SafeLine a konfiguraci upstreamu a porovnejte čas požadavku s access logem SafeLine.
  • Rovněž potvrďte, že je ochrana zapnutá a že testovací požadavek nespadá pod žádný whitelist IP, vlastní povolovací pravidlo ani výjimku cesty.

Klíčový poznatek: Pokud curl sonda vrátí 403 se stránkou zachycení SafeLine a v Attack Events se objeví záznam s typem útoku SQL Injection, WAF zachytává provoz správně.

Co pokrývá bezplatná úroveň a co vyžaduje placený plán

Bezplatná úroveň Personal stačí k ochraně většiny nasazení na jednom VPS. Placené úrovně začínají hrát roli, když potřebujete provozní funkce (notifikace, export logů, geoblokování) nebo přerostete limit 10 aplikací.

Rozpis, čerpaný z cenové stránky CyberServal:

  • Personal, zdarma. Až 10 aplikací. Zahrnuje sémantický detekční engine (SQLi, XSS, command injection, path traversal, SSRF, XXE, CRLF), omezování rychlosti, CAPTCHA výzvu proti botům, dynamické šifrování HTML/JS proti automatizovaným scraperům, webová ACL pravidla a správu certifikátů. Aktuální vydání CE zahrnují také žádost o certifikát Free Cert a obsluhu jeho obnovy.
  • Lite, $10/měsíc nebo $100/rok. Přidává geoblokování, IP databázi threat intelligence, integraci notifikací s Discordem a Telegramem, export logů útoků a zvyšuje limit aplikací na 20.
  • Pro, $100/měsíc nebo $1,000/rok. Přidává výkonnější detekci útoků, konfigurace na úrovni služby i globální, vlastní stránky zachycení, vyvažování zátěže na upstreamu, synchronizaci uzlů master-slave a neomezený počet aplikací. Viz aktuální cenovou tabulku pro případné změny.
  • Ultimate, individuální cena. Podmínky na míru pro podniky s individuální podporou napříč kanály a vývojem funkcí na zakázku.

SafeLine zpracovává a ukládá data aplikací uvnitř svého lokálního Compose stacku. Nicméně aktuální poznámky k vydání CE zmiňují Threat Intelligence Sharing, takže provozovatelé by měli zkontrolovat UEP nainstalované verze, ovládací prvky soukromí a sdílení a sledovat odchozí spojení, než budou nasazení považovat za zcela bez odchozího provozu.

Kam pokračovat dál

Instalace je hotová a WAF je ověřen. Několik navazujících úkolů pomůže udržet nasazení zdravé.

  • U jakékoli produkční aplikace s bohatým uživatelským vstupem (fórum, administrační panel, volně strukturované API) nastavte režim ochrany na Monitor na tři až sedm dní, denně procházejte stránku Attack Events a po vyladění případných falešných poplachů přejděte na Balanced.
  • Na úrovni Lite nastavte integraci notifikací s Discordem nebo Telegramem, aby se k vám upozornění na útoky dostala i mimo dashboard.
  • Naplánujte měsíční údržbové okno. Před upgradem zálohujte data a konfiguraci prostředí SafeLine, přečtěte si aktuální poznámky k vydánía použijte podporovaný postup upgradu pro vaši nainstalovanou verzi. Nespoléhejte pouze na docker compose pull následováno docker compose up -d, protože Compose definice nebo požadované proměnné prostředí se mohou mezi vydáními změnit. Uživatelé Cloudzy na jedno kliknutí by měli vycházet z /opt/safeline a řídit se pokyny image z marketplace.
  • Přihlaste se k odběru stránky vydání SafeLine pro upozornění na bezpečnostní záplaty a k repozitáři projektu pro sledování problémů.

Pokud pro toto nasazení ještě nemáte VPS, SafeLine je k dispozici jako nasazení na jedno kliknutí v Cloudzy marketplace. Plán se 4 GB RAM poskytuje praktickou rezervu doporučenou v této příručce; znovu zkontrolujte aktuální cenovou tabulku na Cloudzy v době publikace, protože specifikace plánů se mohou změnit. Obraz na jedno kliknutí používá /opt/safeline a /opt/safeline/docker-compose.yml, takže pokyny k architektuře a dashboardu platí, ale příkazy /data/safeline z tohoto průvodce se neuplatní zcela shodně.

Časté dotazy

Nahrazuje SafeLine WAF Nginx Proxy Manager, nebo mám provozovat oba?

SafeLine může nahradit Nginx Proxy Manager, pokud je nasazen jako jediná reverzní proxy. Nemusí však NPM nahrazovat. Běžné nastavení ponechává NPM vpředu pro SSL a směrování a vrství SafeLine za něj jako vyhrazenou bezpečnostní vrstvu. Obojí funguje; volba závisí na tom, zda chcete jeden nástroj dělající obě práce, nebo dva nástroje, z nichž každý dělá jednu práci dobře.

Stačí bezplatná úroveň pro jeden web na WordPressu nebo malé SaaS?

Ano, pro ochranu. Bezplatná úroveň Personal zahrnuje sémantický detekční engine, omezování rychlosti, CAPTCHA výzvu proti botům a dynamické šifrování HTML/JS, což jsou základní obrany pro jeden web. Placené úrovně přidávají provozní funkce jako geoblokování, export logů útoků, externí notifikace, vyšší limity aplikací, výkonnější detekci a vyvažování zátěže. Zda je placená úroveň nezbytná, závisí na požadovaných funkcích a počtu aplikací, nikoli pouze na objemu provozu.

Funguje SafeLine na VPS s 1 GB RAM?

Podle oficiálního minima SafeLine je 1 GB RAM. To může stačit pro testování nebo velmi lehkou zátěž, ale produkční kapacita závisí na provozu, zapnutých funkcích a délce uchovávání logů. Pro malé produkční nasazení je 2 vCPU a 4 GB RAM konzervativní výchozí bod; sledujte využití paměti a škálujte podle naměřené zátěže.

Proč ARM64 vyžaduje placenou licenci?

Podle oficiální dokumentace k nasazení uvádí, že nasazení na ARM vyžadují licenci Pro a že edice Personal není na ARM podporována. Pokud chcete edici Personal, zvolte VPS s architekturou x86_64; pokud potřebujete ARM, počítejte s licencí Pro.

Co dostává Chaitin Tech z mé instance SafeLine?

Přesná odchozí data se mohou lišit podle vydání a zapnutých funkcí. Aktuální poznámky k vydání CE zmiňují Threat Intelligence Sharing, přičemž nainstalovaná verze může vystavovat i UEP nebo jiné ovládací prvky sdílení. Zkontrolujte tato nastavení a poznámky k vydání pro vaši nainstalovanou verzi, poté ověřte odchozí provoz na úrovni sítě. Lokální kontejnery SafeLine zpracovávají data aplikací, ale tato skutečnost sama o sobě nedokazuje, že odmítnutí UEP zastaví každý odchozí požadavek.

Sdílet

Další z blogu

Pokračuj ve čtení.

Hotov k nasazení? Od 2,48 $/měs.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dnů.