Tutoriel sur la sécurité et la configuration de Linux Internet Server – Serveur d’impression

Author: Titanfall —

Short summary: Étapes de sécurité de base / Vue d'ensemble: Effectuez les étapes suivantes pour sécuriser votre site Web: Voir les erratas de distribution et les correctifs de sécurité (voir la page d'accueil de Yolinux pour la liste). [e.g. Red Hat Linux Errata] Mettez à jour votre système le cas échéant. Red Hat / CentOS: yum check-update […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2019/05/02/tutoriel-sur-la-securite-et-la-configuration-de-linux-internet-server-serveur-dimpression/
LLM HTML version
https://tutos-gameserver.fr/2019/05/02/tutoriel-sur-la-securite-et-la-configuration-de-linux-internet-server-serveur-dimpression/llm
LLM JSON version
https://tutos-gameserver.fr/2019/05/02/tutoriel-sur-la-securite-et-la-configuration-de-linux-internet-server-serveur-dimpression/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
58 minutes (3437 seconds)
Word count
11454

Key points

Structured content

Étapes de sécurité de base / Vue d'ensemble:

Effectuez les étapes suivantes pour sécuriser votre site Web:

Voir les erratas de distribution et les correctifs de sécurité (voir la page d'accueil de Yolinux pour la liste). [e.g. Red Hat Linux Errata] Mettez à jour votre système le cas échéant.

Red Hat / CentOS:

yum check-update (Imprimer la liste des paquets à mettre à jour.) miam mise à jour

Notez que cela peut être automatisé en utilisant le /etc/init.d/yum-updatesd service (RHEL / CentOS 5) ou créer un travail cron /etc/cron.daily/yum.cron

#! / bin / sh / usr / bin / yum -R 120 -e 0 -d 0 -y mise à jour yum / usr / bin / yum -R 10 -e 0 -d 0 -y mise à jour

Ubuntu / Debian:

apt-get update (Mettez à jour la liste des packages vers la dernière version associée à cette version du système d'exploitation.) apt-get upgrade

Réduisez le nombre de services réseau exposés. Ceux-ci seront lancés par scripts en /etc/rc.d/rc*.d/ des répertoires. (Voir la liste complète des services en: /etc/init.d/) Il n’est peut-être pas nécessaire d’exécuter sendmail (serveur de messagerie), portmap (écouteur RPC requis par NFS), lpd (démon du serveur d’imprimante en ligne. Les pirates cherchent constamment à obtenir ce service pour mon système.), innd (serveur de news), linuxconf etc. Par exemple, sendmail peut être supprimé du processus de démarrage à l’aide de la commande suivante: chkconfig --del sendmail ou en utilisant l'outil de configuration Ntsysv. Le service peut être terminé à l'aide de la commande /etc/rc.d/init.d/sendmail stop. À tout le moins, vous devez exécuter la commande chkconfig --list pour voir quels processus sont configurés pour pouvoir être utilisés après le démarrage. Voir le tutoriel sur le processus d'initialisation YoLinux

Vérifiez votre configuration. Répertoriez les ports ouverts et les processus qui les contiennent: netstat -punta (Essayez aussi netstat -nlp) Liste des services RPC: [root]# rpcinfo -p localhost Idéalement, vous NE PAS être en cours d'exécution portmapper donc pas de services RPC     serait disponible. Désactivez portmapper: service portmap stop (ou: /etc/init.d/portmap stop) et     supprimez-le de la séquence de démarrage du système: chkconfig --del portmap (Portmap est requis par NFS.) FTP anonyme (avec wu_ftpd – Dernière livraison avec RH 8.0. RH 9 et FC utilisent vsftpd):     Par défaut, Red Hat est configuré pour le FTP anonyme.     Cela permet aux utilisateurs de ftp sur votre serveur et de se connecter avec le login. anonyme et utilisez une adresse email comme mot de passe. Si vous le souhaitez     pour désactiver cette fonctionnalité éditer le fichier / etc / ftpaccess et changer: classe tout réel, invité, anonyme * à classe tout réel, invité * Pour plus d'informations sur la configuration FTP, voir: Didacticiel de configuration FTP du serveur Web YoLinux

Utilisez le trouver commande pour localiser les vulnérabilités – trouver les fichiers suid et guid (pouvant s'exécuter avec les privilèges root), ainsi que les fichiers et les répertoires accessibles en écriture dans le monde entier. Par exemple:

find / -xdev (-perm -4000 -o -perm -2000 ) -type f -print Supprimez les privilèges suid sur les programmes exécutables avec la commande: chmod -s nom de fichier find / -xdev (-nouser -o -nogroup ) -print Rechercher des fichiers n'appartenant pas à un utilisateur ou à un groupe valide.

Utilisez la commande chattr et lsattr rendre un fichier de sécurité sensible non modifiable en plus des autorisations habituelles.

Rendre un fichier non modifiable: chattr + i / bin / ls Rendre les répertoires non modifiables: chattr -R + i / bin / sbin / boot / lib Faire un fichier ajouter seulement: chattr + a / var / log / messages

Utilisez "tripwire" [sourceforge: tripwire] pour la surveillance de la sécurité de votre système à la recherche de traces de fichiers non autorisés changements. Tripwire est proposé dans le cadre des distributions de base Red Hat et Ubuntu. La configuration de Tripwire est décrite ci-dessous.

Regardez vos fichiers de journaux en particulier / var / log / messages et / var / log / secure. Évitez les noms de compte génériques tels que client. Utilisez les configurations de wrapper réseau de PAM pour interdire les mots de passe pouvant être utilisés. trouvé facilement par crack ou d'autres programmes de piratage. L'authentification PAM peut également interdire l'accès à la connexion au réseau racine. (Configuration Red Hat par défaut. Vous devez vous connecter en tant qu'utilisateur régulier et su - pour obtenir un accès root. Ce n'est PAS la valeur par défaut pour ssh et doit être modifié comme indiqué ci-dessous.) Voir le tutoriel YoLinux Network Admin sur l’utilisation de PAM L'accès à distance NE DOIT PAS être effectué avec un texte telnet en texte clair, mais avec une connexion chiffrée utilisant ssh. (Plus tard dans ce tutoriel) Paramètres du fichier Proc pour la défense contre les attaques. Cela inclut des mesures de protection contre Usurpation d'adresse IP, attaques par saturation ou attaques par syncookies. DDoS (attaques par déni de service distribué): le seul ce que vous pouvez faire est d'avoir une bande passante et un traitement gobs alimentation / pare-feu. Beaucoup de puissance de traitement ou un pare-feu sont inutiles sans bande passante car le réseau peut être surchargé par une attaque distribuée. Regarde aussi:      Malheureusement, les paquets sont généralement usurpés et dans mon cas, le FBI s'en fichait. Si le serveur est un serveur distant, utilisez un modem d'accès à distance ou une deuxième adresse IP et une route d'accès, car la route attaquée est bloqué par le déluge de attaques de réseau. Vous pouvez également demander à votre FAI de supprimer le trafic ICMP. à les adresses IP de vos serveurs. (et UDP si tout ce que vous utilisez est un serveur Web. Les serveurs de noms DNS utilisent UDP.) Pour une lecture très intéressante, voir "The Strange Tale" de l'attaque DDoS de GRC.com. (Très intéressante lecture sur l’anatomie des réseaux de hacker bot.) L'accès utilisateur peut être restreint avec les fichiers de configuration suivants:

/etc/security/limits.conf /etc/security/group.conf /etc/security/time.conf

Voir le tutoriel YoLinux SysAdmin – restreindre les utilisateurs Supprimer les utilisateurs inutiles du système. Voir / etc / passwd. Par défaut Les installations Red Hat ont de nombreux comptes utilisateur créés pour prendre en charge divers processus. Si vous n’avez pas l’intention d’exécuter ces processus, supprimez les utilisateurs. c'est-à-dire retirer identifiants utilisateur jeux, uucp, rpc, rpcd, ...

Démon de réseau IP:

Il est préférable, pour des raisons de sécurité, de réduire le nombre des services réseau inetd exposés. Plus vous exposez de services, plus votre vulnérabilité. Réduire le nombre de services réseau accessibles via le démon xinet ou inet par:

inetd: (ancien chapeau rouge)     Commentez les services inutiles dans le /etc/initd.conf fichier. Exemple: (FTP est le seul service que je lance)

flux ftp tcp maintenant racine / usr / sbin / tcpd in.ftpd -l -a Redémarrez le démon pour appliquer les modifications: /etc/rc.d/init.d/inetd restart

xinetd: (systèmes actuels)     Tous les services réseau sont désactivés par défaut lors d'une mise à niveau. Exemple de fichier: /etc/xinetd.d/wu-ftpd:

service ftp

     disable = yes - La valeur par défaut est désactivée. Cette ligne contrôle le service xinetd (activé ou non)      socket_type = stream      attendre = non      utilisateur = root      serveur = /usr/sbin/in.ftpd      server_args = -l -a      log_on_success + = DURÉE USERID      log_on_failure + = USERID      bien = 10

Activer / désactiver un service xinetd:

Editez le fichier: /etc/xinetd.d/Nom du service Changer de ligne "désactiver = oui"désactive un service xinetd. Changer de ligne "désactiver = non"active un service xinetd. La configuration de Xinetd doit être effectuée pour chaque fichier du répertoire. /etc/xinetd.d/ afin de configurer chaque service réseau. Redémarrez le démon pour appliquer les modifications: /etc/rc.d/init.d/xinetd restart

Vous pouvez également utiliser la commande: chkconfig wu-ftpd sur OU chkconfig wu-ftpd off Cela modifiera le fichier approprié (/etc/xinetd.d/wu-ftpd)     et redémarrez le processus xinetd.

Pointe:

Répertoriez les paramètres init, y compris tous les services contrôlés xinetd: chkconfig --list Énumérer le statut des services (systèmes Red Hat / Fedora Core): service - état général

Configuration du noyau:

Utilisation Pare-feu Linux règles de protection contre les attaques. (iptables: noyau 2.4+ ou ipchains: noyau 2.2)     Les règles de refus d'accès peuvent également être implémentées à la volée par portsentry. (Lieu à la fin de /etc/rc.d/rc.local à exécuter au démarrage du système, ou un autre script approprié)

script iptables:

iptables -A INPUT -p tcp -s 0/0 -d 0/0 --port 2049 -j DROP - Bloc NFS

iptables -A INPUT -p udp -s 0/0 -d 0/0 --port 2049 -j DROP - Bloc NFS

iptables -A INPUT -p tcp -s 0/0 -d 0/0 --port 6000: 6009 -j DROP - Bloquer X-Windows

iptables -A INPUT -p tcp -s 0/0 -d 0/0 --port 7100 -j DROP - Bloquer le serveur de polices X-Windows

iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport 515 -j DROP - Bloquer le port de l'imprimante

iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 515 -j DROP - Bloquer le port de l'imprimante

iptables -A INPUT -p tcp -s 0/0 -d 0/0 --dport 111 -j DROP - Bloquer Sun rpc / NFS

iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 111 -j DROP - Bloquer Sun rpc / NFS

iptables -A INPUT -p tout -s localhost -i eth0 -j DROP - Refuser les paquets extérieurs d’Internet qui prétendre être de votre interface de bouclage.

script ipchains:

# Autoriser l'accès en boucle. Cette règle doit précéder les règles interdisant l'accès au port !! iptables -A INPUT -i lo -p all -j ACCEPT - Cette règle est essentielle si vous voulez votre propre ordinateur

iptables -A OUTPUT -o lo -p all -j ACCEPT pour pouvoir accéder à lui-même via l'interface de bouclage

ipchains -A entrée -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT - Bloc NFS

ipchains -A entrée -p udp -s 0/0 -d 0/0 2049 -j REJECT - Bloc NFS

ipchains -A entrée -p tcp -s 0/0 -d 0/0 6000: 6009 -y -j REJECT - Bloquer X-Windows

ipchains -A entrée -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT - Bloquer le serveur de polices X-Windows

ipchains -A entrée -p tcp -s 0/0 -d 0/0 515 -y -j REJECT - Bloquer le port de l'imprimante

ipchains -A entrée -p udp -s 0/0 -d 0/0 515 -j REJECT - Bloquer le port de l'imprimante

ipchains -A entrée -p tcp -s 0/0 -d 0/0 111 -y -j REJECT - Bloquer Sun rpc / NFS

ipchains -A entrée -p udp -s 0/0 -d 0/0 111 -j REJECT - Bloquer Sun rpc / NFS

ipchains -A entrée -j REJECT -p tout -s localhost -i eth0 -l - Refuser et consigner ("-l") les paquets extérieurs à Internet qui prétendent être de votre interface de bouclage.

Remarque:

iptables utilise la règle de chaîne "INPUT" et ipchains utilise la minuscule     descripteur "entrée". Voir les règles avec iptables -L ou ipchains -L commander. Page de manuel d'iptables Lorsque vous utilisez un serveur Web Internet, il est préférable que votre ordinateur soit sécurisé.         vue, qu’on ne lance PAS l’impression, X-Window, NFS ou d’autres services pouvant         être exploité si une vulnérabilité est découverte ou si elle est mal configurée         indépendamment des règles de pare-feu.

Regarde aussi:

Utilisation portsentry pour surveiller les attaques de pirates réseau et affecter dynamiquement des règles de pare-feu pour contrecarrer les attaquants. (Plus tard dans ce tutoriel)

Un monolithique et noyau minimal pourrait également fournir un petit peu de protection (éviter les modules Trojan) et exécution sur du matériel moins courant (MIPS, Alpha, etc … afin que les instructions de débordement de tampon ne s'exécutent pas.)

Améliorations de la sécurité du noyau:

Activer ExecShield: Ceci est activé par défaut sur Red Hat EL 5 / CentOS 5.             ExecShield est une fonctionnalité du noyau Linux qui protège le système contre les exploits de débordement de mémoire tampon.             Cette fonctionnalité est réalisée par un placement aléatoire de la mémoire de pile, une prévention de l'exécution de la mémoire utilisée pour la gestion de la mémoire tampon de données et de texte.             ExecShield peut être activé dans le fichier de configuration Red Hat / CentOS /etc/sysctl.conf en ajoutant les deux lignes suivantes:

kernel.exec-shield = 1 kernel.randomize_va_space = 1 La configuration actuelle du système peut être vérifiée:

cat / proc / sys / kernel / exec-shield cat / proc / sys / kernel / randomize_va_space

Les deux devraient être "1". (Défaillance du système)

Remarque: processeurs Intel XD / AMD NX 32 bits uniquement x 32 (pas x86_64 pouvant traiter plus de 4 Go):             Activez la prise en charge d’AMD NX ou d’Intel XD à l’aide du noyau PAE (Physical Address Extension). L'extension de mémoire PAE est nécessaire pour accéder au bit XD / NX.             Pour savoir si votre processeur prend en charge NX ou XD PAE, utilisez la commande suivante: cat / proc / cpuinfo | drapeaux grep pour afficher un champ avec "pae" et "nx". Installez un noyau Linux (2.6.8+) avec support PAE avec la commande miam installer le noyau-PAE. Le chargeur de démarrage devra également spécifier le noyau PAE pour le démarrage. Le BIOS devra également être configuré pour le prendre en charge. Ce noyau ne doit être installé que sur un système doté d’un processeur x86 32 bits offrant cette prise en charge. Les processeurs x86_64 64 bits pouvant interagir de manière native avec le bit XD / NX n'ont pas besoin du noyau PAE.

Règles de pare-feu pour bloquer les blocs IP incorrects:

Il est bien connu qu’il existe différents blocs d’adresses IP où résident des pirates informatiques et des robots anti-spam. Ces blocs de propriété intellectuelle appartenaient souvent à des sociétés et à des organisations légitimes, mais sont tombés dans un royaume non surveillé ou ont été détournés et vendus à des spammeurs criminels. Ces blocs IP doivent être bloqués par des règles de pare-feu.

Il existe divers services conviviaux qui recherchent et découvrent ces blocs IP de pare-feu et les refusent, et ils partagent cette information avec nous. Merci!

La liste déroulante Spamhaus: Il s'agit d'un script permettant de télécharger la liste déroulante totale et de générer un script de filtrage iptables pour bloquer ces adresses IP mêmes:

#! / bin / bash # Liste noire des zones de hackers et des domaines défectueux de spamhaus.org FILE = drop.lasso / bin / rm -f $ FILE wget http://www.spamhaus.org/drop/drop.lasso blocks = $ (cat $ FILE | egrep -v '^;' | awk 'print $ 1') echo "#! / bin / bash"> Spamhaus-drop.lasso.sh pour ipblock dans les blocs $ faire  echo "iptables -I INPUT -s $ ipblock -j DROP" >> Spamhaus-drop.lasso.sh terminé chmod ugo + x Spamhaus-drop.lasso.sh echo "... fait"

Pour bloquer les adresses IP, exécutez simplement le script sur chacun de vos serveurs: ./Spamhaus-drop.lasso.sh Au minimum, ces blocs d'adresses IP devraient être refusés par tous les serveurs.

Bloquer ou autoriser par pays: On peut refuser l'accès de certains pays ou l'inverse, n'autoriser que certains pays à accéder à votre serveur.

Voir ces sites pour générer des listes:

Bloquer le forum et les spammeurs de la liste de commentaires: Utilisez la liste générée à partir de pots de miel exploités par StopForumSpam.com

#! / bin / bash # Grande liste d'adresses IP à bloquer Nombre d'adresses IP recueillies au cours des 30 derniers jours # Plus de 100 000 adresses IP

rm -f Listed_ip_30.zip wget http://www.stopforumspam.com/downloads/listed_ip_30.zip

rm -f Listed_ip_30.txt Décompressez listing_ip_30.zip

echo "#! / bin / bash"> Stopforumspam-listed_ip_30.sh cat ./listed_ip_30.txt | awk 'print "/ sbin / iptables -I INPUT -s" $ 1 "-j DROP"' >> Stopforumspam-listed_ip_30.sh

chmod ugo + x Stopforumspam-listed_ip_30.sh

Pour bloquer les adresses IP, exécutez simplement le script: ./Stopforumspam-listed_ip_30.sh

Sachez qu'il s'agit d'une liste extrêmement longue et que son exécution peut prendre des heures. C'est aussi une liste qui change rapidement et qui est constamment mise à jour.

[Potential Pitfall]: Vous pouvez obtenir l'erreur suivante:

iptables: erreur inconnue 18446744073709551615

J'ai constaté qu'en ralentissant l'exécution du script, je pouvais éviter cette erreur. J'ai ajouté un écho bash pour écrire chaque ligne à l'écran et elle s'est bien mieux comportée bien que beaucoup plus lente.

#! / bin / bash set -x verbose / sbin / iptables -I INPUT -s XX.XX.XX.XX -j DROP ...

Identifiez l'ennemi: Utilisez ce qui suit pour identifier et géolocaliser une adresse IP (InfoSniper.net):

Serveur Web Apache:

Modules Apache: Désactivez les modules que vous n'allez pas utiliser. Si votre site Web ne dessert pas https, désactivez-le.     Avec les exploits antérieurs de SSL, ceux qui ont utilisé cette philosophie n’ont pas été brûlés. Apache version exposition: (Version 1.3+) N'autorisez pas les pirates informatiques à déterminer la version du logiciel de serveur Web que vous exécutez en induisant une erreur et donc une réponse automatique du serveur. Les attaques sont souvent spécifiques à la version. Les spammeurs déclenchent également des erreurs pour trouver des adresses électroniques.

...

Webmaster ServerAdmin chez megacorp dot com ServerSignature Off

...

De toute façon, la réponse risque d’être dénuée de sens si vous utilisez le serveur Web en tant que proxy pour un autre.

Bloquez les pirates et les pays qui n'utiliseront jamais votre site Web.         Utilisez la directive Apache Refuser de bloquer l'accès.

...     ...     ...     Ordre permettre, refuser     # Bots en forme de bloc     Refuser à partir de 88.191.0.0/16 193.200.193.0/24 194.8.74.0/23     permettre à tous

Pour une liste exhaustive des adresses IP à bloquer, voir la         Liste de blocage de Wizcrafts.net

SSH: (shell sécurisé)

Protocole SSH suite d'outils de connectivité réseau sont utilisés pour chiffrer connexions sur Internet. SSH chiffre tout le trafic, y compris identifiants et mots de passe pour éliminer efficacement le sniffing sur le réseau, détournement de connexion et autres attaques au niveau du réseau. Dans une session telnet classique, le mot de passe est transmis via Internet. non chiffré. SSH sur Linux fait référence à OpenSSH Secure Shell Terminal et aux connexions de transfert de fichiers sftp / scp. SSH est également un produit commercial mais disponible librement pour un usage non commercial de SSH Communications Security à       http://www.ssh.com/. Deux versions sont disponibles, SSH1 (maintenant très ancien) et SSH2 (actuel). La version commerciale de SSH peut être achetée et / ou téléchargée à partir de leur site Internet. Notez que SSH1 présente un problème de vulnérabilité majeur. Le groupe de craquage et de défiguration du site Web "woot-project" utilise cette vulnérabilité. NE PAS UTILISER LE PROTOCOLE SSH1 !!!!! ("woot-project" exploit / attaque description / récupération) OpenSSH a été développé par le       OpenBSD Project et est disponible gratuitement. OpenSSH est compatible avec SSH1 et SSH2. OpenSSH s'appuie sur le projet OpenSSL pour la couche de communication cryptée. Les versions actuelles de Linux sont fournies avec OpenSSH / OpenSSL.

Liens:

OpenSSH:

Télécharger:                Remarque: SSH et SSL sont inclus dans Red Hat Linux 7.0+.

Installation:

Commun au client et au serveur: Client:

Red Hat / Fedora / CentOS:

rpm -ivh openssh-askpass-2.xxx-x.x.x86.rpm rpm -ivh openssh-clients-2.xxx-x.x.x86.rpm rpm -ivh openssh-askpass-gnome-2.xxx-x.x.x86.rpm - Utilisateurs de bureau Gnome

Ubuntu / Debian:

apt-get installer openssh-client ssh-askpass-gnome

Serveur:

Si vous mettez à niveau à partir de SSH1, vous devrez peut-être utiliser l'option RPM --Obliger.

Le rpm installera les fichiers binaires, les fichiers de configuration et les     openssh-server va installer le script d'initialisation /etc/rc.d/init.d/sshd pour que sshd commencera au démarrage du système.

Configuration:

Fichier de configuration du client / etc / ssh / ssh_config: (Défaut)

# $ OpenBSD: ssh_config, v 1.9 2001/03/10 12:53:51 deraadt Exp $

# Ceci est un fichier de configuration système client ssh. Voir ssh (1) pour plus # information. Ce fichier fournit des valeurs par défaut aux utilisateurs et les valeurs peuvent # être modifié dans les fichiers de configuration par utilisateur ou sur la ligne de commande.

# Les données de configuration sont analysées comme suit: # 1. options de ligne de commande # 2. Fichier spécifique à l'utilisateur # 3. fichier du système # Toute valeur de configuration n'est modifiée que la première fois qu'elle est définie. # Ainsi, les définitions spécifiques à l’hôte doivent figurer au début de la # fichier de configuration, et les valeurs par défaut à la fin.

# Valeurs par défaut pour l'ensemble du site pour diverses options

# Hôte * # ForwardAgent no # ForwardX11 non # RhostsAuthentication no # RhostsRSAAuthentication oui # RSAAuthentication oui # Password Authentification oui # FallBackToRsh no # UseRsh no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking oui # IdentityFile ~ / .ssh / identity # IdentityFile ~ / .ssh / id_rsa # IdentityFile ~ / .ssh / id_dsa # Port 22 # Protocole 2.1 - Remplacez cette ligne par: Protocole 2 # Cipher 3des # Chiffres aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, aes192-cbc, aes256-cbc # EscapeChar ~ Hôte *         ForwardX11 oui

Changer la ligne: # Protocole 2,1 à: Protocole 2 Cela éliminera l'utilisation du protocole SSH1.

Décommentez les options requises ou acceptez les valeurs par défaut codées en dur.     Les valeurs par défaut codées en dur pour le client OpenSSH sont compatibles avec SSH1     fichiers client et serveur sshd. Une mise à niveau vers le client OpenSSH     ne nécessite aucune modification des fichiers $ HOME / .ssh /.

Fichier de configuration du serveur / etc / ssh / sshd_config: Défaut:

# $ OpenBSD: sshd_config, v 1.38 2001/04/15 21:41:29 deraadt Exp $

# Ce sshd a été compilé avec PATH = / usr / bin: / bin: / usr / sbin: / sbin

# Ceci est le fichier de configuration système du serveur sshd. Voir sshd (8) # pour plus d'informations.

Port 22 #Protocole 2,1 - Changer en: Protocole 2 #ListenAddress 0.0.0.0 #ListenAddress :: Clé de l'hôte / etc / ssh / ssh_host_key Clé de l'hôte / etc / ssh / ssh_host_rsa_key HostKey / etc / ssh / ssh_host_dsa_key ServerKeyBits 768 LoginGraceTime 600 - Changer en: LoginGraceTime 120 KeyRegenerationInterval 3600 PermitRootLogin oui - Changer en: PermitRootLogin no # # Ne pas lire les fichiers ~ / .rhosts et ~ / .shosts IgnoreRhosts oui # Supprimer le commentaire si vous ne faites pas confiance à ~ / .ssh / known_hosts pour RhostsRSAAuthentication #IgnoreUserKnownHosts oui StrictModes oui X11Forwarding oui X11DisplayOffset 10 PrintMotd oui #PrintLastLog no KeepAlive oui

# Enregistrement SyslogFacility AUTHPRIV LogLevel INFO #obsoletes QuietMode et FascistLogging

RhostsAuthentication non # # Pour que cela fonctionne, vous aurez également besoin de clés d'hôte dans / etc / ssh / ssh_known_hosts RhostsRSAAuthentication non # similaire pour la version 2 du protocole Authentification par l'hôte non # Authentification RSAA oui

# Pour désactiver les mots de passe en texte clair tunnelés, choisissez non ici! Authentification par mot de passe oui PermitEmptyPasswords no

# Un-comment pour désactiver les mots de passe s / key #ChallengeResponseAuthentication no

# Supprimer le commentaire pour activer l'authentification interactive au clavier PAM # Avertissement: l'activation de cette option peut contourner le paramètre 'PasswordAuthentication' #PAMAuthenticationViaKbdInt yes

# Pour changer les options de Kerberos #KerberosAuthentication no #KerberosOrLocalPasswd oui #AFSTokenPassing no #KerberosTicketCleanup no

# Kerberos TGT Passing ne fonctionne qu'avec le kaserver AFS #KerberosTgtPassing oui

#CheckMail oui #UseLogin no

#MaxStartups 10:30:60 #Banner /etc/issue.net #ReverseMappingCheck Oui

Sous-système sftp / usr / libexec / openssh / sftp-server

Générer des clés système: / etc / ssh /

ssh-keygen -q -t rsa -f / etc / ssh / ssh_host_rsa_key -C '' -N '' ssh-keygen -q -t dsa -f / etc / ssh / ssh_host_dsa_key -C '' -N '' Clés privées générées: chmod 600 / etc / ssh / ssh_host_dsa_key / etc / ssh / ssh_host_rsa_key Clés publiques générées: chmod 644 /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_rsa_key.pub Pour SELinux:

/ sbin / restorecon /etc/ssh/ssh_host_rsa_key.pub / sbin / restorecon /etc/ssh/ssh_host_dsa_key.pub

Générer des clés utilisateur:

Client: Utilisez la commande: / usr / bin / ssh-keygen -t rsa

Génération d'une paire de clés rsa publique / privée. Entrez le fichier dans lequel enregistrer la clé (/ home /identifiant d'utilisateur/.ssh/id_rsa): Entrez mot de passe (vide pour aucun mot de passe): Entrez à nouveau le même mot de passe: Votre identification a été enregistrée dans / home /identifiant d'utilisateur/.ssh/id_rsa. Votre clé publique a été enregistrée dans / home /identifiant d'utilisateur/.ssh/id_rsa.pub. L'empreinte digitale clé est: XX: bl: ab: la: bl: aX: XX: af: 90: 8f: dc: 65: 0d: XX: XX: XX: XX: XX: XX user-id@nom de noeud Fichiers générés:

$ HOME / .ssh / id_rsa - binaire $ HOME / .ssh / id_rsa.pub - ssh-rsa ... 223564257432 adresse électronique - Plusieurs clés / lignes autorisées. Options de commande:

-t rsa (pour la version 2 du protocole) -t dsa (pour la version 2 du protocole) -t rsa1 (pour la version 1 du protocole) -b 2048 (spécifie la longueur de la clé en bits)

Serveur:

FTP le fichier $ HOME/.ssh/id_rsa.pub au serveur cd $ HOME / .ssh / cat id_rsa.pub >> registered_keys2

Utilisation de ssh: sur le client, utilisez la commande suivante     et connectez-vous comme vous le feriez normalement avec une session telnet: ssh nom-du serveur La première fois que vous utilisez ssh, le message suivant sera envoyé:

L'authenticité de l'hôte 'node.your-domain.com (XXX.XXX.XXX.XXX) 'ne peut être établi. L'empreinte de la clé RSA est XX: bl: ab: la: bl: aX: XX: af: 90: 8f: dc: 65: 0d: XX: XX: XX: XX: XX. Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? Oui Attention: ajouté en permanence 'node.your-domain.com,XXX.XXX.XXX.XXX'(RSA) à la liste des hôtes connus. utilisateur@node.your-domainMot de passe .com: Répondez oui. Il ne demandera plus.

Pour utiliser un nom d'utilisateur différent pour la connexion, indiquez-le sur la ligne de commande: ssh -l nom d'utilisateur nom du serveur

Note: Vous pouvez maintenant aussi utiliser la commande sftp pour des transferts de fichiers ftp sécurisés avec ssh.

OpenSSH Man Pages:

ssh – Client OpenSSH SSH (programme de connexion à distance) sshd – démon OpenSSH ssh ssh-keygen – Utilisé pour créer des clés RSA (clés d'hôte et clés d'authentification d'utilisateur) ssh_config – Fichier de configuration du client OpenSSH SSH sshd_config – Fichier de configuration du démon OpenSSH SSH ssh-add – ajoute les identités RSA ou DSA pour l'agent d'authentification. Utilisé pour enregistrer de nouvelles clés avec l'agent. scp – copie sécurisée (programme de copie de fichier à distance) ssh-agent – agent d'authentification     Ceci peut être utilisé pour conserver des clés RSA pour l'authentification. sftp – Programme de transfert de fichiers sécurisé sftp-server – sous-système de serveur SFTP

Autres liens OpenSSH: SSH pour les liens MS / Windows: Notes SSH:

Le sshd ne doit pas être démarré avec xinetd / inetd en raison du temps nécessaire pour effectuer     calculs quand il est initialisé. Le client ssh va rechercher la racine. sshd sur le serveur est exécuté en tant que root.     Les privilèges root sont nécessaires pour communiquer sur les ports inférieurs à 1024.     L'option -p peut être utilisée pour exécuter SSH sur un autre port. RSA est utilisé pour l'échange de clés et un chiffrement conventionnel (Blowfish par défaut)     est utilisé pour chiffrer la session. Le cryptage est démarré avant l’authentification, et aucun mot de passe ou autre     l'information est transmise en clair. Authentification:

La connexion est appelée par l'utilisateur.               Le client indique au serveur la clé publique que l'utilisateur souhaite utiliser.               utiliser pour l'authentification. Le serveur vérifie ensuite si cette clé publique est admissible. Si oui, un nombre aléatoire est généré et crypté avec le public                clé et envoie la valeur au client. Le client déchiffre ensuite le numéro avec sa clé privée et calcule une                somme de contrôle. La somme de contrôle est renvoyée au serveur Le serveur calcule une somme de contrôle à partir des données et compare les sommes de contrôle. L'authentification est acceptée si les sommes de contrôle correspondent.

SSH utilisera $ HOME / .rhosts (ou $ HOME / .shosts) Pour établir une connexion réseau sécurisée sur un autre port TCP, utilisez             Options "tunneling" avec la commande ssh:

Transférer le port local TCP vers hostport sur l'hôte distant: ssh hôte distant -L Port: localhost:commande hostport

Spécifier des ports inférieurs à 1024 nécessitera un accès root. FTP ouvre plusieurs ports et n’est donc pas un bon candidat. Le port 21 est seulement           utilisé pour établir la connexion.

Pages de manuel:

ssh – client shell sécurisé (programme de connexion à distance) sshd – démon shell sécurisé (serveur) ssh-keygen – Utilisé pour créer des clés RSA (clés d'hôte et clés d'authentification d'utilisateur) ssh-keyscan – récupère les clés publiques ssh ssh-add – ajoute des identités pour l'agent d'authentification Utilisé pour enregistrer de nouvelles clés avec l'agent. scp – copie sécurisée (programme de copie de fichier à distance) slogin sftp – client du programme de transfert de fichiers sécurisé. sftp-server – serveur de programme de transfert de fichiers sécurisé. ssh-agent – Agent d'authentification.     Ceci peut être utilisé pour conserver des clés RSA pour l'authentification. telnet – interface utilisateur avec le protocole TELNET

Documentation:

/ usr / share / doc / openssh-XXX / / usr / share / doc / openssh-askpass-XXX / /usr/share/doc/openssl-0.XXX/

Tester: Le renifleur de réseau Ethereal (maintenant Wireshark) était utilisé pour renifler les transmissions réseau entre le client et le serveur pour telnet et ssh avec les résultats suivants:

Testez la connexion telnet en texte clair: (port 23) Le texte envoyé par le client est un texte vert sur fond noir. Le reste du texte a été transmis par le serveur. Notez que l'identifiant ("JoeUser") et le mot de passe ("super-secret-password") ont été capturés.

Testez la connexion cryptée ssh: (port 22) Notez que tout l’échange de login et de mot de passe était crypté.

Fail2ban: bloquer les connexions échouées répétées

Tout site sur Internet public sera soumis à des attaques par mots de passe dictionnaires, essayant constamment de nouveaux mots, séquences de mots et séquences ASCII à partir de programmes d'attaque automatisés provenant de serveurs compromis. Utilisez fail2ban pour bloquer ces tentatives. Fail2ban examinera les fichiers journaux pour rechercher les tentatives de connexion infructueuses répétées et bloquera de manière temporaire ou permanente les adresses IP du système attaquant. La configuration par défaut de fail2ban examine le fichier journal sshd. / var / log / secure pour trouver le système attaquant et autorisera 5 tentatives de connexion infructueuses avant le blocage pendant 600 secondes (10 minutes).

Fail2ban peut être configuré pour surveiller les processus suivants:

sshd

smtp

Apache httpd

lumière

vsftpd

postfix

bind9 nommé

mysqld

astérisque

Installation:

Chapeau rouge: yum installer fail2ban

Ubuntu: sudo apt-get install fail2ban

Configuration:

/etc/fail2ban/fail2ban.conf

[Definition]

# 1 = ERREUR # 2 = WARN # 3 = INFO # 4 = DEBUG loglevel = 3

# Values: fichier STDOUT STDERR SYSLOG Par défaut: /var/log/fail2ban.log # Une seule cible de journal peut être spécifiée. logtarget = SYSLOG

socket = /var/run/fail2ban/fail2ban.sock pidfile = /var/run/fail2ban/fail2ban.pid

/etc/fail2ban/jail.conf (souvent copié dans jail.local et édité pour les directives locales)

[DEFAULT]

ignoreip = 127.0.0.1/8 bantime = 3600 findtime = 600 maxretry = 3 backend = auto usedns = non

[ssh-iptables] enabled = true filtre = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=user@megacorp.com] logpath = / var / log / secure maxretry = 3

Remarque: si votre serveur est attaqué, fail2ban peut livrer beaucoup de courrier électronique. Vous voudrez peut-être enlever le sendmail-whois déclaration. [DEFAULT] directives:

Directif La description

ignorer Les adresses IP à ne jamais interdire, comme votre système de passerelle. Plusieurs IP sont séparées par un espace. Ceci est votre liste blanche. Valeur par défaut 127.0.0.1 (localhost)

trouver le temps période au cours de laquelle l'échec se produit. Par exemple, 600 fait référence au nombre maximal d'échecs survenant pendant cette période de recherche sera banni. 600 secondes par défaut

maxretry spécifier le nombre d'échecs avant qu'une adresse IP ne soit bannie. Par défaut 3

bantime nombre de secondes qu'une adresse IP est bannie

activée true = surveiller le processus spécifié. false pour aucune surveillance. La valeur par défaut n'est vraie que pour sshd

Redémarrez après avoir modifié la configuration: service sudo fail2ban redémarrer

Configurez init pour démarrer fail2ban au démarrage: sudo chkconfig --level 345 fail2ban on

Voir aussi le fichier journal: / var / log / messages

Vérifiez le blocage des pirates informatiques: Affichez les règles de pare-feu générées par les connexions ayant échoué:

[host]# iptables -L Chaîne INPUT (politique ACCEPT) cible cible source opt opt fail2ban-SSH tcp - n'importe où n'importe où tcp dpt: ssh

Chaîne À SUIVRE (politique ACCEPTER) cible cible source opt opt

Chaîne OUTPUT (politique ACCEPT) cible cible source opt opt

Chain fail2ban-SSH (1 références) cible cible source opt opt REJETTEZ tous - 122.189.194.238 n'importe où rejetez-avec icmp-port-inaccessible REJET tout - 183.94.11.208 n'importe où rejetez-avec icmp-port-inaccessible REJETER tout - 58.218.204.132 n'importe où rejetez-avec icmp-port-inaccessible RETOURNEZ tout - n'importe où

Vérifier le statut fail2ban: Afficher le statut de sshd fail2ban:

[host]# fail2ban-client status Statut | - Nombre de prison: 1 `- Liste de prison: ssh-iptables

[host]# fail2ban-client status ssh-iptables Statut de la prison: ssh-iptables | - filtre | | - Liste de fichiers: / var / log / secure | | - Échec actuel: 0 | `- Total échoué: 102 `- action    | - Actuellement banni: 3    | `- Liste IP: 122.189.194.238 183.94.11.208 58.218.204.132    `- Total interdit: 26

Liens: rssh: shell restreint à utiliser avec OpenSSH sftp

FTP utilise un accès en texte clair à votre serveur. Cela convient si tous les systèmes du centre de données sont sécurisés et que personne ne peut renifler le réseau. Les configurations de routeur et de commutateur rendent pratiquement impossible le reniflage de la plupart des réseaux de nos jours, mais des problèmes de sécurité au niveau du centre de données sur un autre serveur peuvent entraîner des problèmes pour vos serveurs si vous autorisez les mots de passe non chiffrés utilisés par FTP.

VsFTPd permet également de limiter la vue du système de fichiers à ses propres répertoires. C'est bon. OpenSSH "sftp" ne fournit pas cette fonctionnalité (jusqu'à la version 4.9. RHEL / CentOS 5 utilisait OpenSSH 4.3). Le transfert de fichier "sftp" crypte les mots de passe (bien) mais nécessite également un accès shell (bash, csh, …) pour le compte permettant un accès complet au système de fichiers (mauvais). le rssh shell peut être utilisé avec sftp, scp, cvs, rsync, et rédiger et peuvent chrooter les utilisateurs vers leurs propres répertoires et limiter la fonction à un accès sftp uniquement (refuser l'accès au shell complet).

Pour les systèmes plus récents (RHEL6 / CentOS6 / Fedora 11) avec OpenSSH 4.9+, voir la configuration sftp chrootée préférée pour OpenSSH 4.9+.

La solution est d'utiliser rssh en tant que shell avec OpenSSH "sftp": Installation: rpm -ivh rssh-2.3.2-1.2.el5.rf.x86_64.rpm Cela installe:

/ usr / bin / rssh

/etc/rssh.conf

aussi programme de soutien / usr / libexec / rssh_chroot_helper et pages de manuel

Vérifiez la configuration installée: rssh -v Configuration:

Configuration OpenSSH: / etc / ssh / sshd_config

...

PermitUserEnvironment no

...

Sous-système sftp / usr / libexec / openssh / sftp-server

... Note de sécurité: Soyez également conscient du réglage AllowTcpForwarding qui contrôle la redirection de port.

Ajouter shell à la liste des shell utilisables: / etc / shells

/ bin / sh / bin / bash / sbin / nologin / bin / tcsh / bin / csh / bin / ksh / bin / zsh / opt / bin / ftponly / usr / bin / rssh Ubuntu: Vous pouvez utiliser la commande: add-shell / usr / bin / rssh

Changer le shell de l'utilisateur en rssh (choisissez une méthode)

Autoriser l'exécution à: chmod u / s / usr / libexec / rssh_chroot_helper Cela empêche l’erreur suivante dans / var / log / messages

20 déc. 00:23:44 nodex rssh_chroot_helper[27450]: chroot () a échoué, 2: opération non autorisée

Définir l'accès pour rssh: /etc/rssh.conf

logfacility = LOG_USER permetftp umask = 022 #chrootpath = / users / chroot

utilisateur = "utilisateur1: 022: 00010: / home /utilisateur1" Global security allowable options include: allowscp, allowcvs, allowrdist, allowrsync Specify global chroot or omit for none. Specific user security:

User login id First set of three number represent the umask Second set of five number represent the bitmask to allow

1 1 1 1 1

rsync rdist cvs sftp scp

Specify the global chrooted directory for all using rssh. If omitted, then not chrooted. Can be overwritten by user configuration.

Note: User configuration overrides the shared chroot settings. Omitted user settings do not default to shared chroot settings.

Configuring the chrooted directory:         This is true for a global user chroot or individual chroot.         In this example we will show a user chrooted to their own home directory /home/user1. When chrooted, the user does not have access to the rest of the filesystem and thus is blind to all of its executables and libraries.         It will therefore be necessary to copy local executables and libraries for their local use.

La description User directory System equivalent

System devices /home/user1/dev /dev

Configuration files /home/user1/etc /etc/etc/ld.so.cache /etc/ld.so.cache.d/*/etc/ld.so.conf - dynamic linker configuration/etc/nsswitch.conf/etc/passwd/etc/group/etc/hosts/etc/resolv.conf

Shared libraries (32 and 64 bit) /home/user1/lib/home/user1/lib64 /lib/lib64

Executables and libraries /home/user1/usr /usr/usr/libexec/openssh/sftp-server/usr/libexec/rssh_chroot_helper

Executables /home/user1/bin /bin

Use script to add chroot required files: /opt/bin/userchroot

#!/bin/bash # First and only argument ($1) is user id si [ -d /home/$1 ]; puis    USERDIR=/home/$1 autre    echo "Error: Directory /home/$1 does not exist"    sortie Fi

mkdir $USERDIR/etc mkdir $USERDIR/lib mkdir -p $USERDIR/usr/libexec/openssh mkdir -p $USERDIR/var/log mkdir $USERDIR/dev mknod -m 666 $USERDIR/dev/null c 1 3

cp -p /etc/ld.so.cache $USERDIR/etc # If directory exists si [ -d /etc/ld.so.cache.d ]; puis    cp -avRp /etc/ld.so.cache.d $USERDIR/etc Fi grep $1 /etc/passwd > $USERDIR/etc/passwd cp -p /etc/ld.so.conf $USERDIR/etc cp -p /etc/nsswitch.conf $USERDIR/etc cp -p /etc/group $USERDIR/etc cp -p /etc/hosts $USERDIR/etc cp -p /etc/resolv.conf $USERDIR/etc cp -ap /usr/libexec/openssh/sftp-server $USERDIR/usr/libexec/openssh/sftp-server cp -ap /usr/libexec/rssh_chroot_helper $USERDIR/usr/libexec/rssh_chroot_helper

# Authentication libraries required for login (32 bit and 64 bit systems) si [ -d /lib64 ]; puis    mkdir $USERDIR/lib64    cp -ap /lib64/libnss_files.so.? $USERDIR/lib64    cp -ap /lib64/libnss_files-*.so $USERDIR/lib64 autre    cp -p /lib/libnss_files.so.? $USERDIR/lib    cp -p /lib/libnss_files-*.so $USERDIR/lib Fi

FILES=`ldd /usr/libexec/openssh/sftp-server | perl -ne 's:^[^/]+::; s: (.*)$::; print;'` for ii in $FILES faire   rtdir="$(dirname $ii)" [ ! -d $USERDIR$rtdir ] && mkdir -p $USERDIR$rtdir || :   /bin/cp -p $ii $USERDIR$rtdir terminé  FILES=`ldd /usr/libexec/rssh_chroot_helper | perl -ne 's:^[^/]+::; s: (.*)$::; print;'` for ii in $FILES faire   rtdir="$(dirname $ii)" [ ! -d $USERDIR$rtdir ] && mkdir -p $USERDIR$rtdir || :   /bin/cp -p $ii $USERDIR$rtdir terminé

Remarque:

Blocking FTP: Setting up rssh does not turn off or block FTP access to your system. You must still turn off vsftp: /etc/init.d/vsftpd stop. There is little point to setting up secure chrooted sftp access with rssh and also running a FTP service.

Debugging:

One can pull in the full root path by issuing an internal mount:

mount --bind /dev /home/user1/dev mount --bind /dev /home/user1/lib mount --bind /dev /home/user1/lib64 mount --bind /dev /home/user1/usr

This technique can be used to narrow down the error to find which directory has the missing files. It should not be used as a final solution. Unmount when done: umount /home/user1/dev

If authenticating to ldap, nis, etc, pull in the appropriate libraries.     You can test with all: cp -p /lib/libnss_* /home/user1/lib This can be performed for /lib64 ainsi que.

Checklog files for errors: /var/log/messages

Man pages:

Using gFTP as a Linux sftp client:

Start program through menu or command line: gftp&

Select "FTP" from toolbar

Select "Options"

Select "SSH" tab Select "Apply" amd "Ok"

On the upper right hand side of the gftp window, select "SSH" from the pull-down menu.

Using FileZilla as a Linux sftp client:

Select "File" + "Site Manager"

Select "New Site" (bottom left)

Enter "Host:"

Choose "Servertype:" "SFTP using SSH2"

Select "Logontype:" "Normal"

Enter "User:" and click on "Connect".

Links:

Multi-platform GUI client FileZilla

MS/Windows client WinSCP (supports sftp)

SentryTools: PortSentry

This tool will monitor the network probes and attacks against your server. It can be configured to log and counter these probes and attacks. PortSentry can modify your /etc/hosts.deny (PAM module) file and issue IP firewall commands automatically to block hackers.

PortSentry can be loaded as an RPM but this tutorial covers compiling PortSentry from source to configure a more preferable system logging.

Note: Version 1.2 of portsentry can issue iptables, ipchains or route commands to thwart attacks. Iptables/Ipchains is a Linux firewall system built into the Linux kernel. Linux kernel 2.6/2.4 uses iptables, kernel 2.2 (old) uses ipchains. References to ipfwadm are for even older Linux kernels. Route commands can be used by any Unix system including those non-Linux systems which do not support Iptables/Ipchains.

Steps to install and configure portsentry:

Download and unzip source code Edit include file and compile Start PortSentry Read logs

Download and unzip source code:

Edit include file and compile: cd portsentry_beta/ Read file README.install. It details the following:

Edit file: portsentry_config.h

Set file paths and configure separate log file for Portsentry: Set options:

CONFIG_FILE – PortSentry run-time configuration file. WRAPPER_HOSTS_DENY – The path and name of TCP wrapper hosts.deny file.

#define CONFIG_FILE "/opt/portsentry/portsentry.conf" #define WRAPPER_HOSTS_DENY "/etc/hosts.deny" #define SYSLOG_FACILITY LOG_DAEMON - Default. Change to LOG_LOCAL6

#define SYSLOG_LEVEL LOG_NOTICE (Note: I use /opt/portsentry/ because I like to locate "optional"           files/software there.           It allows for an easy backup by separating it from the OS.           If you prefer, you can use /etc/portsentry/ pour           configurations files and follow the Linux/Unix file system logic) The above default, "LOG_DAEMON", will log messages to the /var/log/messages file. To log to a separate file dedicated to PortSentry logging: (This will eliminate logging clutter in the main system logging file)

Add logging directives to syslogd configuration file: /etc/syslog.conf Change the following line by adding an extra log facility for portsentry messages which are              not going to be logged to the regular syslog output              fichier /var/log/messages.              This lists what messages to filter out from /var/log/messages. *.info;mail.none;news.none;authpriv.none;cron.none;local6.none /var/log/messages Add the following line to assign a portsentry log facility: local6.* /var/log/portsentry.log Note: Use tab not spaces in the syslog configuration file. Restart syslogd: /etc/init.d/syslog restart

Ensemble portsentry_config.h entry to new log facility: Change from default setting:

#define SYSLOG_FACILITY LOG_DAEMON To:

#define SYSLOG_FACILITY LOG_LOCAL6

FYI: Options for the SYSLOG_FACILITY are defined in /usr/include/sys/syslog.h They include:

SYSLOG_FACILITY Facility Name La description

LOG_LOCAL0 local0 reserved for local use

LOG_LOCAL1 local1 reserved for local use

LOG_LOCAL2 local2 reserved for local use

LOG_LOCAL3 local3 reserved for local use

LOG_LOCAL4 local4 reserved for local use

LOG_LOCAL5 local5 reserved for local use

LOG_LOCAL6 local6 reserved for local use

LOG_LOCAL7 local7 reserved for local use

LOG_USER utilisateur random user-level messages

LOG_MAIL courrier mail system

LOG_DAEMON démon system daemons

LOG_SYSLOG syslog messages generated internally by syslogd

LOG_LPR lpr line printer subsystem

LOG_NEWS nouvelles network news subsystem

LOG_UUCP uucp UUCP subsystem

LOG_CRON cron clock daemon

LOG_AUTHPRIV authpriv security/authorization messages (private)

LOG_FTP ftp ftp daemon

Options for the SYSLOG_LEVEL include:

SYSLOG_LEVEL Priorité La description

LOG_EMERG 0 system is unusable

LOG_ALERT 1 action must be taken immediately

LOG_CRIT 2 critical conditions

LOG_ERR 3 error conditions

LOG_WARNING 4 warning conditions

LOG_NOTICE 5 normal but significant condition

LOG_INFO 6 informatif

LOG_DEBUG 7 debug-level messages

Edit file: portsentry.conf to set paths for configuration files and ports to monitor.

TCP_PORTS="1,11,15,20,21,23,25,69,79, ... " UDP_PORTS="1,7,9,69,161,162,513,635, ... "

... ...

IGNORE_FILE="/opt/portsentry/portsentry.ignore" HISTORY_FILE="/opt/portsentry/portsentry.history" BLOCKED_FILE="/opt/portsentry/portsentry.blocked" #KILL_ROUTE="/sbin/route add -host $TARGET$ reject" - Generic Unix KILL_ROUTE I prefer iptables/ipchains options below Un-comment and modify if necessary the appropriate statements. le TCP_PORTS=, UDP_PORTS= lists are ignored for stealth scan detection modes. Add common but unused services. i.e. add port 25 if the system is not accepting email as port 25 is included in most scans. I added UDP port 68 (BOOTP) and TCP 21 (ftp), 22 (ssh), 25 (smtp mail), 53 (dns bind), 80 (http web server), 119 (news) to the ADVANCED_EXCLUDE_UDP and ADVANCED_EXCLUDE_TCP statements respectively.

ADVANCED_EXCLUDE_TCP="21,22,25,53,80,110,113,119" - server

ADVANCED_EXCLUDE_UDP="21,22,53,110,520,138,137,68,67" OU ADVANCED_EXCLUDE_TCP="113,139" - workstation

ADVANCED_EXCLUDE_UDP="520,138,137,68,67" PAM options:

KILL_HOSTS_DENY="ALL: $TARGET$"

For more on PAM see YoLinux network Admin Tutorial

Choose one option: (Options: network "route" or firewall command "iptables/ipchains")

For those using iptables (Linux Kernel 2.6/2.4+): KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP" (Note: The default used in portsentry.conf utilise le                incorrect path for Red Hat.                Changement /usr/local/bin/iptables à /sbin/iptables) For Linux 2.2.x kernels (version 2.102+) using ipchains: (Best option) KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l" OU KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY" Remarque: The second option is without the "-l" or logging option so ipchains won't keep logging the portscan in /var/log/messages Simple method to drop network return routes if iptables or ipchains are not compiled into your kernel: KILL_ROUTE="/sbin/route add -host $TARGET$ reject" You can check the addresses dropped with the command: netstat -rn They will be routed to interface "-".

Red Hat: Portsentry uses iptables (and it must be running) and not the older ipchains. To see if iptables is invoked during system boot, use the command: chkconfig --list | grep iptables. You can NOT use portsentry to issue iptables rules if your kernel is configured to use ipchain rules. More info on iptables and ipchains support/configuration in Red Hat.

Edit file: portsentry.ignore (contains IP addresses to ignore. )

127.0.0.1 0.0.0.0 Your IP address The at Home network routinely scans for news servers on port 119 from          a server named authorized-scan1.security.home.net.          Adding the IP address of this server (24.0.0.203)          greatly reduces the logging. I also added their BOOTP server.          (24.9.139.130)

I manually issued the iptables (kernel 2.6/2.4)          commands on my workstation          to drop the hosts and deny their scans.          At Home users may add the commands to the file /etc/rc.d/rc.local

/sbin/iptables -I INPUT -s 24.0.0.203 -j DROP /sbin/iptables -I INPUT -s 24.9.139.130 -j DROP

Edit file: Makefile

INSTALLDIR = /opt And remove the line under "uninstall": (dangerous line!!)

# /bin/rmdir $(INSTALLDIR) And remove the line under "install": (troublesome line!!) # chmod 700 $(INSTALLDIR) To: # chmod 700 $(INSTALLDIR)/$(CHILDDIR)

Compile: make linux

Fix the following compile errors in portsentry.c

Changement printf ("Copyright 1997-2003 Craig H. Rowland <craigrowland at users dot sourceforget dot net>n"); to one line: printf ("Copyright 1997-2003 Craig H. Rowlandn"); Fix warning: warning: passing argument 3 of ‘accept’ from incompatible pointer type Separate and change declaration of "length" to: unsigned int length;

Install (as root): make install

Run PortSentry for advanced UDP/TCP stealth scan detection:

portsentry -atcp portsentry -audp

OU use init scripts below in next section.

Check logfile for hacker attacks. Voir: /var/log/messages ou /var/log/portsentry.log if you are logging to a dedicated file. Also check /etc/hosts.deny to see a list of IP addresses that     PortSentry has deemed to be attackers. Check the "HISTORY_FILE" /opt/portsentry/portsentry.history

Note: Is is possible to have all logging sent to a logging daemon on a single server. This will allow the administrator to check the logs on only one server rather than individually on many.

Note on Red Hat RPMs: RPM layout:

/usr/sbin/portsentry – (chmod 700) executable /etc/portsentry/ – (chmod 700) Directory used for configuration files. /etc/portsentry/portsentry.conf (chmod 600) /etc/portsentry/portsentry.ignore (chmod 600) /var/portsentry/portsentry.history /var/portsentry/portsentry.blocked

Instead of using a firewall command (ipchains/iptables), a false route is used: /sbin/route add -host $TARGET$ gw 127.0.0.1. My init script calls the portsentry executable twice with the appropriate command line arguments to monitor tcp and udp ports. The Red Hat RPM init script uses the file /etc/portsentry/portsentry.modes and a for loop in the init script to call portsentry the appropriate number of times. Their init script also recreates the portsentry.ignore file each time portsentry is started by including the IP addresses found with ip addr show ou ifconfig and the addresses 0.0.0.0 and localhost. Persistent addresses must be placed above a line stating: Do NOT edit below this otherwise it is not included in the creation of the new file. The Red Hat RPM portsentry version logs everything to /var/log/messages. My configuration avoids log clutter by logging to a separate file.

Notes on DOS (Denial of Service) possibility: If portsentry is configured to shut down an attack with firewall rules, an attacker may use this feature to slow down your machine over time by creating a huge set of firewall rules. It would require the hacker to use (or spoof) a new IP address each time. It is probably a good idea to monitor or even clear the firewall rules from time to time.

iptables:

List firewall rules: iptables -L Clear firewall rules: iptables -F

ipchains:

List firewall rules: ipchains -L Clear firewall rules: ipchains -F

Clean-up script: /etc/cron.monthly/reset-chainrules (-rwx------ 1 root root) This script is run automatically once a week by cron. (The presence of this script in this directory for the Red Hat configuration makes it so)

#!/bin/bash # Purge and re-assign chain rules ipchains -F ipchains -A input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT ipchains -A input -p udp -s 0/0 -d 0/0 2049 -j REJECT ipchains -A input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECT ipchains -A input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT ipchains -A input -p tcp -s 0/0 -d 0/0 515 -y -j REJECT ipchains -A input -p udp -s 0/0 -d 0/0 515 -j REJECT ipchains -A input -p tcp -s 0/0 -d 0/0 111 -y -j REJECT ipchains -A input -p udp -s 0/0 -d 0/0 111 -j REJECT ipchains -A input -j REJECT -p all -s localhost -i eth0 -l

Regarde aussi:

Other tools to detect portscans and network based hacker attacks:

scanlogd – Attack detection. InterSect Alliance – Intrusion analysis. Identifies malicious or unauthorized access attempts. snort – Instead of monitoring a single server with portsentry, snort monitors the network, performing real-time traffic analysis and packet logging on IP networks for the detection of an attack or probe. Also see: YoLinux IDS and Snort links

Using an init script to start and stop the portsentry program. Init configuration: /etc/rc.d/init.d/portsentry The init script needs to be executable: chmod a+x /etc/rc.d/init.d/portsentry After adding the following script, enter it into the init process with     the command: chkconfig --add portsentry ou chkconfig --level 345 portsentry on See YoLinux Init Tutorial for more information.

#!/bin/bash # # Startup script for PortSentry # # chkconfig: 345 85 15 # description: PortSentry monitors TCP and UDP ports for network attacks # # processname: portsentry # pidfile: /var/run/portsentry.pid # config: /opt/portsentry/portsentry.conf # config: /opt/portsentry/portsentry.ignore # config: /opt/portsentry/portsentry.history # config: /opt/portsentry/portsentry.blocked

# Source function library. . /etc/rc.d/init.d/functions

# Source networking configuration. . /etc/sysconfig/network

# Check that networking is up. [ $NETWORKING = "no" ] && exit 0

# See how we were called. case "$1" in   start) echo -n "Starting portsentry: " daemon /opt/portsentry/portsentry -atcp /opt/portsentry/portsentry -audp écho touch /var/lock/subsys/portsentry ;;   stop) echo -n "Shutting down portsentry: " killproc portsentry écho rm -f /var/lock/subsys/portsentry rm -f /var/run/portsentry.pid ;;   status) status portsentry ;;   restart) $0 stop $0 start ;;   reload) echo -n "Reloading portsentry: " killproc portsentry -HUP écho ;;   *) echo "Usage: $0 stop" sortie 1 esac

exit 0

Logrotate Configuration: Create the following file to have your logs rotate.

Fichier: /etc/logrotate.d/portsentry

/var/log/portsentry.log vrai     endscript

Also see the YoLinux Sys Admin tutorial covering logrotate.

Tests:

Portscan your workstation – Use your web browser to go to this site. Select "Probe my ports" and it will scan you. You can then look at the file /opt/portsentry/portsentry.blocked.atcp to see that portsentry dropped the scanning site: Host: shieldsup.grc.com/207.71.92.221 Port: 23 TCP Blocked The file /var/log/portsentry.log will show the action taken:

portsentry[589]: attackalert: SYN/Normal scan from host: shieldsup.grc.com/207.71.92.221 to TCP port: 23  portsentry[589]: attackalert: Host 207.71.92.221 has been blocked via wrappers with string: "ALL: 207.71.92.221"  portsentry[589]: attackalert: Host 207.71.92.221 has been blocked via dropped route using command:    "/sbin/ipchains -I input -s 207.71.92.221 -j DENY -l"

nmap: portscanner – This is the hacker tool responsible for many of the portscans you may be receiving.

Command arguments:

Argument La description

-sO IP scan. Find open ports.

-sT TCP scan. Full connection made.

-sS SYN scan (half open scan). This scan is typically not logged on receiving system.

-sP Ping ICMP scan.

-sU UDP scan.

-P0 Don't ping before scan.

-PT Use ping to determine which hosts are available.

-F Fast scan. Scan for ports listed in configuration.

-T Set timing of scan to use values to avoid detection.

-O Determines operating system.

-p 1000-1999,5000-5999 Scan port ranges specified.

Also see: nmap man page for a full listing of nmap command line arguments. Exemples: nmap -sT -F IP-address Scan nmap -sS -F IP-address SYN Scan nmap -sU -F IP-address Scan UPD ports nmap -sF -F IP-address FIN Scan nmap -O -F IP-address Determine OS nmap -p22 -F -O IP-address nmap -p 1-30,40-65535 IP-Address Scan given port ranges Add the option -v (verbose) or -vv (super verbose) for more info. The ports will be determined to be open, filtered or firewalled.

Sample output from command: nmap -sS -F -O IP-Address Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ ).....(The 1067 ports scanned but not shown below are in state: closed)Port State Service21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 111/tcp open sunrpc - Shut down the portmap (RPC) daemon: /etc/rc.d/init.d/portmap stop 137/tcp filtered netbios-ns - Turn off netbios services: /etc/rc.d/init.d/smb stop 138/tcp filtered netbios-dgm 139/tcp filtered netbios-ssn

TCP Sequence Prediction: Class=random positive increments                          Difficulty=2727445 (Good luck!) Remote operating system guess: Linux 2.1.122 - 2.2.16

Nmap run completed -- 1 IP address (1 host up) scanned in 36 seconds

nmap/nmapfe: nmapfe = nmap front end – GUI front end to nmap.     It's an amazingly easy and useful tool which will help     you make discoveries about your servers before the hackers do. Linux packages:

Red Hat RPMs: nmap-XXX.x86_64.rpm, nmap-frontend-XXX.noarch.rpm (GTK+ GUI) Ubuntu: nmap, zenmap

Links:

Tripwire: (security monitoring)

Tripwire monitors your file system for changes. Tripwire is used to create an initial database of information on all the system files then runs periodically (cron) to compare the system to the database.

Use the command tripwire --version ou rpm -q tripwire to determine the version.

Red Hat includes Tripwire as an optional package during install. The Ubuntu/Debian install is as easy as apt-get install tripwire. Upon installation it will proceed to scan your entire filesystem to create a default database of what your system looks like. (files and sizes etc) It took about ten minutes to run on my server!

Tripwire configuration files:

Tripwire 2.3.0:

/etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt

These files are first edited and then processed by the script /etc/tripwire/twinstall.sh which configures Tripwire after the     installation of the Tripwire RPM package.

Edit and change file: /etc/tripwire/twcfg.txt Change: LOOSEDIRECTORYCHECKING =false à LOOSEDIRECTORYCHECKING=TRUE

This was recommended in the comments of the file twpol.txt Edit and change file: /etc/tripwire/twpol.txt Change: severity = $(SIG_XXX) à severity = $(SIG_XXX),emailto = root@localhost ou severity = $(SIG_XXX),emailto = root@localhost;admin@isp.com où XXX is the severity level.     This will cause Tripwire to email a report of discrepancies for the     rule edited. Set the email address to one appropriate for you. I also added:

"User binaries" rule: directory /opt/bin "Libraries" rule: directory /opt/lib

I removed/commented out:

the rule "System boot changes" as it reports changes due to system boot. Rule: "Root config files": Many of the non-existent files listed under /root were commented out to reduce the number of errors reported. Rule "File System and Disk Administraton Programs": Many of the non-existent binaries listed under /sbin were commented out to reduce the number of errors reported.

After configuration files have been edited run the script: /etc/tripwire/twinstall.sh The script will ask for a "passphrase" for the site and local system.     This is a similar concept to a password – remember it! If at any point you want to     make configuration/policy changes, edit these files and re-run the     configuration script. The script will generate the true configuration     files used by Tripwire:

/etc/tripwire/tw.cfg (View with command: twadmin --print-cfgfile) /etc/tripwire/tw.pol (View with command: twadmin --print-polfile) /etc/tripwire/site.key /etc/tripwire/ServerName-a-local.key

These files are binary and not human readable.

Tripwire 1.2-3 (Red Hat 6.2 Powertools): /etc/tw.config

Tripwire initialization:

If at any time you change the configuration file to monitor your system differently or install an upgrade (changes a whole lot of files which will "trip" tripwire into reporting all changes) you may want to generate a new database.

Tripwire 2.3.0-58: /usr/sbin/tripwire --init You will be prompted for your "local passphrase". This will generate a tripwire database file: /var/lib/tripwire/ServerName-a.twd

Tripwire 1.2-3: /usr/sbin/tripwire -initialize This will generate a tripwire database file: ./databases/tw.db_ServerName If you are in root's home directory, this will create the file /root/databases/tw.db_ServerName At this point copy it to a usable location:

cp -p /root/databases/tw.db_ServerName /var/spool/tripwire/tw.db_ServerName Don't change /etc/tw.config without first running tripwire -initialize otherwise it will show differences due to settings in tw.config file rather than true differences.

Cron and tripwire:

Cron runs tripwire:

Tripwire 2.3.0-58: Fichier: /etc/cron.daily/tripwire-check

#!/bin/sh HOST_NAME=`uname -n` si [ ! -e /var/lib/tripwire/$HOST_NAME.twd ] ; puis         echo "**** Error: Tripwire database for $HOST_NAME not found. ****"         echo "**** Run "/etc/tripwire/twinstall.sh" and/or "tripwire --init". ****" autre         test -f /etc/tripwire/tw.cfg && /usr/sbin/tripwire --check Fi

You may move this cron script to the directory /etc/cron.weekly/ to reduce reporting from a daily to a weekly event. Tripwire reports will be written to: /var/lib/tripwire/report/HostName-Date.twr

Tripwire 1.2-3: Fichier: /etc/cron.daily/tripwire.verify script which runs the command: /usr/sbin/tripwire -loosedir -q Note: You may want to move the script to /etc/cron.weekly/tripwire.verify to reduce email reporting to root.

Read tripwire report:

Tripwire 2.3.0-58: twprint --print-report -r /var/lib/tripwire/report/report-file.twr

Interactive mode:

Tripwire 1.2-3: Update tripwire database – run: tripwire -interactive This will allow you to respond Y/N to files if they should be permanently updated in the tripwire database. This will still run tripwire against the whole file system.  I ran it from /root and it updated /root/databases/tw.db_ServerName You must then cp -p to /var/spool/tripwire/ to update the tripwire database.

Default configuration file:

Tripwire 2.3.0-58: /etc/twcfg.txt ROOT =/usr/sbinPOLFILE =/etc/tripwire/tw.polDBFILE =/var/lib/tripwire/$(HOSTNAME).twdREPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twrSITEKEYFILE =/etc/tripwire/site.keyLOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.keyEDITOR =/bin/viLATEPROMPTING =falseLOOSEDIRECTORYCHECKING =falseMAILNOVIOLATIONS =trueEMAILREPORTLEVEL =3REPORTLEVEL =3MAILMETHOD =SENDMAILSYSLOGREPORTING =falseMAILPROGRAM =/usr/sbin/sendmail -oi -t

Tripwire 1.2-3: /etc/tw.config # Log file@@define LOGFILEM E+pugn# Config file@@define CONFM E+pinugc# Binary@@define BINM E+pnugsci12# Directory@@define DIRM E+pnug# Data file (same as BIN_M currently)@@define DATAM E+pnugsci12# Device files@@define DEVM E+pnugsc# exclude all of /proc=/proc E#=/dev @@DIRM/dev @@DEVM#=/etc @@DIRM/etc @@CONFM# Binary directories#=/usr/sbin @@DIRM/usr/sbin @@BINM#=/usr/bin @@DIRM/usr/bin @@BINM#=/sbin @@DIRM/sbin @@BINM#=/bin @@DIRM/bin @@BINM#=/lib @@DIRM/lib @@BINM#=/usr/lib @@DIRM/usr/lib @@BINM=/usr/src E=/tmp @@DIRM Ajouter: /var/named @@CONFM - If you are running Bind DNS slave

/home/httpd/cgi-bin @@BINM Delete/comment out: #/dev @@DEVM This eliminated the reporting of too much junk due to a reboot of the system.

Man pages:

Tripwire 2.3.0-58:

tripwire – a file integrity checker for UNIX systems twintro – introduction to Tripwire software twadmin – Tripwire administrative and utility tool twprint – Tripwire database and report printer siggen – signature gathering routine for Tripwire twconfig – Tripwire configuration file reference twpolicy – Tripwire policy file description reference (For file /etc/tripwire/twpol.txt) twfiles – Overview of files used by Tripwire and file backup process

Regarde aussi:

CHKROOTKIT: Performing a trojan/worm/virus file scan.

Tripwire will monitor your filesystems for intrusion or addition of a file so you may determine what changes have occurred on your system in sensitive areas. Chkrootkit will scan your system for known exploits, Trojan commands, and worms used to compromise a system.

Download chkrootkit from http://www.chkrootkit.org. It is a shell script which should be run as root as well as a small collection of C programs.

Installation:

avoir du sens (Compile C programs) ./chkrootkit (Run shell script and call programs.)

Usage:

./chkrootkit OU ./chkrootkit -h (help)

See the README file for more info.

Remarque:

This software is constantly being upgraded and updated to include     scans for new exploits. If running portsentry, chkrootkit may return a false error while performing the bindshell test.

NESSUS: Performing a network vulnerability scan/security assessment of your system.

Let me start by saying that this should only be performed on your own systems. It is considered and attack to run this against the systems of others and legal action may be taken against you for performing such an audit. This is not a scan like NMAP. NESSUS will search and locate vulnerabilities on your system by actively trying to perform known exploits against the système.

Nessus is amazingly complete and effective. In fact it is awesome!! It will identify services on your system and try to exploit them. If a vulnerability is found it will make recommendations about upgrades, configuration changes and where to find patches. It will also explain any causes for concern in detail and explain why your system is vulnerable. And that's not all! It can output reports in various formats including HTML with pie charts and bar charts!! The HTML reports will have hyperlinks to the security reports, upgrades and patches. (I'm impressed) It can scan Unix, Linux and Windows systems for vulnerabilities.

Remarque:

Running "Dangerous Plugins" may cause a crash of the system being audited!!

The NESSUS software is available from http://Nessus.org. If compiling source:

Edit file: nessus-core/include/config.h (Set USE_AF_UNIX to define socket type)

It is also available in RPM form: (See http://freshrpms.net)

nessus-client-….rpm nessus-common-….rpm nessus-plugins-….rpm nessus-server-….rpm : Nessus plugins which are used to perform the various checks. (Scripts in nasl scripting language) Note that the RPM installs an init script which starts nessusd during boot. Disable avec chkconfig --del nessusd nessus-devel-….rpm : Nessus development libraries and headers.

Running NESSUS:

Configuration file: /etc/nessus/nessusd.conf

You may also consider a popular branch of Nessus, OpenVAS: Open Vulnerability Assessment System

Useful links and resources:

Livres:

"Linux Firewalls" by Robert L. Ziegler, Carl Constaintine ISBN #0735710996, New Riders 10/2001

This is the newer version. It includes updates on the Linux 2.4 kernel,     VPN's and SSH.

"Linux Firewalls" Robert L. Ziegler ISBN #0-7357-0900-9, New Riders 11/1999

Most complete Linux firewall/security book in publication.     Covers ipchains, bind and a complete review of possible firewall configurations.

"Hack Proofing Linux : A Guide to Open Source Security" by James Stanger, Patrick T. Lane ISBN #1928994342, Syngress

"Real World Linux Security: Intrusion Prevention, Detection and Recovery" by Bob Toxen ISBN #0130281875, Prentice Hall

"Hacking Linux Exposed" by Brian Hatch, James B. Lee, George Kurtz ISBN #0072225645, McGraw-Hill (2nd edition)

From the same authors of "Hacking Exposed".

"Maximum Linux Security: A Hacker's Guide to Protecting Your Linux Server and Workstation" by Anonymous and John Ray ISBN #0672321343, Sams

Covers not only audit and protection methods but also investigates and     explains the attacks and how they work.

"Network Intrusion Detection: An Analyst's Handbook" by Stephen Northcutt, Donald McLachlan, Judy Novak ISBN #0735710082, New Riders Publishing

"SSH, the Secure Shell : The Definitive Guide" by Daniel J. Barrett, Richard Silverman ISBN #0596000111, O'Reilly & Associates

"Nessus Network Auditing (Jay Beale's Open Source Security)" by Renaud Deraison, Noam Rathaus, HD Moore, Raven Alder, George Theall, Andy Johnston, Jimmy Alderson ISBN #1931836086, Syngress

"Computer Security Incident Handling Step by Step" by Stephen Northcutt ISBN #0967299217

"Security Assessment: Case Studies for Implementing the NSA IAM" by Russ Rogers, Greg Miles, Ed Fuller, Ted Dykstra ISBN #1932266968, Syngress

"Network Security Assessment" by Chris McNab ISBN #059600611X, O'Reilly

"A Practical Guide to Security Assessment" by Sudhanshu Kairab ISBN #0849317061, Auerbach Publications

"Aggressive Network Self-defense" by NEIL R. WYLER ISBN #1931836205, Syngress Publishing

Security Source Magazine Security Source Magazine's cover story is about keeping the network secure, from the gateway to the desktop. Subscribe now and continue to learn about valuable security topics and strategies in each quarterly issue.

LibreSubscription

Info Security Magazine Business and management of information security. C'est un international magazine, with an European focus. It is published in both print and digital editions, the latter containing the full content of the print publication, accessible via the web. Its experienced editorial team delivers stories that deal with the big picture issues of information security. Our sources and columnists are the expert security researchers and practitioners who define, drive, and lead the field. And our journalists are in demand by the IT trade and broadsheet press.

LibreSubscription

Click to rate this post! [Total: 0 Average: 0]

Topics and keywords

Themes: Serveur d'impression

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.