
|
|
#%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_pwdb.so shadow nullok auth required /lib/security/pam_nologin.so account required /lib/security/pam_pwdb.so password required /lib/security/pam_cracklib.so password required /lib/security/pam_pwdb.so nullok use_authtok md5 shadow session required /lib/security/pam_pwdb.so session required /lib/security/pam_limits.so #session optional /lib/security/pam_console.so |
Finalement, éditer le fichier /etc/profile et changer la ligne suivante:
ulimit -c 1000000
en
ulimit -S -c 1000000 > /dev/null 2<&1
Cette modification est requise pour éviter d'avoir des messages d'erreur tels que "Unable to reach limit during login"
.
Un utilisateur normal sera capable d'exécuter un programme en tant que root s'il est définit en SUID root. Tous les programmes et les fichiers de votre machine avec le bit s apparaissant dans leur mode, ont le SUID -rwsr-xr-x ou le SGID -r-xr-sr-x bit activé. Puisque ces programmes donnent des privilèges spéciaux à l'utilisateur qui les exécutent, il est important de supprimer ces bits s des programmes dont root est le propriètaire et qui ne nécessitent pas de tels privilèges. Cela peut se faire grace a la commande chmod a-s avec le nom des fichiers SUID/SGID en argument. De tels programmes sont, par exemple:
Des programmes jamais utilisés
Des programmes dont vous ne voudriez pas que des utilisateurs non-root utilises.
Des programmes que vous utilisez de temps en temps, et dont vous acceptez de lancer via su
Nous avons placé un astérisque * à côté de chaque programme à desactiver. Souvenez-vous que votre système a besoin de programmes suid root pour fonctionner, alors soyez prudent. Pour trouver tous les fichiers avec le bits s , executez la commande:
[root@deep]#find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls 'lg {} \;
|
*-rwsr-xr-x 1 root root 35168 Sep 22 23:35 /usr/bin/chage *-rwsr-xr-x 1 root root 36756 Sep 22 23:35 /usr/bin/gpasswd *-r-xr-sr-x 1 root tty 6788 Sep 6 18:17 /usr/bin/wall -rwsr-xr-x 1 root root 33152 Aug 16 16:35 /usr/bin/at -rwxr-sr-x 1 root man 34656 Sep 13 20:26 /usr/bin/man -r-s--x--x 1 root root 22312 Sep 25 11:52 /usr/bin/passwd -rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/suidperl -rws--x--x 2 root root 518140 Aug 30 23:12 /usr/bin/sperl5.00503 -rwxr-sr-x 1 root slocate 24744 Sep 20 10:29 /usr/bin/slocate *-rws--x--x 1 root root 14024 Sep 9 01:01 /usr/bin/chfn *-rws--x--x 1 root root 13768 Sep 9 01:01 /usr/bin/chsh *-rws--x--x 1 root root 5576 Sep 9 01:01 /usr/bin/newgrp *-rwxr-sr-x 1 root tty 8328 Sep 9 01:01 /usr/bin/write -rwsr-xr-x 1 root root 21816 Sep 10 16:03 /usr/bin/crontab *-rwsr-xr-x 1 root root 5896 Nov 23 21:59 /usr/sbin/usernetctl *-rwsr-xr-x 1 root bin 16488 Jul 2 10:21 /usr/sbin/traceroute -rwxr-sr-x 1 root utmp 6096 Sep 13 20:11 /usr/sbin/utempter -rwsr-xr-x 1 root root 14124 Aug 17 22:31 /bin/su *-rwsr-xr-x 1 root root 53620 Sep 13 20:26 /bin/mount *-rwsr-xr-x 1 root root 26700 Sep 13 20:26 /bin/umount *-rwsr-xr-x 1 root root 18228 Sep 10 16:04 /bin/ping *-rwxr-sr-x 1 root root 3860 Nov 23 21:59 /sbin/netreport -r-sr-xr-x 1 root root 26309 Oct 11 20:48 /sbin/pwdb_chkpwd |
Pour enlever le bit suid sur ces programmes, saisissez les commandes suivantes:
|
[root@deep] /# chmod a-s /usr/bin/chage [root@deep] /# chmod a-s /usr/bin/gpasswd [root@deep] /# chmod a-s /usr/bin/wall [root@deep] /# chmod a-s /usr/bin/chfn [root@deep] /# chmod a-s /usr/bin/chsh [root@deep] /# chmod a-s /usr/bin/newgrp [root@deep] /# chmod a-s /usr/bin/write [root@deep] /# chmod a-s /usr/sbin/usernetctl [root@deep] /# chmod a-s /usr/sbin/traceroute [root@deep] /# chmod a-s /bin/mount [root@deep] /# chmod a-s /bin/umount [root@deep] /# chmod a-s /bin/ping [root@deep] /# chmod a-s /sbin/netreport |
Il est important de ne pas oublier d'inspecter votre système à la recherche de fichier inhabituel ou caché -des fichiers qui commencent par un point et qui ne sont pas habituellement affichés par la commande ls et peuvent être donc utilisés pour cacher des outils et des informations de mot de passe pour des programmes de craquage, etc.. Une technique usuelle sur les systèmes UNIX et de placer un répertoire ou un fichier caché dans un compte d'utilisateur avec un nom bizarre, tel que '...' ou '.. ' ou .. suivi d'un espace our ..-^G -.. ctrl-G. Le programme find peut être employé pour chercher des fichiers cachés.
[root@deep] /# find / -name ".. " -print -xdev
[root@deep] /# find / -name ".*" -print -xdev | cat -v
Tous les fichiers SUID et SGID qui existent encore sur votre système après que vous ayiez supprimé ceux qui n'ont absolument pas besoin d'un tel privilege demeurent un risque potentiel de sécurité, et doivent être surveillés étroitement. Parce que ces programmes donnent des privilèges étendus à ceux qui les éxècutent, il est necessaire de s'assurer que des programmes peu sûrs n'ont pas été installés
Un des tours préférés des crackers est d'exploiter les programmes SUID root, et de laisser un programme SUID comme backdoor pour s'introduire ultèrieurement. Trouver tous les programmes SUID et SGID sur votre système, et garder la trace de ce qu'ils sont de sorte que vous soyez prévenu lors de chaque changement, qui pourrait trahir un assaillant potentiel. Voici la commande pour trouver tous les programmes SUID/SGID de votre système:
[root@deep] /# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
Les fichiers et répèrtoires accessibles en écriture pour le groupe et les autres peuvent être un trou de sécurité si un attaquant accede à votre système et les modifie. En outre, les répertoires accessibles à tous sont dangereux puisqu'ils autorisent un attaquant à ajouter ou à supprimer les fichiers qu'ils veulent dans ces répertoires. Lors d'opérations normales, quelques fichiers seront accessibles en écriture, tels que ceux inclus dans /dev, /var/catman et tous les liens symboliques dans votre système. Pour trouver tous les fichiers avec des droits en écriture pour le groupe et les autres, employez la commande:
[root@deep] /# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
Pour trouver tous les répèrtoires avec des droits en écriture pour le groupe et les autres, employez la commande:
[root@deep] /# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;
une application telle que Tripwire peut être utilisée pour scanner régulièrement, gérer et trouver facilement des fichiers et répertoires modifiés.
N'autorisez pas les fichiers anonymes. Des fichiers n'appartenant à personne peuvent être une indication selon laquelle un assaillant à pénétrer votre système. Si vous trouvez ce genre de fichiers dans votre système, vérifier son intégrité et si cela semble correct, attribuez-lui un nom d'utilisateur. Parfois, vous pouvez désinstaller un programme et obtenir un fichier ou un répertoire anonyme relatif à ce programme; dans ce cas, vous pouvez sans problème supprimer ce fichier. Pour trouver des fichiers de votre système sans propriétaire, employez cette commande:
[root@deep] /#find / -nouser -o -nogroup
N'oubliez pas qu'il ne faut pas tenir compte des fichiers appartenant à /dev
Pour faire une sauvegarde de l'ensemble de votre système, employez cette commande:
[root@deep] /# cd / [root@deep] /# tar cpf /archive/full-backup-`date '+%d-%B-%Y'`.tar \ --directory / --exclude=proc --exclude=mnt --exclude=archive \ --exclude=cache --exclude=*/lost+found .
La directive --directory indique à tar de choisir en premier le répertoire suivant,le répertoire / dans cet exemple, avant de démarrer la sauvegarde.
La directive --exclude indique de ne pas tenir compte des rèpertoires spécifiés
Le caractère . à la fin de la commande indique que tar doit tout sauvegarder dans le répertoire courant.
Pour commencer...