{"id":391,"date":"2022-01-22T12:51:36","date_gmt":"2022-01-22T11:51:36","guid":{"rendered":"https:\/\/codacola.xyz\/?p=391"},"modified":"2023-02-01T17:02:19","modified_gmt":"2023-02-01T16:02:19","slug":"securiser-son-serveur-linux","status":"publish","type":"post","link":"https:\/\/hinakuu.xyz\/?p=391","title":{"rendered":"S\u00e9curiser son serveur Debian 11"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">La s\u00e9curit\u00e9 d\u2019un serveur n\u2019est pas \u00e0 prendre \u00e0 la l\u00e9g\u00e8re. Chaque jour qui passe, <strong>de nombreux robots ou humains chercheront \u00e0 p\u00e9n\u00e9trer ton serveur<\/strong>. Pour tout casser, pour utiliser tes ressources, pour l\u2019honneur, etc \u2026<br>Bon, en g\u00e9n\u00e9ral, d\u2019apr\u00e8s mon exp\u00e9rience personnelle, la plupart des attaques sont des attaques de force brute en SSH totalement stupides qui essaye du mot de passe en brute force pour diff\u00e9rent utilisateurs communs (root, admin, administrator, \u2026). Il est extr\u00eamement rare d\u2019\u00eatre la cible d\u2019une attaque r\u00e9fl\u00e9chie. Sauf bien s\u00fbr si tu h\u00e9berge un site ou un service tr\u00e8s connu. Mais en bon admin serveur, <strong>tu dois garder le contr\u00f4le de ton serveur !<\/strong> On va voir comment faire pour attendre un bon niveau de s\u00e9curit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Source : <a rel=\"noreferrer noopener\" href=\"https:\/\/www.remipoignon.fr\/securiser-son-serveur-linux\/\" target=\"_blank\">https:\/\/www.remipoignon.fr\/securiser-son-serveur-linux\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commen\u00e7ons par le commencement, tu viens de recevoir ton nouveau VPS (serveur priv\u00e9 virtuel) ou ton nouveau serveur d\u00e9di\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"> <span class=\"has-inline-color has-luminous-vivid-amber-color\">1.Modifie ton mot de passe root !<\/span>  <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la gestion de tes mots de passe, je te conseille l\u2019utilisation d\u2019un <strong>gestionnaire de mot de passe<\/strong>. Tu pourra alors stocker des mots de passe complexes et diff\u00e9rents. Il te suffira simplement de conna\u00eetre un mot de passe pour d\u00e9verrouiller les autres. KeepassXC est gratuit et multi-plateforme, il encrypte vos mots de passe avec l\u2019algo AES avec SHA-256, il permet d\u2019utiliser une cl\u00e9 priv\u00e9e. Bref, je te le recommande, un bon admin syst\u00e8me ne met <strong>jamais les m\u00eame mots de passe sur ses serveurs !<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codacola.xyz\/wp-content\/uploads\/2022\/01\/mopass.png\" alt=\"\" class=\"wp-image-463\" width=\"119\" height=\"81\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/mopass.png 569w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/mopass-300x204.png 300w\" sizes=\"auto, (max-width: 119px) 100vw, 119px\" \/><figcaption class=\"wp-element-caption\"> <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Premi\u00e8re chose \u00e0 faire, si comme moi tu as re\u00e7u ton mot de passe root par mail, consid\u00e8re le comme <strong>potentiellement intercept\u00e9<\/strong>. (Comme pour tout tes mots de passe que tu re\u00e7ois par mail d\u2019ailleurs). <strong>Ton mot de passe root ne doit \u00eatre connu que par toi et n\u2019\u00eatre accessible par personne d\u2019autre<\/strong>, alors on le change tout de suite. Connectes toi en SSH sur ton serveur et change ton mot de passe avec la commande :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">passwd root<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">2.Root c\u2019est fini, bonjour admin<\/mark><\/h3>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codacola.xyz\/wp-content\/uploads\/2022\/01\/sherif.png\" alt=\"\" class=\"wp-image-468\" width=\"100\" height=\"124\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/sherif.png 642w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/sherif-243x300.png 243w\" sizes=\"auto, (max-width: 100px) 100vw, 100px\" \/><figcaption class=\"wp-element-caption\"> <\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Comme je l\u2019ai dis, la plupart des attaques sont des attaques o\u00f9 <strong>des robots vont tenter de se connecter en SSH sur ton serveur<\/strong> avec l\u2019utilisateur root en tentant des combinaisons diff\u00e9rentes de mot de passe. Une bonne pratique de s\u00e9curit\u00e9 consiste donc \u00e0 <strong>bloquer root et de le remplacer par un utilisateur de ton choix<\/strong> qui aura les privil\u00e8ges root.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commences par ajouter un utilisateur, ici, je l\u2019appelle \u00ab&nbsp;kody&nbsp;\u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">adduser kody<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On installe le paquet <strong>sudo<\/strong> pour permettre \u00e0 certains utilisateurs autoris\u00e9s de prendre les droits root :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">apt install sudo<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Puis on ajoute l\u2019utilisateur aux groupes lui permettant d\u2019avoir les privil\u00e8ges root (j\u2019ai rajout\u00e9 le groupe adm pour pouvoir consulter les logs sans devoir utiliser sudo) :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">usermod -aG root,sudo,adm kody<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On modifie maintenant la configuration SSH pour <strong>interdire la connexion en tant que root<\/strong>. Tu peux aussi modifier ton port de connexion SSH si tu le souhaite, \u00e7a t\u2019<strong>\u00e9vitera 99.99% des attaques<\/strong> par brute force mais c\u2019est un peu p\u00e9nible pour la suite de devoir toujours indiquer ton num\u00e9ro de port \u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">\/etc\/ssh\/sshd_config<\/mark><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\"># Interdire \u00e0 root de se connecter en SSH<\/mark>\nPermitRootLogin no<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\">\n# Facultatif : Modifier le port de connexion pour le SSH<\/mark>\nPort 4854 \n\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\"># Facultatif : Seul admin peux se connecter en SSH<\/mark>\nAllowUsers kody\n\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\"># Facultatif : Seul les utilisateurs du groupe sshusers peuvent se connecter en SSH<\/mark>\nAllowGroups sshusers<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">\n...       <\/mark><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>Attention !<\/strong> Avant de red\u00e9marrer ton service SSH, avec une mauvaise configuration, tu risques de <strong>perdre compl\u00e8tement l\u2019acc\u00e8s \u00e0 ton serveur !<\/strong> Penses \u00e0 garder ta session ssh root active le temps de v\u00e9rifier que tout va bien et que tu dispose bien des privil\u00e8ges root avec le nouvel utilisateur.<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On red\u00e9marre le service SSH :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">service ssh restart<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>On se connecte en SSH avec le nouvel utilisateur<\/strong> et on test que la commande sudo fonctionne bien :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo ls -l .\/<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00e7a ne fonctionne pas, ne quittes surtout par ta session root et fais ce qu\u2019il faut pour que \u00e7a marche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le principe de sudo est simple, tout ce que tu ex\u00e9cutes en utilisant le pr\u00e9fixe sudo va ex\u00e9cuter la commande avec les droits root. Tu peux m\u00eame prendre la main sur l\u2019utilisateur root avec la commande (mais \u00e0 \u00e9viter) :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo su<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Combien d\u2019admin syst\u00e8me qui ne respecte pas cette bonne pratique se retrouve connect\u00e9 au serveur en root, puis lors d\u2019une pause caf\u00e9, <strong>laisse parfois leur session connect\u00e9 sans surveillance ?<\/strong> D\u00e9j\u00e0 s\u2019il te pla\u00eet, <strong>verrouilles toujours ta session<\/strong> quand tu abandonnes ton poste. Sudo apporte une s\u00e9curit\u00e9 suppl\u00e9mentaire, il faut confirmer ton mot de passe pour ex\u00e9cuter une commande root.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">D\u00e9sactiver le compte root<\/mark><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">passwd --lock root<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#15da04\" class=\"has-inline-color\">Actviver le compte root<\/mark><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo passwd root<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">3.Un firewall strict = ma\u00eetrise des portes d\u2019entr\u00e9es \/ sorties<\/mark><\/h3>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codacola.xyz\/wp-content\/uploads\/2022\/01\/firewall-1.png\" alt=\"\" class=\"wp-image-483\" width=\"129\" height=\"81\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/firewall-1.png 800w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/firewall-1-300x188.png 300w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/firewall-1-768x482.png 768w\" sizes=\"auto, (max-width: 129px) 100vw, 129px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sur ton serveur, plusieurs services sont en cours d\u2019ex\u00e9cution et <strong>certains sont \u00e0 l\u2019\u00e9coute sur des ports ouverts ce qui peut pr\u00e9senter un risque<\/strong> si le logiciel derri\u00e8re le port ouvert contient une faille. Il est important de <strong>configurer un firewall qui bloquera tous les ports<\/strong> sauf ceux dont nous avons besoin et dont le logiciel qui l\u2019utilise est s\u00e9rieux, r\u00e9put\u00e9 pour \u00eatre s\u00e9curis\u00e9 et dont on a confiance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aller hop ! On installe l\u2019incontournable paquet iptable :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo apt install iptables<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On d\u00e9finit les r\u00e8gles du firewall, en fonction des services que tu utilises, commentes, d\u00e9-commentes ou ajoute des lignes :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">nano \/etc\/init.d\/firewall<\/mark><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#! \/bin\/sh                                                                                                                                                                         \n### BEGIN INIT INFO                                                                                                                                                                \n# Provides:          PersonalFirewall                                                                                                                                              \n# Required-Start:    $remote_fs $syslog                                                                                                                                            \n# Required-Stop:     $remote_fs $syslog                                                                                                                                            \n# Default-Start:     2 3 4 5                                                                                                                                                       \n# Default-Stop:      0 1 6                                                                                                                                                         \n# Short-Description: Personal Firewall                                                                                                                                             \n# Description:       Init the firewall rules                                                                                                                                                              \n### END INIT INFO                                                                                                                                                                  \n                                                                                                                                                                                   \n# <span class=\"has-inline-color has-luminous-vivid-amber-color\">programme iptables IPV4 et IPV6     <\/span>                                                                                                                                             \nIPT=\/sbin\/iptables                                                                                                                                                                 \nIP6T=\/sbin\/ip6tables                                                                                                                                                               \n\n# <span class=\"has-inline-color has-luminous-vivid-amber-color\">Les IPs   <\/span>                                                                                                                                                                       \n#IP_TRUSTED=xx.xx.xx.xx   \n                                                                                                                                                           \n\ndo_start() {                                                                                                                                                                       \n\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># Efface toutes les regles en cours. -F toutes. -X utilisateurs          <\/span>                                                                                                      \n    $IPT -t filter -F                                                                                                                                                              \n    $IPT -t filter -X                                                                                                                                                              \n    $IPT -t nat -F                                                                                                                                                                 \n    $IPT -t nat -X                                                                                                                                                                 \n    $IPT -t mangle -F                                                                                                                                                              \n    $IPT -t mangle -X                                                                                                                                                              \n    $IP6T -t filter -F                                                                                                                                                             \n    $IP6T -t filter -X                                                                                                                                                              \n    $IP6T -t mangle -F                                                                                                                                                             \n    $IP6T -t mangle -X                                                                                                                                                             \n\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># strategie (-P) par defaut : bloc tout l'entrant le forward et autorise le sortant         <\/span>                                                                                   \n    $IPT -t filter -P INPUT DROP                                                                                                                                                   \n    $IPT -t filter -P FORWARD DROP                                                                                                                                                 \n    $IPT -t filter -P OUTPUT ACCEPT                                                                                                                                                \n    $IP6T -t filter -P INPUT DROP                                                                                                                                                  \n    $IP6T -t filter -P FORWARD DROP                                                                                                                                                \n    $IP6T -t filter -P OUTPUT ACCEPT                                                                                                                                               \n\n   <span class=\"has-inline-color has-luminous-vivid-amber-color\"> # Loopback <\/span>                                                                                                                                                                    \n    $IPT -t filter -A INPUT -i lo -j ACCEPT                                                                                                                                        \n    $IPT -t filter -A OUTPUT -o lo -j ACCEPT                                                                                                                                       \n    $IP6T -t filter -A INPUT -i lo -j ACCEPT                                                                                                                                       \n    $IP6T -t filter -A OUTPUT -o lo -j ACCEPT                                                                                                                                      \n\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># Permettre a une connexion ouverte de recevoir du trafic en entree <\/span>                                                                                                           \n    $IPT -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT                                                                                                         \n    $IP6T -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT                                                                                                        \n\n   <span class=\"has-inline-color has-luminous-vivid-amber-color\"> # ICMP <\/span>                                                                                                                                                                        \n    $IPT -t filter -A INPUT -p icmp -j ACCEPT                                                                                                                                      \n\n    # DNS:53                                                                                                                                                                       \n    $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT                                                                                                                            \n    $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT                                                                                                                            \n    $IP6T -t filter -A INPUT -p tcp --dport 53 -j ACCEPT                                                                                                                           \n    $IP6T -t filter -A INPUT -p udp --dport 53 -j ACCEPT                                                                                                                           \n\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># SSH:22<\/span>\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># ATTENTION, indiques bien ton port personnalis\u00e9 si tu l'as chang\u00e9 <\/span>                                                                                                                                                                    \n    $IPT -t filter -A INPUT -p tcp --dport 22 -j ACCEPT                                                                                                                            \n    $IP6T -t filter -A INPUT -p tcp --dport 22 -j ACCEPT                                                                                                                           \n\n   <span class=\"has-inline-color has-luminous-vivid-amber-color\"> # HTTP:80     <\/span>                                                                                                                                                                \n    $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT                                                                                                                            \n    $IP6T -t filter -A INPUT -p tcp --dport 80 -j ACCEPT                                                                                                                           \n\n    <span class=\"has-inline-color has-luminous-vivid-amber-color\"># HTTPS:443   <\/span>                                                                                                                                                                     \n    $IPT -t filter -A INPUT -p tcp --dport 443 -j ACCEPT                                                                                                                           \n    $IP6T -t filter -A INPUT -p tcp --dport 443 -j ACCEPT                                                                                                                          \n\n  <span class=\"has-inline-color has-luminous-vivid-amber-color\">  # SMTP:25\/587\/465  <\/span>                                                                                                                                                                       \n    $IPT -t filter -A INPUT -p tcp --dport 25 -j ACCEPT                                                                                                                            \n    $IP6T -t filter -A INPUT -p tcp --dport 25 -j ACCEPT                                                                                                                           \n    $IPT -t filter -A INPUT -p tcp --dport 587 -j ACCEPT                                                                                                                           \n    $IP6T -t filter -A INPUT -p tcp --dport 587 -j ACCEPT                                                                                                                          \n#    $IPT -t filter -A INPUT -p tcp --dport 465 -j ACCEPT                                                                                                                          \n#    $IP6T -t filter -A INPUT -p tcp --dport 465 -j ACCEPT                                                                                                                         \n\n <span class=\"has-inline-color has-luminous-vivid-amber-color\">   # POP3:110\/995     <\/span>                                                                                                                                                                    \n#    $IPT -t filter -A INPUT -p tcp --dport 110 -j ACCEPT                                                                                                                          \n#    $IP6T -t filter -A INPUT -p tcp --dport 110 -j ACCEPT                                                                                                                         \n#    $IPT -t filter -A INPUT -p tcp --dport 995 -j ACCEPT                                                                                                                          \n#    $IP6T -t filter -A INPUT -p tcp --dport 995 -j ACCEPT                                                                                                                         \n\n  <span class=\"has-inline-color has-luminous-vivid-amber-color\">  # IMAP \/ SIEVE : 143\/993\/4190     <\/span>                                                                                                                                                            \n#    $IPT -t filter -A INPUT -p tcp --dport 143 -j ACCEPT                                                                                                                          \n#    $IP6T -t filter -A INPUT -p tcp --dport 143 -j ACCEPT                                                                                                                         \n    $IPT -t filter -A INPUT -p tcp --dport 993 -j ACCEPT                                                                                                                           \n    $IP6T -t filter -A INPUT -p tcp --dport 993 -j ACCEPT                                                                                                                          \n    $IPT -t filter -A INPUT -p tcp --dport 4190 -j ACCEPT                                                                                                                          \n    $IP6T -t filter -A INPUT -p tcp --dport 4190 -j ACCEPT                                                                                                                         \n\n<span class=\"has-inline-color has-luminous-vivid-amber-color\">    # accepte tout d'une ip en TCP  <\/span>                                                                                                                                               \n#    $IPT -t filter -A INPUT -p tcp -s $IP_TRUSTED -j ACCEPT                                                                                                                         \n\n    <span style=\"color:#0fea0c\" class=\"has-inline-color\">echo \"firewall started [OK]<\/span>\"                                                                                                                                                   \n}                                                                                                                                                                                  \n\n#<span class=\"has-inline-color has-vivid-red-color\"> fonction qui arrete le firewall  <\/span>                                                                                                                                                \ndo_stop() {                                                                                                                                                                        \n\n    # Efface toutes les regles                                                                                                                                                     \n    $IPT -t filter -F                                                                                                                                                              \n    $IPT -t filter -X                                                                                                                                                              \n    $IPT -t nat -F                                                                                                                                                                 \n    $IPT -t nat -X                                                                                                                                                                 \n    $IPT -t mangle -F                                                                                                                                                              \n    $IPT -t mangle -X\n    $IP6T -t filter -F\n    $IP6T -t filter -X\n    $IP6T -t mangle -F\n    $IP6T -t mangle -X\n\n    # remet la strategie\n    $IPT -t filter -P INPUT ACCEPT\n    $IPT -t filter -P OUTPUT ACCEPT\n    $IPT -t filter -P FORWARD ACCEPT\n    $IP6T -t filter -P INPUT ACCEPT\n    $IP6T -t filter -P OUTPUT ACCEPT\n    $IP6T -t filter -P FORWARD ACCEPT\n\n    #\n    <span class=\"has-inline-color has-vivid-red-color\">echo \"firewall stopped [OK]<\/span>\"\n}\n\n# <span class=\"has-inline-color has-luminous-vivid-amber-color\">fonction status firewall<\/span>\ndo_status() {\n\n    # affiche les regles en cours\n    clear\n    echo Status IPV4\n    echo -----------------------------------------------\n    $IPT -L -n -v\n    echo\n    echo -----------------------------------------------\n    echo\n    echo status IPV6\n    echo -----------------------------------------------\n    $IP6T -L -n -v\n    echo\n}\n\ncase \"$1\" in\n    start)\n        do_start\n        exit 0\n    ;;\n\n    stop)\n        do_stop\n        exit 0\n    ;;\n\n    restart)\n        do_stop\n        do_start\n        exit 0\n    ;;\n\n    status)\n        do_status\n        exit 0\n    ;;\n\n    *)\n        echo \"Usage: \/etc\/init.d\/firewall {start|stop|restart|status}\"\n        exit 1\n    ;;\n\nesac<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut donner les droits d\u2019ex\u00e9cution au script :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo chmod +x \/etc\/init.d\/firewall<\/mark>\n\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>Attention !<\/strong> Si tu d\u00e9finis mal les r\u00e8gles, <strong>tu peux te bloquer toi m\u00eame et ne plus pouvoir acc\u00e9der au serveur.<\/strong> Je te conseille fortement d\u2019ex\u00e9cuter le script puis essaye de te r\u00e9-authentifier en SSH. Si apr\u00e8s ex\u00e9cution du script, tout est bloqu\u00e9, tu as perdu ta session et impossible de te reconnecter, red\u00e9marre le serveur pour r\u00e9initialiser le firewall.<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est partit ! On lance le script :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo \/etc\/init.d\/firewall start<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si tout va bien et que <strong>tu peux toujours te connecter en SSH<\/strong>, alors on peut indiquer au serveur que tu veux que le script soit<strong> ex\u00e9cut\u00e9 au d\u00e9marrage<\/strong> pour que jamais le firewall ne soit corrompu :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo update-rc.d firewall defaults<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu changes d\u2019avis, tu peux le retirer avec la commande :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo update-rc.d -f firewall remove<\/mark><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">4.Toujours \u00e0 jour avec cron-apt<\/mark><\/h3>\n\n\n\n<figure class=\"wp-block-image alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codacola.xyz\/wp-content\/uploads\/2022\/01\/settings-961x1024.png\" alt=\"\" class=\"wp-image-489\" width=\"88\" height=\"94\" srcset=\"https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/settings-961x1024.png 961w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/settings-281x300.png 281w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/settings-768x819.png 768w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/settings-1024x1091.png 1024w, https:\/\/hinakuu.xyz\/wp-content\/uploads\/2022\/01\/settings.png 1427w\" sizes=\"auto, (max-width: 88px) 100vw, 88px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Bon, c\u2019est bien beau, mon serveur est s\u00e9curis\u00e9 mais que se passe il le jour o\u00f9 une <strong>faille dans un logiciel est d\u00e9couverte<\/strong> pendant que je suis en vacance ? Un pirate aura tout son temps pour en profiter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un serveur fait les choses de fa\u00e7on automatique non ? H\u00e9 bien qu\u2019il se mette \u00e0 jour tout seul ! Aller on installe le paquet cron-apt :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">sudo apt install cron-apt<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On veux faire les mises \u00e0 jour de s\u00e9curit\u00e9 uniquement, donc on cr\u00e9\u00e9 un nouveau fichier de source :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">grep security \/etc\/apt\/sources.list > \/etc\/apt\/security.sources.list<\/mark><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Un peu de configuration :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">nano \/etc\/cron-apt\/config<\/mark><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>APTCOMMAND=\/usr\/bin\/apt-get\nOPTIONS=\"-o quiet=1 -o Dir::Etc::SourceList=\/etc\/apt\/security.sources.list\"\nMAILTO=\"moi@mondomain.fr\"\nMAILON=\"upgrade\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On indique qu\u2019on veut que cron-apt installe les mises \u00e0 jour quand il en trouve :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">nano \/etc\/cron-apt\/action.d\/3-download<\/mark><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>dist-upgrade -y -o APT::Get::Show-Upgraded=true<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cron-apt se lance par d\u00e9faut <strong>toute les nuits \u00e0 4h du matin<\/strong>, si tu veux modifier \u00e7a, c\u2019est ici : <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-green-cyan-color\">nano \/etc\/cron.d\/cron-apt<\/mark><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La s\u00e9curit\u00e9 d\u2019un serveur n\u2019est pas \u00e0 prendre \u00e0 la l\u00e9g\u00e8re. Chaque jour qui passe, de nombreux robots<\/p>\n","protected":false},"author":1,"featured_media":392,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=391"}],"version-history":[{"count":9,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/391\/revisions"}],"predecessor-version":[{"id":1580,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/posts\/391\/revisions\/1580"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=\/wp\/v2\/media\/392"}],"wp:attachment":[{"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hinakuu.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}