{"id":45,"date":"2015-10-21T11:48:47","date_gmt":"2015-10-21T10:48:47","guid":{"rendered":"http:\/\/blog.vincentcharles.ovh\/?p=45"},"modified":"2018-03-15T11:09:14","modified_gmt":"2018-03-15T10:09:14","slug":"securiser-son-serveur-linux-partie-2","status":"publish","type":"post","link":"https:\/\/blog.vincentcharles.ovh\/index.php\/2015\/10\/21\/securiser-son-serveur-linux-partie-2\/","title":{"rendered":"S\u00e9curiser son serveur Linux (Partie 2)"},"content":{"rendered":"<p>On va pousser la s\u00e9curit\u00e9 d&rsquo;un cran au dessus. Normalement, si vous avez suivi le premier tutorial, vous avez un acc\u00e8s SSH plus sur qui emp\u00eache dans un premier temps n&rsquo;importe qui d\u2019acc\u00e9der au root. De plus l&rsquo;acc\u00e8s ssh est restreint \u00e9galement donc plus de s\u00e9curit\u00e9.<\/p>\n<p><!--more--><\/p>\n<p>Maintenant (je l&rsquo;avais promis), on passe aux choses s\u00e9rieuses :<\/p>\n<ul>\n<li>Cr\u00e9ation de r\u00e8gles iptables (configuration du firewall)<\/li>\n<li>Protection d&rsquo;intrusions (Portsentry, Fail2ban, Snort, Rkhunter)<\/li>\n<li>Surveillance des logs (logwatch)<\/li>\n<li>Testons maintenant notre serveur (scan de ports et vuln\u00e9rabilit\u00e9s)<\/li>\n<\/ul>\n<h2>Configuration d&rsquo;iptables (firewall)<\/h2>\n<p>Iptables ? C&rsquo;est LE firewall de Linux. C&rsquo;est pas mieux, ni moins bien qu&rsquo;un autre (si si, celui de Windows est tr\u00e8s bien s&rsquo;il est bien configur\u00e9) ; tout d\u00e9pend de sa configuration. En fait, je vous propose ici une m\u00e9thode mais il existe d&rsquo;autres choses. Vous devez bien sur avoir iptables d&rsquo;install\u00e9, mais c&rsquo;est normalement le cas (sinon aller voir le internet comment on fait).<\/p>\n<p>Ma strat\u00e9gie est la suivante : on bloque tout (toutes les entr\u00e9es, toutes les sorties et m\u00eame tous le traffic traversant). Pour les entr\u00e9es et les sorties, pas besoin de dessin je pense par contre pour le traffic traversant l&rsquo;id\u00e9e est d&#8217;emp\u00eacher une connexion \u00e9tablie sur un port d&rsquo;\u00eatre rout\u00e9 \u00e0 travers notre machine (utile si on ne veut pas \u00eatre la superbe passerelle entre un pirate lambda et la cible).<\/p>\n<p>Je vous mets le d\u00e9but du fichier, la suite est fonction de votre r\u00e9seau, serveur&#8230; Chez moi, c&rsquo;est <em>iptables.sh<\/em><\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">#!\/bin\/bash\n\n### Autoriser toutes les connexions\niptables -P INPUT ACCEPT\niptables -P FORWARD ACCEPT\niptables -P OUTPUT ACCEPT\n\n### Vider les tables actuelles\niptables -t filter -F\n\n### Vider les r\u00e8gles personnelles\niptables -t filter -X\n\n### --&gt; Les lignes ci-dessous doivent \u00eatre r\u00e9alis\u00e9es permier ###\n### Connexions d\u00e9j\u00e0 \u00e9tablies\niptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\niptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT\n### Accepte le SSH 22 TCP\niptables -A INPUT -p tcp --dport 22 -j ACCEPT\niptables -A OUTPUT -p tcp --dport 22 -j ACCEPT\n### Accepte la boucle Localhost\niptables -t filter -A INPUT -i lo -j ACCEPT\niptables -t filter -A OUTPUT -o lo -j ACCEPT\n### Accepte le ping de la machine\niptables -t filter -A INPUT -p icmp -j ACCEPT\niptables -t filter -A OUTPUT -p icmp -j ACCEPT\n### --&gt; Les lignes ci-dessus doivent \u00eatre r\u00e9alis\u00e9es en premier ##\n\n##########################################################\n### ATTENTION LES LIGNES JUSTE DESSOUS SONT DANGEREUSES ##\n##########################################################\n### Interdire toute connexion entrante et sortante\niptables -P INPUT DROP\niptables -P FORWARD DROP\niptables -P OUTPUT DROP\n##########################################################\n### ATTENTION LES LIGNES JUSTE DESSUS SONT DANGEREUSES ###\n##########################################################\n\n### Serveur DNS (si install\u00e9)\niptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT\niptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT\niptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT\niptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT\n\n### NTP (Serveur de temps, MAJ de l&#039;heure via internet)\niptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT\n\n### HTTP\/HTTPS (Serveur web en sortie)\niptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT\niptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT\n\n### HTTP\/HTTPS (Serveur web en entr\u00e9e)\niptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT\niptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT<\/code><\/pre><\/figure>\n<p>Pour l&rsquo;appliquer, j&rsquo;utilise \u00e0 chaque d\u00e9marrage ce script que je lance via <em>\/etc\/rc.local<\/em>. Comme \u00e7a je suis tranquille.<\/p>\n<p>Je n&rsquo;ai volontairement pas cr\u00e9\u00e9 de r\u00e8gle pour MySQL par exemple (port par d\u00e9faut : 3306) parceque je n&rsquo;utilise ma base de donn\u00e9e que pour mon site local. Bien sur, si d&rsquo;autres machines doivent se connecter \u00e0 la base de donn\u00e9es, vous devez ouvrir le port, au moins en entr\u00e9e (les connections \u00e9tablies pourront ressortir selon les premi\u00e8res r\u00e8gles). Ainsi de suite avec tous vos services.<\/p>\n<p>On pourrait \u00eatre plus restrictif en n&rsquo;autorisant que certaines IP \u00e0 acc\u00e9der au serveur, mais \u00e7a pose un probl\u00e8me de taille : les BOX ADSL change d&rsquo;IP souvent, donc vous seriez dans l&rsquo;incapacit\u00e9 de contacter votre machine.<\/p>\n<h3>Protection initiale Flood\/Scanning de ports<\/h3>\n<p>On peut \u00e0 partir d&rsquo;iptables commencer une protection contre le flood (attaque par d\u00e9passement des capacit\u00e9s du serveur en lui soumettant beaucoup de requ\u00eates \u00e0 la fois) et contre le scanning de ports (tr\u00e8s sommairement). Enfin, vous pouvez ajouter ici des IPs que vous souhaitez bannir d\u00e9finitivement de votre machine (si vous rep\u00e9rez par exemple toujours la m\u00eame machine qui veut se connecter sans raison \u00e0 votre serveur).<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">#!\/bin\/bash\n\n### Configuration avanc\u00e9e du firewall (ajout d&#039;un premier niveau de protection Flood\/Scan)\n\n### Protection basique contre le flood (Denis de Service) DDOS\niptables -A FORWARD -p tcp --syn -m limit --limit 1\/second -j ACCEPT\niptables -A FORWARD -p udp -m limit --limit 1\/second -j ACCEPT\niptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1\/second -j ACCEPT\n\n### Scan de ports basique\niptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1\/s -j ACCEPT\n\n### Bannir une IP d\u00e9rangeante\n### Template iptables -A INPUT -s adresse_ip -j DROP\n#iptables -A INPUT -s x.x.x.x -j DROP<\/code><\/pre><\/figure>\n<h2>Protection d&rsquo;intrusions<\/h2>\n<p>Actuellement, le firewall va bloquer toutes tentatives de connexions sur les ports ferm\u00e9s. Mais qu\u2019en est-il des ports ouverts ? Afin de contr\u00f4ler plus pr\u00e9cis\u00e9ment ce qui se passe dessus, le firewall n\u2019est pas suffisant et nous allons devoir utiliser d\u2019autres outils, appel\u00e9s IDS (<em>Intrusion Detection System<\/em>) et IPS (<em>Intrusion Prevention System<\/em>). Ces deux cat\u00e9gories de logiciels vont &#8211; comme leur nom l\u2019indique &#8211; surveiller toute tentative d\u2019intrusion sur le serveur.<\/p>\n<h3>Portsentry<\/h3>\n<p>Portsentry permet de bloquer en temps r\u00e9el les scans de ports en bloquant la majorit\u00e9 des ports connus et inconnus contre ce type d&rsquo;attaque. Dans un premier temps, installez-le.<\/p>\n<p>Pour le configurer :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">nano \/usr\/local\/psionic\/portsentry\/portsentry.conf\n# ou\nnano \/etc\/portsentry\/portsentry.conf<\/code><\/pre><\/figure>\n<p>Commentez les lignes:<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">KILL_HOSTS_DENY<\/code><\/pre><\/figure>\n<p><em>\u00a0<\/em><\/p>\n<p>D\u00e9commettez les lignes :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\"># Kill_route d\u00e9fini l&#039;action \u00e0 r\u00e9aliser envers l&#039;IP qui scan votre machine\nKILL_ROUTE=&quot;\/sbin\/iptables -I INPUT -s $TARGET$ -j DROP&quot;\n\n# Mise en route des bans\nBLOCK_UDP=&quot;1&quot;\nBLOCK_TCP=&quot;1&quot;<\/code><\/pre><\/figure>\n<p>Vous devez ensuite passer en mode \u00ab\u00a0advanced\u00a0\u00bb (avanc\u00e9) pour que le programme soit le plus efficace <em>\/etc\/default\/portsentry<\/em> :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\"># On remplace ceci :\nTCP_MODE=&quot;tcp&quot;\nUDP_MODE=&quot;udp&quot;\n# Par ceci :\nTCP_MODE=&quot;atcp&quot;\nUDP_MODE=&quot;audp&quot;<\/code><\/pre><\/figure>\n<p>Pour finir la partie configuration, assurez-vous de mettre votre IP dans le fichier <em>\/etc\/portsentry\/portsentry.ignore<\/em> de fa\u00e7on \u00e0 ce que vous ne soyez pas soumis au bannissement pendant vos tests !!!<\/p>\n<p>Pour lancer le processus, il faut pr\u00e9voir un <em>cron<\/em> pour les deux lignes l\u00e0 (on le lance en deux fois une pour udp, l&rsquo;autre pour tcp). Si vous avez un firewall dont les r\u00e8gles correspondent \u00e0 celles du dessus (<em>-A XXXX DROP<\/em>), par d\u00e9faut tout est bloqu\u00e9 donc ce programme n&rsquo;est pas ultra n\u00e9cessaire. On peut aussi utiliser un launch_script <em>\/etc\/init.d\/portsentry start\/stop\/restart<\/em> depuis la derni\u00e8re version.<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">portsentry \u2013audp\nportsentry \u2013atcp<\/code><\/pre><\/figure>\n<h3>Fail2ban<\/h3>\n<p>Fail2ban, c&rsquo;est tr\u00e8s simple : c&rsquo;est un petit programme qui permet de bannir (temporairement ou infiniment) l&rsquo;ip d&rsquo;une personne qui essayerait de brute-forcer un acc\u00e8s (ssh ou autre d&rsquo;ailleurs). Si par exemple, une machine connait l\u2019existence de l&rsquo;utilisateur admin, il peut lancer une attaque par dictionnaire ou autre pour trouver le mot de passe. Par d\u00e9faut, il n&rsquo;y a pas de limite d&rsquo;erreur. Tant que \u00e7a ne fonctionne pas, le serveur redemande de saisir le mot de passe. Fail2ban permet donc de d\u00e9finir le nombre de tentative avant l&rsquo;exclusion permanent ou d&rsquo;un temps donn\u00e9 du serveur.<\/p>\n<p>Vous devez donc installer Fail2ban.<\/p>\n<p>Puis dans la configuration :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">nano \/etc\/fail2ban\/jail.conf<\/code><\/pre><\/figure>\n<p id=\"r-1198376\" data-claire-element-id=\"3175150\">Je vous encourage \u00e0 remplir le champ ci-dessous :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">[DEFAULT]\n# Les IP non concern\u00e9 par le ban en cas d&#039;\u00e9chec (localhost) et 8.8.8.8 votre IP (si elle ne change pas).\nignoreip = 127.0.0.1 8.8.8.8\n# Recherche de tentative dans les logs (en secondes).\nfindtime = 3600\n# Temps de bannissement en secondes\nbantime = 86400<\/code><\/pre><\/figure>\n<p>Il y a aussi : <em>destemail -&gt; <\/em>indiquez une adresse mail si vous voulez recevoir des mails d\u2019alerte de la part de fail2ban.<\/p>\n<p>Attention : <em>fintime<\/em> d\u00e9fini le temps de recherche dans les logs d&rsquo;\u00e9checs de connexion. Mettre une valeur raisonnable, pas plus d&rsquo;une heure ou deux. En effet, si vous mettez 1 an par exemple, si vous avez dans la derni\u00e8re ann\u00e9e le nombre maxi d&rsquo;\u00e9checs autoris\u00e9s, vous serez alors directement banni. Le nombre de tentative n&rsquo;est pas forcement cons\u00e9cutif, mais plut\u00f4t dans un laps de temps. Si vous mettez 1 minutes (60 secs), vous bloqu\u00e9 la <em>bruteforce<\/em> mais vous vous laisser la possibilit\u00e9 de vous tromper de mot de passe de temps en temps&#8230;<\/p>\n<p data-claire-element-id=\"1207784\">Pour chaque service supporter ensuite, il faut :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">[ssh]\n\n# Mets en fonction Fail2ban pour ssh\nenabled = true\n\n# Sp\u00e9cifie le port contr\u00f4\u00e9\nport    = ssh,sftp\nfilter  = sshd\n# Sp\u00e9cifie le log qu&#039;il surveille\nlogpath  = \/var\/log\/auth.log\n# Sp\u00e9cifie le nombre d&#039;essai avant le ban\nmaxretry = 6<\/code><\/pre><\/figure>\n<p>Enfin pour appliquer la modification, comme d&rsquo;habitude, on relance le service : <em>\/etc\/init.d\/fail2ban restart<\/em><\/p>\n<p>Si vous avez besoin de d\u00e9bannir quelqu&rsquo;un de la liste (\u00e7a peut arriver d&rsquo;\u00e9chouer des connexions SSH plusieurs fois de suite), regarder par ici :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-apacheconf\">fail2ban-client status ssh<\/code><\/pre><\/figure>\n<p>Plus d&rsquo;aide sur <em>fail2ban-client<\/em> : <a href=\"http:\/\/www.fail2ban.org\/wiki\/index.php\/Commands\">http:\/\/www.fail2ban.org\/wiki\/index.php\/Commands<\/a><\/p>\n<h3>Rkhunter<\/h3>\n<p>Pour finir, ce petit outil est int\u00e9ressant pour d\u00e9tecter des RootKits et backdoors qui peuvent laisser des pirates qui arriveraient quand m\u00eame \u00e0 acc\u00e9der \u00e0 votre machine. Ce n&rsquo;est pas une solution ultime. En fait, c&rsquo;est m\u00eame relativement difficile \u00e0 utiliser. Il va g\u00e9n\u00e9rer des rapports \u00e9normes \u00e0 chaque intervention. Mais \u00e7a peut quand m\u00eame d\u00e9panner en cas de probl\u00e8me.<\/p>\n<p>Apr\u00e8s installation, vous devez regarder le fichier de configuration <em>\/etc\/default\/rkhunter<\/em> :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\"># indiquez un mail pour recevoir des alertes de Rkhunter (c&#039;est tr\u00e8s souvent)\nREPORT_EMAIL\n# mettez \u00ab yes \u00bb pour une v\u00e9rification quotidienne de votre machine via un cron\nCRON_DAILY_RUN :<\/code><\/pre><\/figure>\n<p>Si vous souhaitez un niveau de protection encore sup\u00e9rieur dans le domaine de la d\u00e9tection de rootkit, je vous laisse regarder du cot\u00e9 de GRsec mais \u00e7a requiert \u00e9norm\u00e9ment de connaissance au niveau du kernel (noyau) de Linux. Bref, c&rsquo;est super mais inutilisable sur un serveur d\u00e9di\u00e9 (ou alors pour les pros&#8230;).<\/p>\n<h2>Surveillance de logs<\/h2>\n<p>C&rsquo;est quelque chose qu&rsquo;il est int\u00e9ressant de mettre en place pour surveiller son serveur sans avoir \u00e0 se connecter r\u00e9guli\u00e8rement et surtout avoir besoin d&rsquo;ouvrir 15 fichiers de logs pour chaque services install\u00e9s. Ici nous utiliserons <em>logwatch<\/em> qui permet de regrouper toutes les donn\u00e9es dans un rapport et de les envoyer soit par mail local soit par email \u00e0 une adresse donn\u00e9e.<\/p>\n<h3>Logwatch<\/h3>\n<p>Renseignez-vous de l&rsquo;installation sur votre serveur (debian\/gentoo\/centos).<\/p>\n<p>Ensuite, nous copions le fichier standard de configuration dans le dossier <em>\/etc<\/em> et nous le personnalisons :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">cp \/usr\/share\/logwatch\/default.conf\/logwatch.conf \/etc\/logwatch\/conf\/logwatch.conf<\/code><\/pre><\/figure>\n<p>Ensuite on \u00e9dite les \u00e9l\u00e9ments suivants en fonctionne du r\u00e9sultat attendu :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\"># Votre dossier contenant vos autres logs\nLogDir = \/var\/log\n\n# La sortie sera du type mail (email)\n# ou file (fichier sur le serveur)\nOutput = mail\n\n# Le format du rapport text (pour mail local)\n# ou html (pour mail sur une adresse email)\nFormat = text\n\n# Encodage none ou base64\nEncode = none\n\n# Ici la personne qui va recevoir le mail\n# Il peut s&#039;agir d&#039;un utilisateur local (root, admin)\n# ou d&#039;une adresse e-mail (admin@gmail.com) ou m\u00eame\n# de plusieurs si tout est s\u00e9par\u00e9 par une virgule\nMailTo = root\n\n# Vous indiquez ici le nom de l&#039;emetteur de l&#039;email\nMailFrom = Logwatch-WEB-LSD\n\n# Le niveau de detail du rapport\n# Faible = 0\n# Intermediaire = 5\n# Eleve = 10\nDetail = 10<\/code><\/pre><\/figure>\n<p>Maintenant, vous n&rsquo;avez plus qu&rsquo;\u00e0 utiliser <em>cron<\/em> pour lancer <em>logwatch<\/em> quand vous voulez (personnellement, tous les jours dans la nuit).<\/p>\n<p>PS : pour l&rsquo;utilisation de cron, deux techniques en fonction des syst\u00e8mes :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">crontab -l\ncrontab -e<\/code><\/pre><\/figure>\n<p>ou via la mise en place de scripts dans :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">\/etc\/cron.daily\n# ou\n\/etc\/cron.hourly\n# etc.<\/code><\/pre><\/figure>\n<p>Petite ligne de code (la question va venir sinon) sur comment vider la messagerie d&rsquo;une session linux facilement :<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">&gt;\/var\/spool\/mail\/admin\n# Si l&#039;utilisation s&#039;appelle admin bien sur<\/code><\/pre><\/figure>\n<h2>On teste tout \u00e7a maintenant ?<\/h2>\n<p>Bon, c&rsquo;\u00e9tait sympa tout \u00e7a. En r\u00e9alit\u00e9, on n&rsquo;est toujours pas \u00e0 l&rsquo;abri d&rsquo;un probl\u00e8me mais bon. On peut tester rapidement via deux outils :<\/p>\n<ul>\n<li><em>nmap <\/em>pour scanner les ports<\/li>\n<li><em>nessus <\/em>pour scanner les vuln\u00e9rabilit\u00e9s<\/li>\n<\/ul>\n<p>Pour les deux logiciels, <span style=\"text-decoration: underline;\">vous devez les utiliser sur vos propres serveurs.<\/span> Pas chez les autres&#8230;<\/p>\n<p>Pour <em>namp<\/em>, faites des essais avec plusieurs param\u00e8tres pour voir si la s\u00e9curit\u00e9 est am\u00e9lior\u00e9e ou non. Vous commencez par ces tests avant les modifications, puis apr\u00e8s et vous comparerez. Vous aurez alors un bon visuel sur ce qu&rsquo;il reste \u00e0 faire&#8230;<\/p>\n<figure class=\"pc-legacy\"><pre><code class=\"language-bash\">nmap -v ip_de_votre_serveur\n# pour tester un port en particulier\nnmap -p 80 ip_de_votre_serveur\n# Essayez \u00e7a aussi\nnmap -sN ip_de_votre_serveur\nnmap -sS ip_de_votre_serveur\nnmap -sI ip_de_votre_serveur<\/code><\/pre><\/figure>\n<p>Pour <em>nessus<\/em>, je vous laisse regarder par ici : <a href=\"http:\/\/doc.ubuntu-fr.org\/nessus\">http:\/\/doc.ubuntu-fr.org\/nessus<\/a><\/p>\n<h2>J&rsquo;en veux encore<\/h2>\n<p>Pour aller plus loin, je vous conseille un excellent document pdf issu des recommandations en terme de s\u00e9curit\u00e9 informatique de la NSA (vous savez l&rsquo;organisation qui espionne tout le monde&#8230;).<\/p>\n<p>Mais avant le lien quelques commentaires au sujet du documents :<\/p>\n<ul>\n<li>Grosse parano\u00efa dans le pdf (ce sont des cas extr\u00eame de s\u00e9curit\u00e9)<\/li>\n<li>Tout n&rsquo;est pas r\u00e9alisable pour vous (restriction de votre h\u00e9bergeur de serveur ; mat\u00e9riel incompatible (RAM avec correction d&rsquo;erreur&#8230;, KVM..))<\/li>\n<li>Le document est de 2011, certaines technologies ont \u00e9volu\u00e9 m\u00eame si dans l&rsquo;ensemble, c&rsquo;est tr\u00e8s solide<\/li>\n<li>Est-il n\u00e9cessaire d&rsquo;aller si loin ? Pour une plateforme qui accueille des centaines d&rsquo;utilisateurs peut-\u00eatre mais pour un serveur d\u00e9di\u00e9 au web&#8230;<\/li>\n<\/ul>\n<p>Le lien : <a href=\"https:\/\/www.nsa.gov\/ia\/_files\/os\/redhat\/rhel5-guide-i731.pdf\">https:\/\/www.nsa.gov\/ia\/_files\/os\/redhat\/rhel5-guide-i731.pdf<\/a><\/p>\n<p>Second lien : <a href=\"http:\/\/olivieraj.free.fr\/fr\/linux\/information\/firewall\/fw-03-04.html\">http:\/\/olivieraj.free.fr\/fr\/linux\/information\/firewall\/fw-03-04.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On va pousser la s\u00e9curit\u00e9 d&rsquo;un cran au dessus. Normalement, si vous avez suivi le premier tutorial, vous avez un acc\u00e8s SSH plus sur qui emp\u00eache dans un premier temps n&rsquo;importe qui d\u2019acc\u00e9der au root. De plus l&rsquo;acc\u00e8s ssh est restreint \u00e9galement donc plus de s\u00e9curit\u00e9.<\/p>\n","protected":false},"author":1,"featured_media":43,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,25,2],"tags":[17],"class_list":["post-45","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial_linux","category-tutorial_server","category-tutorial","tag-niveau_moyen"],"_links":{"self":[{"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":24,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":328,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/posts\/45\/revisions\/328"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/media\/43"}],"wp:attachment":[{"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.vincentcharles.ovh\/index.php\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}