Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Eole3 – Checklist mensuelle de sécurité » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
= Eole3 – Checklist mensuelle de sécurité =
= EOLE3 — Checklist mensuelle de sécurité =


== 1. Vérification des services critiques ==
{{Sommaire}}


<pre>
'''Serveur :''' EOLE3
systemctl list-units --type=service --state=running
</pre>


* Vérifier la présence des services :
'''Système :''' Ubuntu 24.04 LTS
** ssh
** fail2ban
** sftpgo
** cockpit
** nfs-kernel-server (nfs-*)
** apache2
** rsyslog


----
'''Documentation de référence :''' [[EOLE3 — Accès, sécurité et pare-feu]]


== 2. Vérification Fail2ban ==
== 1. Vérification du pare-feu ==


<pre>
=== État du service ===
fail2ban-client status
</pre>


* Jails attendues :
<syntaxhighlight lang="bash">
** sshd
systemctl is-active ajlsm-firewall.service
** sftpgo
systemctl is-enabled ajlsm-firewall.service
** cockpit
</syntaxhighlight>


* Vérification SSH :
Attendu :
<pre>
fail2ban-client status sshd
</pre>


* Analyse :
<syntaxhighlight lang="text">
** Beaucoup d’IP bannies → normal
active
** Toujours les mêmes IP → OK (bruteforce automatisé)
enabled
** Une IP connue → vérifier whitelist
</syntaxhighlight>


* Remarque :
=== Tables nftables ===
** sftpgo peut être vide si le service n’est pas encore exposé


----
<syntaxhighlight lang="bash">
nft list tables
</syntaxhighlight>


== 3. Vérification Firewall (UFW) ==
Attendu :


<pre>
<syntaxhighlight lang="text">
ufw status verbose
table inet f2b-table
</pre>
table inet ajlsm_eole3
</syntaxhighlight>


* Ports attendus :
=== Contrôle des règles ===
** 22 (SSH)
** 2022 (SFTPGo)
** 8080 (API / interface SFTPGo)
** 9090 (Cockpit – limité par IP)
** 80 / 443 (HTTP/HTTPS)
** 2049 (NFS – limité au LAN)


* Vérifier :
<syntaxhighlight lang="bash">
** Cockpit limité aux IP autorisées
nft list table inet ajlsm_eole3
** NFS limité au réseau interne (192.168.123.0/24)
</syntaxhighlight>
** aucune ouverture inattendue


* Vérification réelle des ports :
Vérifier :
<pre>
ss -tulpen
</pre>


----
* politique INPUT DROP ;
* ports publics 80, 443 et 2022 ;
* SSH limité aux IP administratives ;
* réseau vRack autorisé ;
* absence d'ouverture publique NFS, Cockpit ou Lighttpd.


== 4. Vérification SSH ==
== 2. Vérification Fail2ban ==


<pre>
<syntaxhighlight lang="bash">
sshd -T | grep -E "permitrootlogin|passwordauthentication|port"
systemctl status fail2ban --no-pager
</pre>
fail2ban-client status
fail2ban-client status sshd
</syntaxhighlight>


* Attendu :
Vérifier :
** port 22
** PermitRootLogin no
** PasswordAuthentication yes (à surveiller)


* Recommandation :
* service actif ;
** passer en authentification par clé si possible
* jails réellement chargées ;
* adresses bannies ;
* absence de bannissement administratif inattendu.


----
== 3. Vérification SSH ==


== 5. Vérification SFTPGo ==
<syntaxhighlight lang="bash">
sshd -T | grep -E \
  '^(port|permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication) '
</syntaxhighlight>


<pre>
Contrôler :
systemctl status sftpgo
journalctl -u sftpgo --since "1 month ago"
</pre>


* Vérifier :
* les méthodes d'authentification ;
** tentatives de connexion
* les comptes administratifs ;
** erreurs
* les restrictions des comptes SFTP ;
** utilisateurs inconnus
* les nouvelles connexions depuis les adresses autorisées.


* Ports utilisés :
== 4. Vérification des services ==
** 2022 → SFTP
** 8080 → API / Web


* Remarque :
<syntaxhighlight lang="bash">
** si non exposé → activité normale quasi nulle
systemctl --failed
systemctl status ssh fail2ban sftpgo apache2 --no-pager
</syntaxhighlight>


----
Contrôler également les services NFS, Lighttpd et de supervision selon leur configuration effective.


== 6. Vérification Cockpit ==
== 5. Vérification SFTPGo ==
 
<pre>
systemctl status cockpit
</pre>
 
* Tester accès : https://serveur:9090


* Vérifier :
<syntaxhighlight lang="bash">
** accès limité par IP dans UFW
systemctl status sftpgo --no-pager
journalctl -u sftpgo --since "1 month ago" --no-pager
</syntaxhighlight>


* Problème connu :
Rechercher :
** erreurs "lsdev" dans Cockpit (module ZFS)
** non bloquant → lié à outil absent


----
* tentatives de connexion inhabituelles ;
* erreurs d'authentification ;
* téléchargements anormalement volumineux ;
* comptes inutilisés ;
* activités suspectes.


== 7. Vérification NFS ==
== 6. Vérification NFS ==


<pre>
<syntaxhighlight lang="bash">
exportfs -v
exportfs -v
showmount -e localhost
showmount -e localhost
</pre>
</syntaxhighlight>


* Vérifier :
Vérifier :
** exports limités aux IP internes
** pas de "insecure" sauf cas spécifique
** cohérence des clients autorisés


----
* les clients autorisés ;
* les exports ;
* les droits d'accès ;
* le fonctionnement des montages depuis le vRack.


== 8. Vérification des logs système ==
== 7. Vérification des ports en écoute ==
 
<syntaxhighlight lang="bash">
ss -tulpen
</syntaxhighlight>


<pre>
Comparer les services en écoute avec les règles nftables.
journalctl -p err -b
</pre>


* Rechercher :
'''Important :''' un service peut écouter sur une adresse publique tout en étant bloqué par le pare-feu.
** erreurs répétées
** services instables


* Cas normal :
Le contrôle des sockets ne remplace donc pas un test depuis Internet.
** erreurs SSH type "connection reset"
** bruit réseau internet


----
== 8. Vérification des journaux ==


== 9. Vérification disque (ZFS inclus) ==
<syntaxhighlight lang="bash">
journalctl -p err -b --no-pager
journalctl -u ajlsm-firewall.service --since "1 month ago" --no-pager
</syntaxhighlight>


<pre>
Rechercher :
df -h
</pre>


* Alerte si :
* erreurs système répétées ;
** > 80% sur dataset client
* redémarrages inattendus ;
* échecs de chargement nftables ;
* anomalies réseau.


Cas observé :
== 9. Vérification ZFS ==
** certains datasets à ~84% → à surveiller


* Vérification ZFS :
<syntaxhighlight lang="bash">
<pre>
zpool status
zpool status
</pre>
zpool list
zfs list
df -h
</syntaxhighlight>


* Vérifier :
Vérifier :
** état ONLINE
** aucun error
** scrub OK


----
* état ONLINE ;
* absence d'erreurs de lecture, écriture ou checksum ;
* capacité disponible ;
* résultats des scrubs.


== 10. Vérification RAM / charge ==
== 10. Vérification des ressources ==


<pre>
<syntaxhighlight lang="bash">
free -h
free -h
uptime
uptime
</pre>
df -h
</syntaxhighlight>


* Vérifier :
Contrôler :
** RAM disponible (> 5-10 Go recommandé)
** load average stable


----
* mémoire disponible ;
* charge système ;
* occupation disque ;
* évolution des ressources par rapport aux contrôles précédents.


== 11. Mise à jour système ==
== 11. Vérification des mises à jour ==


<pre>
<syntaxhighlight lang="bash">
apt update
apt update
apt list --upgradable
apt list --upgradable
apt upgrade
</syntaxhighlight>
</pre>
 
Analyser les mises à jour disponibles.
 
Les mises à jour et redémarrages doivent être réalisés dans une fenêtre de maintenance adaptée.
 
== 12. Vérification de la supervision ==
 
Vérifier dans Centreon :
 
* disponibilité d'EOLE3 ;
* utilisation de l'adresse vRack <code>192.168.123.202</code> ;
* absence d'alertes persistantes ;
* fonctionnement des contrôles de services et de ressources.
 
== 13. Vérification des accès extérieurs ==
 
Réaliser périodiquement un test depuis une connexion indépendante du bureau et des VPN.
 
Ports publics attendus :
 
* 80 ;
* 443 ;
* 2022.
 
Ports devant être bloqués depuis une adresse non autorisée :


* Vérifier :
* 22 ;
** absence d’erreur dépôt
* 111 ;
** mises à jour de sécurité appliquées
* 2049 ;
* 9001 ;
* 9090 ;
* 4330 ;
* 44321 à 44323.


* Remarque :
Effectuer également un contrôle IPv6.
** redémarrage possible si noyau mis à jour


----
== 14. Vérification des sauvegardes et du retour arrière ==


== 12. Vérification sauvegarde / rollback ==
Contrôler :


* Vérifier :
* l'état des sauvegardes ;
** accès SSH OK
* les possibilités de restauration ;
** accès console (Proxmox / KVM)
* l'accès administratif de secours ;
** possibilité de rollback
* la disponibilité des configurations précédentes ;
* la possibilité de désactiver le pare-feu AJLSM sans toucher à Fail2ban.


----
== 15. Synthèse du contrôle ==


== Résumé rapide ==
{| class="wikitable"
! Contrôle
! Résultat
! Observations
|-
| Pare-feu nftables
| À vérifier
|
|-
| Fail2ban
| À vérifier
|
|-
| SSH
| À vérifier
|
|-
| Apache / SFTPGo
| À vérifier
|
|-
| NFS / vRack
| À vérifier
|
|-
| Supervision Centreon
| À vérifier
|
|-
| ZFS
| À vérifier
|
|-
| Ressources système
| À vérifier
|
|-
| Mises à jour
| À vérifier
|
|-
| Sauvegardes
| À vérifier
|
|}


* Services actifs (SSH / SFTPGo / NFS / Apache)
[[Catégorie:Eole3]]
* Fail2ban actif (sshd / cockpit / sftpgo)
[[Catégorie:Sécurité]]
* Firewall maîtrisé (ports + restrictions IP)
[[Catégorie:Maintenance]]
* NFS sécurisé (LAN uniquement)
* Logs propres (hors bruit SSH)
* Stockage OK (ZFS sain, capacité surveillée)
* RAM et charge stables
* Système à jour

Dernière version du 16 octobre 2026 à 12:34

EOLE3 — Checklist mensuelle de sécurité

[modifier | modifier le wikicode]

Modèle:Sommaire

Serveur : EOLE3

Système : Ubuntu 24.04 LTS

Documentation de référence : EOLE3 — Accès, sécurité et pare-feu

1. Vérification du pare-feu

[modifier | modifier le wikicode]

État du service

[modifier | modifier le wikicode]
systemctl is-active ajlsm-firewall.service
systemctl is-enabled ajlsm-firewall.service

Attendu :

active
enabled

Tables nftables

[modifier | modifier le wikicode]
nft list tables

Attendu :

table inet f2b-table
table inet ajlsm_eole3

Contrôle des règles

[modifier | modifier le wikicode]
nft list table inet ajlsm_eole3

Vérifier :

  • politique INPUT DROP ;
  • ports publics 80, 443 et 2022 ;
  • SSH limité aux IP administratives ;
  • réseau vRack autorisé ;
  • absence d'ouverture publique NFS, Cockpit ou Lighttpd.

2. Vérification Fail2ban

[modifier | modifier le wikicode]
systemctl status fail2ban --no-pager
fail2ban-client status
fail2ban-client status sshd

Vérifier :

  • service actif ;
  • jails réellement chargées ;
  • adresses bannies ;
  • absence de bannissement administratif inattendu.

3. Vérification SSH

[modifier | modifier le wikicode]
sshd -T | grep -E \
  '^(port|permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication) '

Contrôler :

  • les méthodes d'authentification ;
  • les comptes administratifs ;
  • les restrictions des comptes SFTP ;
  • les nouvelles connexions depuis les adresses autorisées.

4. Vérification des services

[modifier | modifier le wikicode]
systemctl --failed
systemctl status ssh fail2ban sftpgo apache2 --no-pager

Contrôler également les services NFS, Lighttpd et de supervision selon leur configuration effective.

5. Vérification SFTPGo

[modifier | modifier le wikicode]
systemctl status sftpgo --no-pager
journalctl -u sftpgo --since "1 month ago" --no-pager

Rechercher :

  • tentatives de connexion inhabituelles ;
  • erreurs d'authentification ;
  • téléchargements anormalement volumineux ;
  • comptes inutilisés ;
  • activités suspectes.

6. Vérification NFS

[modifier | modifier le wikicode]
exportfs -v
showmount -e localhost

Vérifier :

  • les clients autorisés ;
  • les exports ;
  • les droits d'accès ;
  • le fonctionnement des montages depuis le vRack.

7. Vérification des ports en écoute

[modifier | modifier le wikicode]
ss -tulpen

Comparer les services en écoute avec les règles nftables.

Important : un service peut écouter sur une adresse publique tout en étant bloqué par le pare-feu.

Le contrôle des sockets ne remplace donc pas un test depuis Internet.

8. Vérification des journaux

[modifier | modifier le wikicode]
journalctl -p err -b --no-pager
journalctl -u ajlsm-firewall.service --since "1 month ago" --no-pager

Rechercher :

  • erreurs système répétées ;
  • redémarrages inattendus ;
  • échecs de chargement nftables ;
  • anomalies réseau.

9. Vérification ZFS

[modifier | modifier le wikicode]
zpool status
zpool list
zfs list
df -h

Vérifier :

  • état ONLINE ;
  • absence d'erreurs de lecture, écriture ou checksum ;
  • capacité disponible ;
  • résultats des scrubs.

10. Vérification des ressources

[modifier | modifier le wikicode]
free -h
uptime
df -h

Contrôler :

  • mémoire disponible ;
  • charge système ;
  • occupation disque ;
  • évolution des ressources par rapport aux contrôles précédents.

11. Vérification des mises à jour

[modifier | modifier le wikicode]
apt update
apt list --upgradable

Analyser les mises à jour disponibles.

Les mises à jour et redémarrages doivent être réalisés dans une fenêtre de maintenance adaptée.

12. Vérification de la supervision

[modifier | modifier le wikicode]

Vérifier dans Centreon :

  • disponibilité d'EOLE3 ;
  • utilisation de l'adresse vRack 192.168.123.202 ;
  • absence d'alertes persistantes ;
  • fonctionnement des contrôles de services et de ressources.

13. Vérification des accès extérieurs

[modifier | modifier le wikicode]

Réaliser périodiquement un test depuis une connexion indépendante du bureau et des VPN.

Ports publics attendus :

  • 80 ;
  • 443 ;
  • 2022.

Ports devant être bloqués depuis une adresse non autorisée :

  • 22 ;
  • 111 ;
  • 2049 ;
  • 9001 ;
  • 9090 ;
  • 4330 ;
  • 44321 à 44323.

Effectuer également un contrôle IPv6.

14. Vérification des sauvegardes et du retour arrière

[modifier | modifier le wikicode]

Contrôler :

  • l'état des sauvegardes ;
  • les possibilités de restauration ;
  • l'accès administratif de secours ;
  • la disponibilité des configurations précédentes ;
  • la possibilité de désactiver le pare-feu AJLSM sans toucher à Fail2ban.

15. Synthèse du contrôle

[modifier | modifier le wikicode]
Contrôle Résultat Observations
Pare-feu nftables À vérifier
Fail2ban À vérifier
SSH À vérifier
Apache / SFTPGo À vérifier
NFS / vRack À vérifier
Supervision Centreon À vérifier
ZFS À vérifier
Ressources système À vérifier
Mises à jour À vérifier
Sauvegardes À vérifier