User Tools

Site Tools


aix:aixhardening

AIX best practice

Most accurate CIS Benmark level is CIS Controls v8 IG 1 Mapped Recommendations

http://und.edu/cio/it-security/policy/_files/docs/cis-ibm-aix-7-1-benchmark-v1-1-0.pdf

https://www.scribd.com/document/298646787/Cis-Ibm-Aix-7-1-Benchmark-v1-1-0

https://github.com/prench/Hardening-CIS/tree/master

https://www.ibm.com/docs/en/powersc-standard/2.1?topic=scac-center-internet-security-cis-benchmarks-compliance-aix-72

https://github.com/lyonys/AIX-Host-Review/blob/master/aix_host_review_1.0.sh

link to AIX security check scripts

Descriptioncommandrecommended value
Utilisation d'AIX Expert pour renforcer la configuration du système d'exploitation AIX lors de sa configuration initialeN/AUtiliser AIX Expert
Politique de mots de passe locale et du domaine - Nombre minimal de caractères requis pour la définition d'un nouveau mot de passe, non présents au sein de l'ancien mot de passe“lssec -f /etc/security/user -s default -a mindiff lsuser -R LDAP ALL”default mindiff=3
Politique de mots de passe locale et du domaine - Durée de vie minimale des mots de passe utilisateurs, en nombre de semaines“lssec -f /etc/security/user -s default -a minage lsuser -R LDAP ALL”default minage=1
Politique de mots de passe locale et du domaine - Durée de vie maximale des mots de passe utilisateurs, en nombre de semaines“lssec -f /etc/security/user -s default -a maxage lsuser -R LDAP ALL”default maxage=13
Politique de mots de passe locale et du domaine - Longueur minimale pour les mots de passe utilisateurs“lssec -f /etc/security/user -s default -a minlen lsuser -R LDAP ALL”default minlen=8
Politique de mots de passe locale et du domaine - Nombre minimal de caractères correspondant à des lettres alphabétiques“lssec -f /etc/security/user -s default -a minalpha lsuser -R LDAP ALL”default minalpha=2
Politique de mots de passe locale et du domaine - Nombre minimal de caractères ne correspondant pas à des lettres alphabétiques“lssec -f /etc/security/user -s default -a minother lsuser -R LDAP ALL” default minother=2
Politique de mots de passe locale et du domaine - Nombre de répétitions maximal pour un caractère donné“lssec -f /etc/security/user -s default -a maxrepeats lsuser -R LDAP ALL”default maxrepeats=2
Politique de mots de passe locale et du domaine - Période de temps (en semaines) pendant laquelle un utilisateur ne peut pas réutiliser un mot de passe précédent“lssec -f /etc/security/user -s default -a histexpire lsuser -R LDAP ALL”default histexpire=13
Politique de mots de passe locale et du domaine - Nombre de mots de passe utilisés précédemment qu'un utilisateur ne peut pas réutiliser“lssec -f /etc/security/user -s default -a histsize lsuser -R LDAP ALL”default histsize=20
Politique de mots de passe locale et du domaine - Nombre de semaines après maxage lorsque l'utilisateur sera en mesure de réinitialiser son mot de passe“lssec -f /etc/security/user -s default -a maxexpired lsuser -R LDAP ALL”default maxexpired=2
Connexion interactive - Interval de temps, en secondes, à partir duquel une connexion interactive est stoppée dès lors que l'utilisateur n'a pas été en mesure de s'authentifier sur le systèmelssec -f /etc/security/login.cfg -s default -a loginintervaldefault logininterval=300
Connexion interactive - Nombre maximal de tentatives d'authentification en erreur à partir duquel une connexion interactive est stoppéelssec -f /etc/security/login.cfg -s default -a logindisabledefault logindisable=10
Connexion interactive - Délai de déverrouillage automatique d'une connexion préalablement stoppée, en minuteslssec -f /etc/security/login.cfg -s default -a loginreenabledefault loginreenable=360
Connexion interactive - Nombre maximal de secondes pendant lesquelles un mot de passe doit être entré par un utilisateur cherchant à s'authentifierlssec -f /etc/security/login.cfg -s usw -a logintimeoutusw logintimeout=30
Connexion interactive - Nombre maximal de secondes d'attente entre chaque tentative d'authentification erronéelssec -f /etc/security/login.cfg -s default -a logindelaydefault logindelay=10
Connexion interactive - Nombre maximal de tentatives d'authentification en erreur à partir duquel un compte utilisateur sera verrouillélssec -f /etc/security/user -s default -a loginretriesdefault loginretries=3
Stockage des mots de passe utilisateurs - Algorithme de chiffrement utilisé pour stocker les mots de passe des utilisateurs du systèmelssec -f /etc/security/login.cfg -s usw -a pwd_algorithmusw pwd_algorithm=ssha256
Connexion interactive - définir un interpréteur de commandes non valide pour le compte système daemon “lsuser -a login rlogin daemon Analyse du fichier /etc/security/passwd”daemon login=false rlogin=false
Connexion interactive - définir un interpréteur de commandes non valide pour le compte système bin“lsuser -a login rlogin bin Analyse du fichier /etc/security/passwd”bin login=false rlogin=false
Connexion interactive - éfinir un interpréteur de commandes non valide pour le compte système sys“lsuser -a login rlogin sys Analyse du fichier /etc/security/passwd”sys login=false rlogin=false
Connexion interactive - définir un interpréteur de commandes non valide pour le compte système adm “lsuser -a login rlogin adm Analyse du fichier /etc/security/passwd”adm login=false rlogin=false
Connexion interactive - éfinir un interpréteur de commandes non valide pour le compte système nobody“lsuser -a login rlogin nobody Analyse du fichier /etc/security/passwd”nobody login=false rlogin=false
Connexion interactive - définir un interpréteur de commandes non valide pour le compte système uucp “lsuser -a login rlogin uucp Analyse du fichier /etc/security/passwd”uucp login=false rlogin=false
Connexion interactive - définir un interpréteur de commandes non valide pour le compte système lpd“lsuser -a login rlogin lpd Analyse du fichier /etc/security/passwd”lpd login=false rlogin=false
Connexion à distance - Empêcher le compte root de se connecter interactivementlssec -f /etc/security/user -s root -a rloginroot rlogin=false
Comptes utilisateurs - Identification des comptes utilisateurs locaux ayant le droit de s'authentifier sur le système (non désactivés)“Analyse du fichier /etc/passwd Analyse du fichier /etc/security/passwd”Un nombre restreint d'utilisateurs locaux devraient être présents
Comptes utilisateurs - Présence de comptes utilisateurs locaux bénéficiant de privilèges élevésAnalyse du fichier /etc/groupSeuls des utilisateurs légitimes doivent être membres du groupe system
Groupes utilisateurs - Présence de groupes utilisateurs locaux ne semblant pas être utilisésAnalyse du fichier /etc/groupAbsence de groupes utilisateurs non utilisés
Elévation de privilèges - Restreindre l'utilisation de l'utilitaire sulssec -f /etc/security/user -s root -a sugroups -a suroot sugroups=<Groupe spécifique> su=true
Connexion interactive - Présence de comptes utilisateurs non utilisés
egrep 'uucp|nuucp|lpd|printq' |/etc/passwd
* Valeur vide *
Services systèmes non nécessaires - Prévenir l'utilisation des “Super” démonsAnalyse du contenu des fichiers /etc/rc.tcpip et /etc/inetd.conf“Fichier /etc/rc.tcpip:Services mentionnés doivent être commentés”
Services systèmes non nécessaires - qdaemon (service d'impression)lsitab qdaemon* Valeur vide *
Services systèmes non nécessaires - lpd (service d'impression)lsitab lpd* Valeur vide *
Services systèmes non nécessaires - piobe (service d'impression)lsitab piobe* Valeur vide *
Services systèmes non nécessaires - dt (environnement graphique CDE)lsitab dt* Valeur vide *
Services systèmes non nécessaires - rcnfs (lance les services NFS)lsitab rcnfs* Valeur vide *
Services systèmes non nécessaires - rcpls -l /usr/bin/rcpawk {print $1}———-
Services systèmes non nécessaires - rloginls -l /usr/bin/rloginawk {print $1}———-
Services systèmes non nécessaires - rshls -l /usr/bin/rshawk {print $1}———-
Services systèmes non nécessaires - rlogindls -l /usr/sbin/rlogindawk {print $1}———-
Services systèmes non nécessaires - rshdls -l /usr/sbin/rshdawk {print $1} ———-
Services systèmes non nécessaires - tftpdls -l /usr/sbin/tftpdawk {print $1}———-
Services systèmes non nécessaires - communauté SNMPgrep #communityblank*private etc/snmpd.conf#community private 127.0.0.1 255.255.255.255 readWrite
Contrôle des accès réseaux - Utilisation de TCP Wrapperscat /etc/hosts.denyALL: ALL
Configuration - Désactivation des connexions de type “séries”lsitab -aegrep respawn:/usr/sbin/gettyon:/usr/sbin/gettycons:0123456789:respawn:/usr/sbin/getty /dev/console
Service non nécessaire - i4ls lsitab i4ls * Valeur vide *
Service non nécessaire - rcncs lsitab rcncs * Valeur vide *
Service non nécessaire - httpdlite lsitab httpdlite * Valeur vide *
Service non nécessaire - pmd lsitab pmd * Valeur vide *
Service non nécessaire - writesrv lsitab writesrv * Valeur vide *
Service non nécessaire - FTP cat /etc/ftpusers cat: cannot open /etc/ftpusers
Connexion Interactive - Présence d'une bannière d'avertissement post authentification cat /etc/motd Présence d'une bannière dissuasive
Tâches planifiées - Présence d'un fichier at.allow afin de restreindre la possibilité de créer une tâche planifiée via at cat /var/adm/cron/at.allow

adm” |

Tâches planifiées - Présence d'un fichier cron.allow afin de restreindre la possibilité de créer une tâche planifiée via Cron cat /var/adm/cron/cron.allow

adm” |

Connexion interactive - Tous les comptes utilisateurs locaux doivent avoir un mot de passe pwdck -n ALL * Valeur vide *
Recherche de fichiers sensibles - présence de fichiers .netrc find / -name “.netrc” -print * Valeur vide *
Recherche de fichiers sensibles - présence de fichiers .rhosts find / -name “.rhosts” -print * Valeur vide *
Authentification - présence d'entrées non commentées au sein du fichier hosts.equiv grep -v \s*# /etc/hosts.equiv * Valeur vide *
TCP/IP - Refuser les paquets IPV4 de type “source-routed” no -a grep ipsrcrouteforwardblank=blank0 ipsrcrouteforward = 0
TCP/IP - Refuser les paquets IP de type Redirect no -a grep ipignoreredirectsblank=blank1 ipignoreredirects = 1
TCP/IP - Bloquer les attaques de type “SYN Flood” no -a grep clean_partial_connsblank=blank1 clean_partial_conns = 1
TCP/IP - Empêcher le système AIX d'envoyer des paquets “source-routed” no -a grep ipsrcroutesendblank=blank0 ipsrcroutesend = 0
TCP/IP - Refuser le routage des paquets TCP / IP no -a grep ipforwardingblank=blank0 ipforwarding = 0
TCP/IP - Refuser le transfert des paquets TCP/IP redirigés no -a ipsendredirectsblank=blank0 ipsendredirects = 0
TCP/IP - Empêcher le système AIX d'envoyer des paquets “source-routed” IPv6 no -a grep ip6srcrouteforwardblank=blank0 ip6srcrouteforward = 0
TCP/IP - Refuser l'envoi de broadcast ciblé no -a grep directed_broadcastblank=blank0 directed_broadcast = 0
TCP/IP - Refuser la découverte de la valeur de transmission maximale (MTU) pour TCP no -a grep tcp_pmtu_discoverblank=blank0 tcp_pmtu_discover = 0
TCP/IP - Refuser la réponse aux requêtes ICMP de type broadcast no -a grep bcastpingblank=blank0 bcastping = 0
TCP/IP - Refuser les réponses aux requêtes ICMP de type NetMask no -a grep icmpaddressmaskblank=blank0 icmpaddressmask = 0
TCP/IP - Refuser la découverte de la valeur de transmission maximale (MTU) pour UDP no -a grep udp_pmtu_discoverblank=blank0 udp_pmtu_discover = 0
TCP/IP - Refuser les paquets de type “source-routed” #1 no -a grep ipsrcrouterecvblank=blank0 ipsrcrouterecv = 0
TCP/IP - Refuser les paquets de type “source-routed” #2 no -a grep nonlocsrcrouteblank=blank0 nonlocsrcroute = 0
TCP/IP - Protéger le système contre certaines attaques connues (fake SYN, fake RST, fake data) no -a grep tcp_tcpsecureblank=blank7 tcp_tcpsecure = 7
TCP/IP - Pourcentage de ressources mémoires alloué aux processus réseaux no -a grep sockthreshblank=blank60 sockthresh = 60
TCP/IP - Autoriser la fenêtre de congestion TCP à être supérieure à 64 KB no -a grep rfc1323blank=blank1 rfc1323 = 1
TCP/IP - Taille de la mémoire tampon pour l'envoi de données via TCP no -a grep tcp_sendspaceblank=blank262144 tcp_sendspace = 262144 ou valeur supérieure
TCP/IP - Taille de la mémoire tampon pour la récéption de données via TCP no -a grep tcp_recvspaceblank=blank262144 tcp_recvspace = 262144 ou valeur supérieure
TCP/IP - Taille maximale pour les segments TCP/IP no -a grep tcp_mssdfltblank=blank1448 tcp_mssdflt = 1448
TCP / IP - Refuser les requêtes clientes NFS qui ne proviennent pas d'une plage de ports légitimes nfso -a egrep (portchecknfs_use_reserved_ports)blank=start1

nfs_use_reserved_ports = 1” |

Comptes utilisateurs - Suppression du compte guest lsuser guest * Valeur vide *
Permissions fichiers - Les permissions paramétrées par défaut lors de la création d'un fichier / dossier doivent être suffisamment restrictives lssec -f /etc/security/user -s default -a umask default umask=27
Services systèmes non nécessaires - Désactiver les “core dumps” lssec -f /etc/security/limits -s default -a core -a core_hard default core=0 core_hard=0
Audit - une partition /audit doit être créée et montée df -k /audit La partition /audit a été créée et est montée
Audit - activation automatique des stratégies d'audit à la création des comptes utilisateurs lssec -f /usr/lib/security/mkuser.default -s user -a auditclasses user auditclasses = general,SRC,cron,tcpip, etc.
Audit - définition d'une tâche qui vérifie l'espace libre sur la partition /audit crontab -l Présence d'une tâche planifiée
Audit - lancement du service d'audit lsitab audit audit:2:boot:audit start > /dev/console 2>&1
Audit - refuser les messages syslog provenant du réseau ps -ef grep syslogd /usr/sbin/syslogd -r
Audit - les stratégies d'audit du système sont correctement configurées Contenu du fichier /etc/security/audit/config N/A
Audit - la configuration de syslog est adéquate Contenu du fichier /etc/syslog.conf N/A
Connexion interactive - la configuration du service SSH est sécurisée Contenu du fichier /etc/ssh/sshd_config N/A
Elévation de privilèges - Restreindre l'utilisation de l'utilitaire sudo Contenu du fichier /etc/sudoers N/A
Recherche de fichiers sensibles - présence de fichiers .shosts find / -name “.shosts” -print * Valeur vide *
Authentification - présence d'entrées non commentées au sein du fichier shosts.equiv ls /etc/shosts.equiv/etc/shosts.equiv not found
Système de fichiers - Permissions restrictives ls -l /etc/ssh/sshd_config awk {print $1 “ ” $3 “ ” $4 “ ” $9} -rw——- root system /etc/ssh/sshd_config
Système de fichiers - Permissions restrictives ls -l /etc/ssh/ssh_config awk {print $1 “ ” $3 “ ” $4 “ ” $9} -rw-r–r– root system /etc/ssh/ssh_config
Interface graphique - présence de CDE lslpp -L grep -i CDE * Valeur vide *
Interface graphique - présence de CDE lsitab dt * Valeur vide *
Interface graphique - présence de CDE ls -l /usr/dt/bin/dtaction /usr/dt/bin/dtaction not found
Interface graphique - présence de CDE ls -l /usr/dt/bin/dtappgather /usr/dt/bin/dtappgather not found
Interface graphique - présence de CDE ls -l /usr/dt/bin/dtprintinfo usr/dt/bin/dtprintinfo not found
Interface graphique - présence de CDE ls -l /usr/dt/bin/dtsession /usr/dt/bin/dtsession not found
Interface graphique - présence de CDE grep Dtlogin.requestPort:start /etc/dt/config/Xconfig grep: can't open /etc/dt/config/Xconfig
Interface graphique - présence de CDE egrep dtsession\*saverTimeout:dtsession\*lockTimeout: /etc/dt/config/*/sys.resources egrep: can't open /etc/dt/config/*/sys.resources
Interface graphique - présence de CDE egrep Dtlogin\*greeting.labelStringDtlogin\*greeting.persLabelString: /etc/dt/config/*/Xresources egrep: can't open /etc/dt/config/*/Xresources
Interface graphique - présence de CDE ls -l /etc/dt/config/Xconfig awk {print $1 “ ” $3 “ ” $4 “ ” $9} /etc/dt/config/Xconfig not found
Interface graphique - présence de CDE ls -l /etc/dt/config/Xservers /etc/dt/config/Xservers not found
Interface graphique - présence de CDE ls -l /etc/dt/config/*/Xresources awk {print $1 “ ” $3 “ ” $4 “ ” $9} /etc/dt/config/*/Xresources not found
Système de fichiers - Permissions restrictives ls -l /etc/security/passwd -rw——- root
Système de fichiers - Permissions restrictives ls -ld /etc/security drwxr-x— root security /etc/security
Système de fichiers - Permissions restrictives ls -l /etc/group -rw-r–r– root security /etc/group
Système de fichiers - Permissions restrictives ls -l /etc/passwd -rw-r–r– root security /etc/passwd
Système de fichiers - Permissions restrictives ls -ld /etc/security/audit drwxr-x— root audit /etc/security/audit
Système de fichiers - Permissions restrictives ls -ld /audit drwxr-x— root audit /audit
Système de fichiers - Permissions restrictives ls -l /smit.log -rw-r—– root system /smit.log
Système de fichiers - Permissions restrictives ls -l /var/adm/cron/log -rw-rw—- root cron /var/adm/cron/log
Système de fichiers - Permissions restrictives ls -ld /var/spool/cron/crontabs drwxrwx— root cron /var/spool/cron/crontabs
Système de fichiers - Permissions restrictives ls -l /var/adm/cron/at.allow N/A
Système de fichiers - Permissions restrictives ls -l /var/adm/cron/cron.allow N/A
Système de fichiers - Permissions restrictives ls -l /etc/motd -r–r–r– bin bin /etc/motd
Système de fichiers - Permissions restrictives ls -l /var/adm/ras awk {print $1 “ ” $3 “ ” $4 “ ” $9} Fichiers non “world readable”
Système de fichiers - Permissions restrictives ls -l /var/ct/RMstart.log -rw-r—– root system /var/ct/RMstart.log
Système de fichiers - Permissions restrictives ls -l /var/tmp/dpid2.log -rw-r—– root system /var/tmp/dpid2.log
Système de fichiers - Permissions restrictives ls -l /var/tmp/hostmibd.log -rw-r—– root system /var/tmp/hostmibd.log
Système de fichiers - Permissions restrictives ls -l /var/tmp/snmpd.log -rw-r—– root system /var/tmp/snmpd.log
Système de fichiers - Permissions restrictives ls -ld /var/adm/sa drwxr-xr-x adm adm /var/adm/sa
Configuration - Suppression du chemin courant du chemin usuel (PATH) pour le compte root “su - root -c echo /usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin

” | * Valeur vide * et absence d'entrées de type “.” ou “::” du PATH |

Système de fichiers - Partitionnement système mount N/A
Recherche de fichiers sensibles - présence de fichiers SUID find / \{ -fstype jfs -o -fstype jfs2 \} \{ -perm -04000 -o -perm -02000 \} -type f -ls * Valeur vide *
Recherche de fichiers sensibles - présence de fichiers “world writable” find / \{ -fstype jfs -o -fstype jfs2 \} \{ -type -d -o -type f\} -perm -o+w -ls * Valeur vide *
Vulnérabilités - Vulnérabilités connues impactant la version du logiciel utilisée et pour lesquelles des codes d'exploitation ont été rendus publics Recherche de vulnérabilités en utilisant des ressources publiques connues N/A
Sécurisation des flux LDAP en utilisant TLS / SSL Utilisation de LDAPS N/A
Vérification des tâches planifiées via at et cron crontab -l Absence de tâche planifiée sensible
Permissions des fichiers utilisés via SUDO ls -al Le compte utilisateur dont l'identité est usurpée au travers de l'utilitaire sudo doit être le seul à bénéficier des privilèges lecture / écriture pour les programmes appelés
Comptes utilisateurs du domaines autorisés à se connecter au système

Paramètre SYSTEM sous default:” | Par défaut, seuls les utilisateurs LDAP explicitement autorisés devraient pouvoir se connecter au système AIX |

Comptes utilisateurs du domaines disposant de privilèges élevéslsgroup -R LDAP allSeuls des utilisateurs légitimes doivent être membres du groupe system

Additionnal settings

echo "TMOUT=600; TIMEOUT=600; export TMOUT TIMEOUT" >> /etc/security/.profile
echo "TMOUT=600; TIMEOUT=600; export TMOUT TIMEOUT" >> /etc/profile

chsec -f /etc/security/login.cfg -s default -a herald="Unauthorized use of this system is prohibited.\n\nlogin:"

chsec -f /etc/security/login.cfg -s usw -a mkhomeatlogin=true

echo "*******************************************************************************
*                                                                             *
*  IT IS AN OFFENSE TO CONTINUE WITHOUT PROPER AUTHORIZATION.                 *
*                                                                             *
*  This system is for the use of authorized users only. Individuals using     *
*  this computer system without authority, or in excess of their authority,   *
*  are subject to having all of their activities on this system monitored and *
*  recorded by system personnel. In the course of monitoring individuals      *
*  improperly using this system, or in the course of system maintenance, the  *
*  activities of authorized users may also be monitored. Anyone using this    *
*  system expressly consents to such monitoring and is advised that if such   *
*  monitoring reveals possible evidence of criminal activity, system          *
*  personnel may provide the evidence of such monitoring to law enforcement   *
*  officials.                                                                 *
*                                                                             *
*******************************************************************************" > /etc/motd
aix/aixhardening.txt · Last modified: 2025/04/01 11:56 by manu