Surveillance des connexions VPS
Guide pour monitorer les connexions réseau sur un VPS Ubuntu.
Cadre : ce VPS est un environnement de développement/test et, à terme, de vitrine professionnelle. Il n'héberge aucune donnée de tiers ni donnée personnelle sensible au-delà du compte de l'auteur. Les valeurs ci-dessous (IP, ports applicatifs) sont génériques (<IP_VPS>, <PORT_APP>…) : ce sont des exemples de sortie, pas des coordonnées réelles.
Lister les connexions actives
ss -tunap
ss -tap
ss -tuln
États des connexions (States)
| State |
Signification |
ESTAB |
Connexion établie/active |
LISTEN |
En écoute (serveur attend) |
TIME_WAIT |
Connexion fermée, attente fermeture |
CLOSE_WAIT |
Fin de connexion reçue, en attente |
SYN_SENT |
Demande de connexion en cours |
SYN_RECV |
Réception SYN, attente ACK |
CLOSED |
Connexion fermée |
Ports courants
| Port |
Service |
| 22 |
SSH |
| 25 |
SMTP |
| 53 |
DNS |
| 80 |
HTTP |
| 443 |
HTTPS |
| 3306 |
MySQL |
| 5432 |
PostgreSQL |
| 6379 |
Redis |
| 3000 |
Node.js/Dev |
| 8080 |
Proxy HTTP |
Ports découverts sur le VPS Codexia
| Port |
Service |
| 53 |
systemd-resolved (DNS) |
| 25 |
Postfix (SMTP) |
| 80 |
Apache/Nginx HTTP |
| 443 |
Apache/Nginx HTTPS |
| 3306 |
MySQL |
| 33060 |
MySQL X Protocol |
| 6010 |
SSH proxy |
<PORT_APP> |
Service Codexia |
Connexions sortantes actives
ss -tnp | grep ESTAB
Connexions Codexia observées
127.0.0.1:3306 ↔ <PORT_EPHEMERE> → MySQL local (PHP)
<IP_VPS>:<PORT_APP> ↔ <IP_DISTANTE>:<PORT_EPHEMERE> → Service Codexia
- Connexions IPv6 actives
Sécuriser avec Fail2ban
Installation
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Configuration SSH
# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Démarrage
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status
Commandes utiles
sudo fail2ban-client status
sudo iptables -L -n
sudo fail2ban-client set sshd banip <IP_A_BANNIR>
sudo fail2ban-client set sshd unbanip <IP_A_BANNIR>
Analyser les connexions suspectes
Identifier les nombreuses connexions SYN-RECV
ss -tan | awk '{print $1}' | sort | uniq -c
ss -tn | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn
Bloquer une IP
sudo iptables -A INPUT -s <IP_A_BLOQUER> -j DROP