<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blog DreamServer - DreamServer</title><link>https://dreamserver.ro/ro/blog/</link><description>Articole tehnice, tutoriale si anunturi de la DreamServer - servere dedicate, VDS, retelistica, aplicatii si platforme, plus promotii si functionalitati noi. on DreamServer</description><generator>Hugo</generator><language>ro-RO</language><lastBuildDate>Mon, 20 Apr 2026 10:00:00 +0300</lastBuildDate><atom:link href="https://dreamserver.ro/ro/blog/" rel="self" type="application/rss+xml"/><item><title>CloudPanel: un panou de control gratuit care nu pare ieftin</title><link>https://dreamserver.ro/ro/blog/cloudpanel-free-server-control-panel/</link><pubDate>Mon, 20 Apr 2026 10:00:00 +0300</pubDate><author>Cristian Trusca</author><guid isPermaLink="true">https://dreamserver.ro/ro/blog/cloudpanel-free-server-control-panel/</guid><description>Un test practic pe CloudPanel, panoul de control open-source si gratuit de la MGT-COMMERCE: ce primesti, cum se instaleaza pe un VPS Debian sau Ubuntu si unde se opreste.</description><content:encoded><![CDATA[<p>Daca ai cotat vreodata cPanel pentru o flota mica de VPS-uri, deja stii ca matematica nu e prietenoasa. Licenta per cont, plus licenta de OS daca ai mers pe RHEL, plus serverul in sine, transforma un VPS de 5 EUR intr-un VPS de 25 EUR inainte sa servesti vreo cerere. Plesk e in aceeasi zona de pret. Alternativele gratuite au obiceiul fie sa fie cu zece ani in urma la UI, fie sa fie pe tacute suspecte la capitolul telemetrie, ceea ce lasa un gol real pentru &ldquo;panou modern, gratis, gazduit pe cutia mea&rdquo;.</p>
<p><a href="https://www.cloudpanel.io/" rel="nofollow">CloudPanel</a>
, panoul open-source de la MGT-COMMERCE, se aseaza in golul ala de vreo doi ani buni. Editia community e singura editie, ceea ce e o schimbare placuta fata de tiparul freemium. La versiunea v2.5.3 (decembrie 2025) sta pe la 1.800 de stele pe <a href="https://github.com/cloudpanel-io/cloudpanel-ce" rel="nofollow">GitHub</a>
 si are imagini gata facute pentru toti hyperscalerii mari. Il rulam de cateva saptamani pe un <a href="/ro/servere-virtuale/vps/">VPS in datacenterul nostru din Bucuresti</a>
. Acest articol e raportul de teren.</p>
<h2 id="ce-este-mai-exact-cloudpanel">Ce este, mai exact, CloudPanel</h2>
<p>Ca arhitectura, CloudPanel e <strong>un strat subtire de management peste un stack Nginx, PHP-FPM, MySQL sau MariaDB hardenizat</strong>. Nu e propriul lui server web, nu e propria lui baza de date, nu e un swarm Docker sau un wrapper de Kubernetes. Panoul scrie vhost-uri Nginx, gestioneaza pool-uri PHP-FPM per site, provizioneaza utilizatori Linux astfel incat fiecare site e izolat la nivel de OS, si expune un UI pentru toate astea fara sa fii nevoit sa-ti aduci aminte exact de ce config knob de <code>php-fpm</code> aveai nevoie marti trecut.</p>
<p>Daca suna plictisitor, asta e ideea. Decizia interesanta de design la CloudPanel e ce <em>nu</em> incearca sa fie: nu e o platforma de revanzare hosting, nu e sistem de billing, nu e mail server, nu e DNS authoritative. Omisiunile astea sunt deliberate, si tot ele sunt primul lucru de inteles inainte sa-l adopti.</p>
<h3 id="stack-ul-pe-care-l-primesti">Stack-ul pe care-l primesti</h3>
<ul>
<li><strong>Tier web</strong>: Nginx, configurat ca front pentru fiecare site. Nu exista optiune Apache.</li>
<li><strong>PHP</strong>: mai multe versiuni instalate in paralel (7.x si 8.x), comutabile per site cu un click. Sa rulezi un PrestaShop vechi pe 7.4 langa o aplicatie Laravel 11 pe 8.3 pe aceeasi cutie e un non-eveniment.</li>
<li><strong>Baze de date</strong>: MySQL 8.4, 8.0, 5.7 sau MariaDB 11.8, 11.4, 10.11, 10.6. Alegi una la instalare prin variabila <code>DB_ENGINE</code>, restul nu se instaleaza.</li>
<li><strong>Tipuri de aplicatie</strong>: PHP, Node.js, Python, site-uri statice si pasare reverse-proxy (la indemana cand vrei sa pui un Nginx gestionat de panou in fata unei aplicatii rulate altundeva).</li>
<li><strong>TLS</strong>: Let&rsquo;s Encrypt incorporat, cu validare HTTP-01 si reinnoire automata.</li>
</ul>
<p>Planul de control in sine e o aplicatie Symfony PHP in spatele propriului vhost Nginx pe portul 8443. Portul ala unic e toata suprafata de management; inchide-l fata de lume si singurii care pot atinge panoul sunt cei din reteaua ta de management.</p>
<h2 id="ce-primesti-din-cutie">Ce primesti din cutie</h2>
<p>Editia community (care, repet, e singura editie) vine cu:</p>
<ul>
<li><strong>Izolare la nivel de site</strong> in OS. Fiecare site primeste propriul utilizator Linux, propriul pool PHP-FPM, propriul home directory. Un WordPress compromis pe site-ul A nu are acces de citire la fisierele site-ului B. E feature-ul care conteaza cel mai mult in mediile partajate.</li>
<li><strong>SSL Let&rsquo;s Encrypt gratuit</strong>, un click per site, reinnoit automat prin cron.</li>
<li><strong>Management UFW</strong> cu o politica default rezonabila si UI pentru reguli aditionale.</li>
<li><strong>Two-factor authentication</strong> pentru admin-ul panoului, bazat pe TOTP.</li>
<li><strong>IP si Bot blocker</strong>, care iti permite sa pui pe blacklist user agents si intervale de IP fara sa cobori in configul Nginx.</li>
<li><strong>Integrare Cloudflare</strong>, in principal pentru a avea incredere in lantul corect de <code>X-Forwarded-For</code> astfel incat log-urile de access sa nu fie pline de IP-uri din edge-ul Cloudflare.</li>
<li><strong>Template-uri vhost</strong> per tip de aplicatie, preconfigurate pentru WordPress, Magento, Symfony, Node, PHP generic, si asa mai departe. Template-urile sunt rezonabile (gzip, brotli, header-e de securitate) si editabile.</li>
<li><strong>Cron per site</strong>, FTP, file manager si UI de administrare a bazei de date.</li>
<li><strong>Destinatii de backup</strong> catre bucket-uri compatibile S3, inclusiv MinIO si Backblaze B2, configurabile per site.</li>
</ul>
<p>Ce <em>nu</em> livreaza: mail server, DNS authoritative, portal de billing/clienti, instalator one-click tip Softaculous, sau orice forma de clustering multi-server. Daca modelul tau mental de panou de control e &ldquo;paritate de feature-uri cu cPanel&rdquo;, CloudPanel o sa-ti para slab. Daca modelul tau mental e &ldquo;cel mai mic lucru care ma scapa de editat manual vhost-uri Nginx&rdquo;, o sa-ti para potrivit la dimensiune.</p>
<h2 id="instalare-cloudpanel-pe-un-vps">Instalare CloudPanel pe un VPS</h2>
<p>Calea de instalare e chiar un one-liner si docs nu pretind altceva. Resurse minime rezonabile: <strong>1 vCPU, 2 GB RAM, 10 GB disk</strong>. OS-uri suportate: Debian 11, 12, 13 si Ubuntu 22.04, 24.04 LTS, pe x86_64 sau arm64. Orice mai vechi de Debian 11 nu e suportat si nu ar trebui sa incerci.</p>
<p>Pe un server proaspat, logheaza-te ca root si actualizeaza pachetele de baza intai:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt update <span style="color:#f92672">&amp;&amp;</span> apt -y upgrade <span style="color:#f92672">&amp;&amp;</span> apt -y install curl wget sudo
</span></span></code></pre></div><p>Apoi ruleaza installer-ul. Comanda exacta din docs-ul oficial (cu verificare sha256, pe care nu ar trebui sa o sari):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>echo <span style="color:#e6db74">&#34;6eac061df80f08b75224fcd7fce2f115e201696d8a6122e31abf7259a813b462 install.sh&#34;</span> | <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>sha256sum -c <span style="color:#f92672">&amp;&amp;</span> sudo DB_ENGINE<span style="color:#f92672">=</span>MYSQL_8.4 bash install.sh
</span></span></code></pre></div><p>Alege valoarea <code>DB_ENGINE</code> care ti se potriveste. Optiuni comune sunt <code>MYSQL_8.4</code>, <code>MYSQL_8.0</code>, <code>MARIADB_11.8</code>, <code>MARIADB_10.11</code>. Daca vrei MariaDB pentru ca stack-ul aplicatiei tale o presupune, decide acum, motorul de baza de date nu e schimbabil post-instalare fara interventie manuala.</p>
<p>Scriptul va instala Nginx, PHP, baza de date aleasa, panoul in sine si cron-urile aferente. Dureaza 3 pana la 6 minute pe un VPS de 1 vCPU, mai mult pe discuri lente.</p>
<p>Dupa ce termina, UI-ul de management e la <code>https://&lt;ip-server&gt;:8443/</code>. Prima cerere ajunge intr-un wizard de setup unde creezi utilizatorul admin, <strong>si asta e momentul de risc</strong>: intre incheierea instalarii si completarea wizardului, oricine poate ajunge la portul 8443 poate revendica contul de admin. Recomandarea oficiala e sa accesezi panoul &ldquo;cat de repede posibil&rdquo;. Recomandarea mai buna e sa pui firewall pe portul 8443 spre IP-ul tau inainte sa pornesti instalarea:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>ufw allow from IP_BIROU_TAU to any port <span style="color:#ae81ff">8443</span>
</span></span><span style="display:flex;"><span>ufw deny <span style="color:#ae81ff">8443</span>
</span></span></code></pre></div><p>Daca rulezi asta pe un <a href="/ro/servere-virtuale/vps/">VPS DreamServer</a>
, pune aceeasi regula si in firewall-ul de retea de partea providerului. Regulile la nivel de host sunt ok, regulile la nivel de retea sunt mai bune, ambele e corect.</p>
<p>Dupa wizard, porneste TOTP two-factor pentru contul de admin din <strong>Account</strong> &gt; <strong>Security</strong>. Nu ai scuza sa nu o faci.</p>
<h2 id="adaugarea-unui-site-php-real-cu-ssl">Adaugarea unui site PHP real cu SSL</h2>
<p>Modelul mental e: fiecare site e un utilizator izolat cu un docroot dedicat sub <code>/home/&lt;sitename&gt;/htdocs/&lt;domain&gt;/</code>. Nu editezi vhost-uri Nginx de mana, panoul face asta in locul tau cand creezi sau modifici un site.</p>
<p>In UI, <strong>Sites</strong> &gt; <strong>Add site</strong>:</p>
<ul>
<li><strong>Site type</strong>: alege cea mai apropiata potrivire (WordPress, Magento, Symfony, PHP generic, Node.js, static, reverse proxy). Template-ul prepopuleaza default-uri rezonabile pentru tipul ala de aplicatie.</li>
<li><strong>Domeniu</strong>: <code>example.com</code> plus orice alias-uri. Subdomeniile wildcard sunt suportate prin DNS-01 daca o legi la Cloudflare sau Route53; altfel ramai la nume explicite.</li>
<li><strong>Versiune PHP</strong>: de la 7.4 pana la 8.3 in dropdown. Comutabila si dupa.</li>
<li><strong>Site user</strong>: utilizatorul Linux care va detine acest site. Default e o derivare rezonabila a domeniului.</li>
</ul>
<p>Salveaza, indica recordurile A/AAAA spre hostul cu panou, apoi revino si da click pe <strong>SSL/TLS</strong> &gt; <strong>Let&rsquo;s Encrypt</strong>. Panoul face dansul HTTP-01, lasa certificatul in <code>/etc/nginx/ssl/</code>, si reincarca. Saizeci de secunde, fara certbot manual.</p>
<p>Ca sa verifici ca site-ul e chiar live:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -I https://example.com
</span></span></code></pre></div><p>Ar trebui sa vezi un <code>200</code> (sau redirectul aplicatiei tale) si un header <code>server: nginx</code>. Daca vezi Apache sau orice altceva in afara de Nginx, ceva e gresit la DNS-ul tau, nu la CloudPanel.</p>
<h2 id="tipare-de-configurare-care-merita-stiute">Tipare de configurare care merita stiute</h2>
<p>Cateva tipare pe care le-am gasit utile dincolo de default-uri.</p>
<h3 id="foloseste-setarile-php-per-site-nu-phpini">Foloseste setarile PHP per site, nu php.ini</h3>
<p>CloudPanel expune <code>memory_limit</code>, <code>max_execution_time</code>, <code>upload_max_filesize</code> si prietenii per site in UI. Foloseste-le. Editarea globala in <code>/etc/php/8.3/fpm/php.ini</code> merge exact o data, pana la urmatorul update de pachete care o sterge.</p>
<h3 id="vhost-custom-snippets-nu-editari-directe">Vhost custom snippets, nu editari directe</h3>
<p>Fiecare site are un camp <strong>Vhost</strong> &gt; <strong>Custom snippets</strong> unde poti lipi directive Nginx aditionale. Foloseste-l pentru reguli de cache, redirecturi, header-e de securitate. Nu edita direct fisierul vhost generat de panou; urmatorul save prin UI iti va suprascrie modificarile.</p>
<h3 id="cron-real-in-loc-de-web-cron">Cron real in loc de web cron</h3>
<p>Pentru WordPress in special, dezactiveaza WP-Cron in <code>wp-config.php</code> (<code>define('DISABLE_WP_CRON', true);</code>) si adauga o intrare cron reala in tab-ul <strong>Cron Jobs</strong> al panoului. WP-Cron declansat la fiecare incarcare de pagina e unul dintre motivele cele mai comune pentru care un site WordPress mic pare lent sub incarcare modesta.</p>
<h3 id="backup-panou-plus-filesystem-ambele">Backup: panou plus filesystem, ambele</h3>
<p>Backup-urile S3 din CloudPanel sunt bune pentru fisiere de aplicatie si baze de date. Nu inlocuiesc un backup full-VM. Noi imperecheam backup-urile panoului cu snapshot-uri <a href="/ro/servicii/proxmox-backup/">Proxmox Backup Server</a>
 la nivel de hypervisor, astfel incat o recuperare tip &ldquo;reconstruieste VPS-ul de la zero&rdquo; e o singura restaurare in loc de reinstalare panou plus restaurare per site.</p>
<h3 id="ai-mai-multa-incredere-in-bot-blocker-decat-in-instinct">Ai mai multa incredere in bot blocker decat in instinct</h3>
<p>IP si Bot blocker-ul are o lista organizata de scrapere si tooluri de credential stuffing cunoscute. Porneste-l pe orice site public si verifica access log-urile o saptamana mai tarziu. Numarul de cereri pe care le pica in tacere, in mare parte toolkit-uri vechi de brute force WordPress, e constant mai mare decat se asteapta lumea.</p>
<h2 id="cloudpanel-vs-alternativele">CloudPanel vs alternativele</h2>
<p>Pentru completitudine:</p>
<ul>
<li><strong>cPanel/WHM</strong>: default-ul industriei, matur, scump, centrat pe RHEL. Daca facturezi clientilor per cont cPanel si ai nevoie de paritate de feature-uri cu restul ecosistemului cPanel (CageFS, JetBackup, integrare WHMCS), e in continuare raspunsul corect. CloudPanel nu incearca sa concureze aici.</li>
<li><strong>Plesk</strong>: tier de pret similar cu cPanel, UI mai prietenos, ruleaza pe mai multe OS-uri. Daca platesti deja pentru Plesk si merge, nu ai motiv sa migrezi.</li>
<li><strong>aaPanel</strong>: gratuit, set larg de feature-uri, origine chineza cu o poveste opaca de telemetrie care a facut unii operatori nervosi. UI-ul e dens intr-un mod in care CloudPanel deliberat nu e.</li>
<li><strong>HestiaCP</strong>: gratuit, fork din VestaCP, vine cu mail si DNS, mai mult &ldquo;fa de toate&rdquo; ca scop. Bazat pe cod mai vechi, mai multe colturi aspre, dar alegerea corecta daca ai specific nevoie de mail si DNS bundled.</li>
<li><strong>CyberPanel</strong>: editie community gratuita, centrata pe OpenLiteSpeed, optimizata pentru cache LiteSpeed. Bun daca te-ai angajat deja in ecosistemul LiteSpeed; altfel Nginx e mai portabil.</li>
</ul>
<p>CloudPanel s-a dovedit cea mai curata potrivire pentru &ldquo;vreau un panou modern care gestioneaza Nginx, PHP si baze de date pentru un numar mic de site-uri, fara sa-mi dea feature-uri pe care nu le voi folosi&rdquo;. Ponderile tale pot fi diferite.</p>
<h2 id="unde-cloudpanel-nu-e-raspunsul-potrivit">Unde CloudPanel nu e raspunsul potrivit</h2>
<p>Merita sa fim onesti despre limite.</p>
<ul>
<li><strong>Fara mail server.</strong> Daca ai nevoie de hosting IMAP/SMTP pe acelasi panou, CloudPanel nu iti da asta. Vei rula o cutie de mail separata (sau, mai rezonabil, vei ruta mailul printr-un provider gestionat).</li>
<li><strong>Fara DNS authoritative.</strong> Panoul nu ruleaza BIND/PowerDNS pentru tine. Gestionezi DNS-ul la registrar, in Cloudflare, sau pe un serviciu authoritative separat. Pentru clientii nostri asta e de obicei ok pentru ca furnizam DNS la <a href="/ro/servicii-lir/">nivelul LIR/retea</a>
 oricum.</li>
<li><strong>Fara multi-server.</strong> Un panou administreaza un server. Nu exista concept de cluster, nu exista poveste de filesystem partajat, nu exista failover. Daca ai mai mult de o mana de servere, te uiti la unelte de orchestrare, nu la un panou.</li>
<li><strong>Fara billing pentru clienti.</strong> Asta nu e o platforma de revanzare hosting. Daca vrei sa vinzi planuri de hosting cu facturare, montezi panoul peste un sistem de billing separat.</li>
<li><strong>Self-hosting tot self-hosting ramane.</strong> Tu pui patch-uri pe OS, tu privesti discul cum se umple, tu te ocupi de surpriza ocazionala MySQL. Daca echipa ta nu vrea asta, <a href="/ro/servicii/administrare-servere/">un serviciu gestionat</a>
 e mai ieftin in ore de operator decat e gratuit software-ul in timpul tau.</li>
</ul>
<h2 id="deci-sa-l-rulezi">Deci, sa-l rulezi?</h2>
<p>Daca host-uiesti tu insuti o mana de site-uri PHP, Node sau Python pe un VPS sau server dedicat, si editezi vhost-uri Nginx de mana de suficient timp incat sa te plictisesti, CloudPanel merita o duminica dupa-amiaza. Instalarea e o singura comanda, UI-ul iti iese din drum, si modelul de utilizator Linux per site inseamna ca un plugin compromis pe un site nu e un incident la nivel de panou.</p>
<p>Daca il rulezi in productie, pune-l pe un server cu o poveste reala de backup (Proxmox Backup, snapshot-uri, alegerea ta), pune firewall pe portul de management, si trateaza panoul ca infrastructura critica. Configurile Nginx si PHP pe care le scrie panoul sunt usor de reconstruit; baza de date cu definitii de site-uri si utilizatori e ce ti-ar lipsi cu adevarat.</p>
<p>Noi rulam CloudPanel in fata catorva site-uri interne si il recomandam clientilor care cer &ldquo;ceva intre Nginx pur si cPanel&rdquo;. Daca vrei sa-l incerci pe infrastructura pe care nu trebuie sa o construiesti tu intai, <a href="/ro/servere-virtuale/vps/">planurile noastre VPS</a>
 incep la dimensiuni mici cat sa faca experimentul ieftin, iar <a href="/ro/servicii/administrare-servere/">serviciul de administrare server</a>
 acopera instalarea si tuning-ul daca preferi sa sari peste curba de invatare. Daca ceva nu se potriveste, <a href="/ro/contact/">scrie-ne</a>
 si iti spunem onest daca e tool-ul potrivit pentru treaba.</p>
<p>Codul e pe <a href="https://github.com/cloudpanel-io/cloudpanel-ce" rel="nofollow">GitHub</a>
, instalarea e o singura comanda, si vei sti intr-o ora daca isi castiga un loc in stack-ul tau.</p>
]]></content:encoded><category>Panouri de control</category><category>Hosting</category></item><item><title>SafeLine WAF: un firewall open-source serios pentru aplicatiile tale web</title><link>https://dreamserver.ro/ro/blog/safeline-waf-open-source-self-hosted/</link><pubDate>Sun, 19 Apr 2026 10:00:00 +0300</pubDate><author>Cristian Trusca</author><guid isPermaLink="true">https://dreamserver.ro/ro/blog/safeline-waf-open-source-self-hosted/</guid><description>Un test practic pe SafeLine, WAF-ul self-hosted de la Chaitin Tech: motor de detectie semantica, instalare pe un VPS in cinci minute, exemple reale de configurare si limitele de stiut inainte sa-l pui in fata productiei.</description><content:encoded><![CDATA[<p>Daca ai stat vreodata noaptea la 3 dimineata cu un grafic de erori 5xx in fata in timp ce un botnet bate la fiecare formular de login pe care il ai, deja stii de ce conteaza un Web Application Firewall. Intrebarea sincera este pe care sa-l pui in fata stack-ului tau fara sa platesti Cloudflare Enterprise si fara sa te lupti weekend-uri intregi cu reguli ModSecurity.</p>
<p><a href="https://github.com/chaitin/SafeLine" rel="nofollow">SafeLine</a>
, WAF-ul open-source mentinut de <a href="https://www.chaitin.com/" rel="nofollow">Chaitin Tech</a>
, aduna in tacere momentum exact pe acea nisa. La versiunea v9.3.4 (lansata pe 17 aprilie 2026) are peste 21.000 de stele pe GitHub, ruleaza in peste 180.000 de instalari si este licentiat sub GPL-3.0. Il testam de cateva saptamani pe un VPS in datacenterul nostru din Bucuresti. Acest articol e raportul de teren.</p>
<h2 id="ce-este-mai-exact-safeline">Ce este, mai exact, SafeLine</h2>
<p>Ca arhitectura, SafeLine e un <strong>reverse proxy cu motor de detectie in fata originii tale</strong>. Traficul intra in SafeLine pe porturile 80/443, e inspectat, si fie e lasat sa treaca spre aplicatia upstream, fie e provocat, limitat sau blocat. Reverse proxy-ul e construit pe un fork hardenizat de Tengine (Tengine fiind derivatul nginx al Alibaba), cu logica de detectie implementata ca module native in C++ si Lua. Planul de management e un serviciu in Go cu PostgreSQL in spate.</p>
<p>Daca suna mult ca nginx + ModSecurity, comparatia e corecta pe hartie si nedreapta in practica. Partea interesanta e ce se intampla intre momentul in care soseste cererea si apelul catre upstream.</p>
<h3 id="de-ce-motorul-de-detectie-e-diferit">De ce motorul de detectie e diferit</h3>
<p>Majoritatea WAF-urilor open-source pe care le-ai atins, ModSecurity cu OWASP Core Rule Set fiind exemplul canonic, sunt fundamental motoare regex. Cauta tipare in cerere si decid. Compromisul e bine cunoscut: stransi regulile si incepi sa blochezi useri legitimi, le slabesti si atacurile trec. Oricine a pus paranoid mode pe ModSecurity in fata unui WordPress stie taxa pe fals-pozitive.</p>
<p>SafeLine merge pe alt drum. Parseaza cererea ca structura sintactica (gramatica SQL pentru parametrii care arata a query, AST de JavaScript pentru continut script, parser shell pentru tipare de comanda) si apoi evalueaza daca rezultatul parsat are <em>forma semantica</em> de atac. Un query cu ghilimele nu e automat suspect; un query a carui forma parsata ar schimba fluxul de executie SQL este. Echipa Chaitin publica numere de benchmark in jur de 99,4% acuratete in modul balance, in zona ofertelor comerciale.</p>
<p>Tot ar trebui sa verifici pe traficul tau, toate benchmark-urile WAF au un puternic iz de &ldquo;testat pe setul de date pe care l-am construit noi&rdquo;, dar in practica rata de fals-pozitive pe workload-urile noastre de test a fost substantial mai mica decat ModSecurity cu CRS la paranoia level 2. Asta singur schimba povestea operationala: un WAF pe care nu trebuie sa-l whitelist-ezi constant e un WAF care ramane pornit.</p>
<h2 id="ce-primesti-din-cutie">Ce primesti din cutie</h2>
<p>Editia community (despre care vorbim, editia Pro e anuntata dar nu general disponibila la momentul scrierii) vine cu:</p>
<ul>
<li><strong>Detectie de atacuri web</strong> pentru categoriile canonice OWASP: SQL injection, XSS, command si code injection, XXE, SSRF, path traversal, tipare de deserializare.</li>
<li><strong>Rate limiting</strong> per IP, per cale, per sesiune, cu ferestre si comportament de burst configurabile.</li>
<li><strong>Anti-bot challenge</strong>, un proof-of-work JavaScript pe care browserele legitime il rezolva transparent si pe care scraperele headless se impotmolesc.</li>
<li><strong>Authentication challenge</strong>, o poarta separata pe care o poti pune in fata panourilor de admin (gandeste-te: un pas tip captcha inainte sa ajunga cererea la <code>/wp-admin/</code>).</li>
<li><strong>Criptare dinamica HTML/JS</strong>, care altereaza identificatorii client-side la fiecare cerere astfel incat scraperele si tool-urile de credential stuffing sa nu poata tinti usor campurile din formulare.</li>
<li><strong>Geo blocking</strong> pe tara, util pentru site-urile fara business in afara unei regiuni.</li>
<li><strong>Dashboard de logging si analiza</strong>, care e chiar util (mai jos despre asta).</li>
</ul>
<p>Ce nu face: nu e un CDN. Nu cache-uieste asseturi statice, nu-ti da POP-uri in jurul lumii, nu te apara de DDoS volumetric L3/L4 la marginea retelei. SafeLine e firewall pe layer 7. Daca primesti 100 Gbit de UDP reflection, ai nevoie de mitigare la nivel de retea in amonte, genul celei pe care o rulam la AS57050 cu <a href="/ro/retea/">setup-ul nostru de RTBH si sFlow</a>
, inainte ca traficul sa-ti ajunga la VPS.</p>
<h2 id="instalare-safeline-pe-un-vps">Instalare SafeLine pe un VPS</h2>
<p>Asta e partea unde majoritatea proiectelor &ldquo;open source WAF&rdquo; te fac sa regreti decizia. SafeLine, sincer, nu. Comanda one-liner oficiala face ce trebuie pe o cutie curata de Debian sau Ubuntu.</p>
<p>Resurse minime rezonabile: <strong>2 vCPU, 4 GB RAM, 10 GB liberi pe disc</strong>. Scriptul avertizeaza sub 5 GB liberi. E nevoie de instructiuni CPU SSSE3 (orice procesor x86 facut in ultimii 15 ani le are, dar daca rulezi pe ceva exotic, verifica <code>/proc/cpuinfo</code>). Sunt suportate atat x86_64 cat si arm64.</p>
<p>Pe un server proaspat:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>bash -c <span style="color:#e6db74">&#34;</span><span style="color:#66d9ef">$(</span>curl -fsSLk https://waf.chaitin.com/release/latest/setup.sh<span style="color:#66d9ef">)</span><span style="color:#e6db74">&#34;</span>
</span></span></code></pre></div><p>Scriptul va:</p>
<ol>
<li>Instala Docker si plugin-ul Compose daca lipsesc.</li>
<li>Pune un stack docker-compose la <code>/data/safeline/</code>.</li>
<li>Alege o subretea privata neutilizata (incearca, in ordine, <code>172.22.222.0/24</code>, <code>169.254.222.0/24</code>, <code>192.168.222.0/24</code>).</li>
<li>Genera o parola Postgres random de 32 de caractere.</li>
<li>Trage si porni patru containere: <code>safeline-pg</code>, <code>safeline-mgt</code>, <code>safeline-detector</code>, <code>safeline-tengine</code>.</li>
</ol>
<p>Dupa ce termina, UI-ul de management e la <code>https://&lt;ip-server&gt;:9443/</code> cu un certificat self-signed. Ca sa iei credentialele initiale de admin:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>docker exec safeline-mgt resetadmin
</span></span></code></pre></div><p>Comanda asta tipareste un user si o parola de unica folosinta pentru primul login. Schimba parola imediat dupa ce intri. Cat esti acolo, restrictioneaza portul 9443 cu o regula de firewall, planul de management nu trebuie expus pe internet:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>ufw allow from IP_BIROU_TAU to any port <span style="color:#ae81ff">9443</span>
</span></span><span style="display:flex;"><span>ufw deny <span style="color:#ae81ff">9443</span>
</span></span></code></pre></div><p>Daca rulezi asta pe un <a href="/ro/servere-virtuale/vps/">VPS DreamServer</a>
, aceeasi regula trebuie pusa si in firewall-ul de retea al providerului, nu te baza doar pe regulile la nivel de host pentru interfete de management.</p>
<h2 id="cum-pui-un-site-real-in-spate">Cum pui un site real in spate</h2>
<p>Adaugarea unui site protejat e simpla, dar modelul mental dureaza un minut sa se aseze. SafeLine devine endpoint-ul public; aplicatia ta reala devine un upstream intern cu care vorbeste doar SafeLine.</p>
<p>In UI-ul de management, <strong>Sites</strong> &gt; <strong>Add site</strong>:</p>
<ul>
<li><strong>Domeniu</strong>: <code>example.com</code> (si orice alias-uri pe care le servesti).</li>
<li><strong>Port</strong>: <code>80</code> pentru HTTP simplu, <code>443</code> pentru HTTPS, ambele daca vrei sa faca SafeLine redirectul.</li>
<li><strong>Upstream</strong>: IP-ul si portul originii tale, de exemplu <code>10.0.0.5:8080</code>. Daca originea sta pe aceeasi cutie, foloseste gateway-ul bridge-ului docker (de obicei <code>172.17.0.1</code> sau cea aleasa de script) si portul pe care asculta aplicatia ta.</li>
<li><strong>Certificat TLS</strong>: lipeste certificat si cheie, sau urca unul emis de Let&rsquo;s Encrypt. SafeLine nu emite acum certificate automat, vii cu al tau.</li>
</ul>
<p>Salveaza, apoi indica recordurile A/AAAA ale domeniului spre hostul SafeLine. In cateva secunde site-ul apare la <strong>Detection logs</strong> si poti urmari traficul live trecand prin el.</p>
<p>Primul lucru de verificat e ca SafeLine e chiar inline. Trimite o cerere intentionat proasta:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -k <span style="color:#e6db74">&#34;https://example.com/?id=1&#39; OR &#39;1&#39;=&#39;1&#34;</span>
</span></span></code></pre></div><p>Ar trebui sa primesti o pagina de blocare SafeLine (HTML in body, HTTP 403 default) si o intrare corespunzatoare in log-ul de detectie. Daca cererea ajunge la aplicatie, DNS-ul sau configul de upstream e gresit, repara aia inainte sa te bazezi pe orice altceva.</p>
<h2 id="tipare-de-configurare-care-merita-stiute">Tipare de configurare care merita stiute</h2>
<p>Cateva tipare pe care le-am gasit chiar utile, dincolo de default-uri.</p>
<h3 id="whitelist-pentru-health-check-uri">Whitelist pentru health check-uri</h3>
<p>Daca sistemul tau de monitoring loveste <code>/health</code> dintr-un IP cunoscut, nu lasa SafeLine sa scoreze cererile alea. Adauga o <strong>regula Allow</strong> in capul lantului de policy care matcheaza IP sursa si cale, cu actiunea &ldquo;skip detection&rdquo;. Scopul nu e sa salvezi CPU, e sa-ti pastrezi log-urile de detectie curate de trafic in care ai incredere.</p>
<h3 id="rate-limit-inainte-de-block">Rate limit inainte de block</h3>
<p>Cand pornesti rate limiting pe un endpoint de login, prefera <strong>challenge</strong> in loc de <strong>block</strong> la primul prag. Un bot care intra intr-un challenge moare in tacere; un om care si-a gresit parola de trei ori la rand trece. Pastreaza actiunea de block pentru al doilea prag (sa zicem, 30 de cereri pe 5 minute de la un singur IP).</p>
<h3 id="anti-bot-pe-tot-site-ul-nu-doar-pe-login">Anti-bot pe tot site-ul, nu doar pe login</h3>
<p>Contraintuitiv, dar util: porneste challenge-ul JS pe tot site-ul pentru cai de valoare mica (homepage-ul, blogul) pe un procent mic de trafic. Botii care pica challenge-ul acolo sunt aceiasi care ulterior ti-ar incerca formularul de login. Inveti multe despre ce te loveste inainte ca vreun endpoint sensibil sa vada traficul.</p>
<h3 id="authentication-challenge-pentru-caile-de-admin">Authentication challenge pentru caile de admin</h3>
<p>Pentru orice match cu <code>/admin*</code>, <code>/wp-admin*</code>, <code>/phpmyadmin*</code>, adauga un strat de authentication challenge. SafeLine implementeaza asta ca o poarta in plus care cere rezolvarea unui challenge tip CAPTCHA inainte ca cererea sa ajunga la aplicatia ta. Nu inlocuieste autentificarea aplicatiei, doar opreste tool-urile automate sa mai bata vreodata la usa.</p>
<h3 id="citeste-log-urile">Citeste log-urile</h3>
<p>Dashboard-ul la <strong>Statistics</strong> &gt; <strong>Detection logs</strong> arata fiecare cerere blocata cu motivul parsat: ce motor a declansat (SQLi semantic, XSS regex, anti-bot), corpul cererii, scorul. Petrece o ora trecand prin el a doua zi dupa ce pornesti SafeLine. Vei descoperi ca cea mai mare parte din &ldquo;traficul ciudat&rdquo; arata la fel: o mana de toolkit-uri de mass-scanning lovind aceleasi cai de admin WordPress si aceleasi URL-uri <code>.env</code> expuse.</p>
<h2 id="unde-safeline-nu-e-raspunsul-potrivit">Unde SafeLine nu e raspunsul potrivit</h2>
<p>Merita sa fim onesti despre limite.</p>
<ul>
<li><strong>Nu e CDN.</strong> Fara cache, fara POP-uri la margine. Daca povestea ta de performanta depinde de proximitatea la edge, tot ai nevoie de un CDN in fata (sau pe langa) SafeLine.</li>
<li><strong>Nu pentru cai sub-milisecunda.</strong> Fiecare cerere trece prin detectie. Overhead-ul median in testele noastre a fost 1 pana la 3 ms pe cache cald, ok pentru aproape orice aplicatie web, dar daca rulezi un API HFT, nu e tool-ul tau.</li>
<li><strong>Nu toate feature-urile Pro sunt deschise.</strong> Cateva dintre feature-urile mai sofisticate de protectie dinamica si clustering-ul multi-nod sunt clar destinate viitoarei editii Pro. Editia community e generoasa, dar daca protejezi o flota de zeci de site-uri cu cerinte HA, planuieste in consecinta.</li>
<li><strong>Self-hosting nu e gratis.</strong> Mai rulezi un serviciu stateful care are nevoie de backup-uri, OS patching, si Postgres babysitting ocazional. Daca echipa ta nu vrea asta, un WAF gestionat va fi mai ieftin in ore de operator.</li>
</ul>
<h2 id="alternative-pe-care-le-am-luat-in-calcul">Alternative pe care le-am luat in calcul</h2>
<p>Pentru completitudine: ne-am uitat si la <a href="https://github.com/bunkerity/bunkerweb" rel="nofollow">BunkerWeb</a>
 (bazat pe nginx, foarte abordabil, detectie semantica mai slaba), <a href="https://coraza.io/" rel="nofollow">Coraza</a>
 (reimplementare nativa in Go a ModSecurity, excelent daca vrei sa incorporezi logica de WAF direct intr-un service mesh), si OWASP CRS pe nginx clasic cu <code>ngx_security_module</code> (testat in lupta, infinit reglabil, fals-pozitivele devin hobby-ul tau).</p>
<p>SafeLine s-a dovedit cea mai curata potrivire pentru &ldquo;vreau un WAF real in fata unei flote mici de site-uri self-hosted fara sa devin specialist in WAF-uri&rdquo;. Ponderile tale pot fi diferite.</p>
<h2 id="deci-sa-l-rulezi">Deci, sa-l rulezi?</h2>
<p>Daca host-uiesti aplicatii web in PHP, Node, Python sau Go pe un VPS sau server dedicat si tot vrei &ldquo;sa faci ceva in privinta header-elor de securitate si a traficului de boti&rdquo;, SafeLine merita o duminica dupa-amiaza. Instalarea e chiar rapida, detectia merge fara sa te lupti cu ea, si dashboard-ul iti spune ceva adevarat despre traficul tau.</p>
<p>Daca il rulezi in productie, pune-l pe un server cu o poveste reala de backup (Proxmox Backup, snapshot-uri, alegerea ta) si trateaza planul de management ca infrastructura critica. Containerele de detectie pot fi reconstruite intr-un minut; configuratia din Postgres e ce ti-ar lipsi cu adevarat.</p>
<p>Noi rulam SafeLine in fata catorva servicii interne si il recomandam clientilor care intreaba. Daca vrei sa-l incerci pe infrastructura pe care nu trebuie sa o construiesti tu intai, <a href="/ro/servere-virtuale/vps/">planurile noastre VPS</a>
 incep la dimensiuni mici cat sa faca experimentul ieftin, iar <a href="/ro/servicii/administrare-servere/">serviciul de administrare server</a>
 acopera instalarea si tuning-ul daca preferi sa sari peste curba de invatare.</p>
<p>Oricum ai alege, sa testezi SafeLine e o seara mai bine petrecuta decat citind inca un listicle &ldquo;top 10 WAF&rdquo;. Codul e pe GitHub, instalarea e o singura comanda, si vei sti intr-o ora daca isi castiga un loc in stack-ul tau.</p>
]]></content:encoded><category>WAF</category><category>Securitate</category></item><item><title>Bun venit pe blogul DreamServer</title><link>https://dreamserver.ro/ro/blog/bun-venit-pe-blogul-dreamserver/</link><pubDate>Sat, 18 Apr 2026 18:00:00 +0300</pubDate><author>Cristian Trusca</author><guid isPermaLink="true">https://dreamserver.ro/ro/blog/bun-venit-pe-blogul-dreamserver/</guid><description>Pornim un blog in care publicam promotii, campanii, tutoriale, recomandari si articole tehnice despre serviciile de hosting pe care le oferim - servere dedicate, VDS, VPS si tot ce tine de ele.</description><content:encoded><![CDATA[<p>Bun venit pe blogul DreamServer.</p>
<p>Aici publicam <strong>promotii, campanii, tutoriale, recomandari si articole tehnice</strong> despre serviciile de hosting pe care le oferim. Daca un material ajuta un client sa configureze, sa deployeze sau sa debug-uiasca un server dedicat, VDS sau VPS, vrem sa-l scriem aici.</p>
<h2 id="la-ce-sa-te-astepti">La ce sa te astepti</h2>
<ul>
<li><strong>Promotii si campanii</strong> - cand lansam o oferta, scadem un pret, oferim un pachet sau deschidem o configuratie noua, vei citi aici primul.</li>
<li><strong>Tutoriale</strong> - ghiduri pas cu pas, cu comenzi pe care le poti copia si fisiere de configurare pe care le poti reutiliza, concentrate pe a pune serverele in functiune exact asa cum le vrei.</li>
<li><strong>Recomandari</strong> - platforme, panouri de control, sisteme de operare si aplicatii care merg bine pe infrastructura noastra, si cum alegi intre alternativele uzuale.</li>
<li><strong>Articole tehnice</strong> - setup server dedicat, administrare VDS si VPS, Linux administration, retelistica, storage, backup-uri si security hardening - aceleasi teme care apar in tichetele de suport, scrise odata ca sa gasesti raspunsul mai rapid data viitoare.</li>
</ul>
<h2 id="cum-scriem">Cum scriem</h2>
<p>Onest, cu surse verificabile, fara continut de umplutura. Cand o afirmatie are nevoie de dovezi, citam documentatia, RFC-ul sau knowledge base-ul vendorului. Cand gresim, corectam in linie cu o nota datata.</p>
<h2 id="ramai-aproape">Ramai aproape</h2>
<ul>
<li><strong>RSS</strong> - aboneaza-te in cititorul tau de feed la <a href="/ro/blog/index.xml">/ro/blog/index.xml</a>
.</li>
<li><strong>Email</strong> - <a href="mailto:contact@dreamserver.ro">contact@dreamserver.ro</a>
 pentru vanzari, <a href="mailto:noc@dreamserver.ro">noc@dreamserver.ro</a>
 pentru operatiuni de retea, sau deschide un tichet din <a href="/client/">zona de client</a>
.</li>
<li><strong>Servicii</strong> - arunca o privire la <a href="/ro/servere-dedicate/bladeservers/">servere dedicate</a>
, <a href="/ro/servere-virtuale/vps/">VPS</a>
 si <a href="/ro/servere-virtuale/vds/">VDS</a>
.</li>
</ul>
<p>Multumim ca ai trecut pe aici. Mai urmeaza articole curand.</p>
]]></content:encoded><category>Anunturi</category></item></channel></rss>