[{"data":1,"prerenderedAt":121},["ShallowReactive",2],{"seo-verification":3,"blog-proteger-vps-fail2ban-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":29,"sections":30,"ctaTitle":76,"ctaBody":77,"ctaButton":78,"ctaUrl":79,"relatedPosts":80},109,"proteger-vps-fail2ban","Fail2Ban Enhanced on VPS: blocking repeated attacks","Link Fail2Ban Enhanced to the ServOrbit catalog: SSH\u002FNginx banning, readable logs and official documentation.",6,633,false,"2026-03-03T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},8,"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fproteger-vps-fail2ban-poster.svg",{"categorySlug":27,"appSlug":28},"securite","fail2ban-enhanced","As soon as a VPS exposes SSH or a web application, automated attempts arrive quickly. Fail2Ban Enhanced provides a simple safety net: read the logs, detect repeated failures and ban the IPs that persist. This pass links the article to the ServOrbit catalog and keeps the guide on the operations side: jails, thresholds, tests and official documentation.",[31,35,45,48,70,73],{"type":32,"title":33,"body":34},"h2","Why self-host Fail2ban on a VPS","Fail2ban is the simplest and most universal protection tool for an exposed server: it continuously reads your log files, applies regular expressions (the filters) to spot intrusion attempts, and bans the offending IP by adding it to iptables\u002Fnftables for a configurable duration. On a VPS, it's the first line of defense to set up before anything else, because it requires no external dependency, consumes almost nothing and immediately protects SSH against bruteforce. Beyond SSH, you can extend it to Nginx (auth attempts, URL scans), Postfix, WordPress or any service that writes logs. Everything runs locally on your machine: no data leaves, no third-party service is involved. It's the solution to favor for robust, self-contained protection that's easy to audit.",{"type":36,"title":37,"items":38},"ul","The concrete benefits of this template",[39,40,41,42,43,44],"Automatic banning of IPs that bruteforce SSH, from the first suspicious attempts.","Filters for many services: SSH, Nginx, Apache, Postfix, WordPress, and custom filters.","Minimal footprint: it runs without trouble on the smallest of VPSes.","Progressive banning (repeat offense): the more an IP reoffends, the longer the ban.","Email notifications on each ban to keep an eye on attacks.","Fully self-contained and local: no network dependency, simple to audit and version.",{"type":32,"title":46,"body":47},"Requirements to host it","Fail2ban is extremely frugal: it runs on any VPS, even a 1 vCPU \u002F 512 MB, with no perceptible impact. It installs directly on the system (no need for Docker) and requires root access, a firewall backend (iptables or nftables, present by default) and access to the logs of the services to protect (`\u002Fvar\u002Flog\u002Fauth.log` for SSH, the access\u002Ferror logs for Nginx). No additional domain or port is needed. The golden rule: always configure a whitelist (`ignoreip`) with your fixed IP before enabling banning, so you don't lock yourself out of your own server.",{"type":49,"title":50,"steps":51},"steps","Install and configure Fail2ban on your VPS",[52,55,58,61,64,67],{"title":53,"body":54},"Install Fail2ban","On Debian\u002FUbuntu: `sudo apt update && sudo apt install fail2ban`. The service starts automatically. Check with `sudo systemctl status fail2ban`.",{"title":56,"body":57},"Create a jail.local","Never modify `jail.conf` directly. Instead, copy your settings into `\u002Fetc\u002Ffail2ban\u002Fjail.local`: that's where you define `bantime`, `findtime`, `maxretry` and above all `ignoreip = 127.0.0.1\u002F8 VOTRE_IP` to protect yourself from a self-ban.",{"title":59,"body":60},"Enable SSH protection","In `jail.local`, enable the `[sshd]` jail with, for example, `maxretry = 3` and `bantime = 1h`. After 3 failures within `findtime`, the IP is banned for one hour at the firewall level.",{"title":62,"body":63},"Add a jail for Nginx","Enable the `[nginx-http-auth]` and `[nginx-botsearch]` jails by pointing `logpath` to your Nginx logs. This blocks repeated authentication attempts and malicious URL scans.",{"title":65,"body":66},"Reload and check the active jails","Apply the configuration: `sudo systemctl restart fail2ban`, then `sudo fail2ban-client status` lists the active jails and `sudo fail2ban-client status sshd` shows the currently banned IPs.",{"title":68,"body":69},"Test a ban and the unban","Verify correct operation with `sudo fail2ban-client status sshd`. To release a legitimate IP blocked by mistake: `sudo fail2ban-client set sshd unbanip X.X.X.X`.",{"type":71,"body":72},"tip","Enable progressive banning to wear down repeat offenders: in `jail.local`, set `bantime.increment = true` and `bantime.factor = 2`. Each new reoffense doubles the ban duration, which thus goes from one hour to several days for the most persistent IPs. Pair it with a change of the default SSH port and the disabling of password authentication (SSH keys only): Fail2ban then becomes a safety net rather than your only rampart.",{"type":71,"title":74,"body":75},"The official documentation","For advanced configuration, options specific to the tool, and version changes, refer to the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffail2ban\u002Ffail2ban\u002Fwiki\" target=\"_blank\" rel=\"noopener noreferrer\">official Fail2Ban documentation\u003C\u002Fa>. This guide covers deployment on a ServOrbit VPS; the vendor's documentation remains the reference for fine-tuning.","Armor access to your VPS","The ServOrbit Cloud VPS gives you root access and a ready-to-use firewall to configure Fail2ban in a few minutes and stop bruteforce attacks cold.","Get my Cloud VPS","\u002Fvps-cloud",[81,94,108],{"id":82,"slug":83,"title":84,"excerpt":85,"readTime":11,"views":86,"isPinned":13,"publishedAt":87,"category":88,"categories":89,"featuredImage":23,"bgImage":24,"posterImage":91,"relatedSolution":92},105,"superviser-vps-uptime-kuma","Monitoring your VPS with Uptime Kuma","Deploy Uptime Kuma on your VPS to monitor your sites and services self-hosted, with alerts and a public status page.",1520,"2026-03-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[90],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":27,"appSlug":93},"uptime-kuma",{"id":95,"slug":96,"title":97,"excerpt":98,"readTime":99,"views":100,"isPinned":13,"publishedAt":101,"category":102,"categories":103,"featuredImage":23,"bgImage":24,"posterImage":105,"relatedSolution":106},106,"monitoring-vps-grafana-prometheus","VPS Monitoring with Grafana and Prometheus","Set up a Grafana + Prometheus stack on your VPS to collect, store and visualize your system and application metrics.",9,522,"2026-03-06T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[104],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":27,"appSlug":107},"grafana",{"id":109,"slug":110,"title":111,"excerpt":112,"readTime":11,"views":113,"isPinned":13,"publishedAt":114,"category":115,"categories":116,"featuredImage":23,"bgImage":24,"posterImage":118,"relatedSolution":119},107,"monitorer-vps-netdata","Monitor your VPS in real time with Netdata","Install Netdata on your VPS for per-second real-time monitoring: thousands of metrics, zero configuration, alerts included.",559,"2026-03-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[117],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":27,"appSlug":120},"netdata",1785628459346]