Contacts

Centos 7 Firewall CMD Open Port. Définition de la zone par défaut

Aujourd'hui, je vous présenterai votre vision de la configuration initiale du serveur universel sur le système d'exploitation populaire. Je vais parler de la manière de créer le réglage de base du serveur Centos immédiatement après l'installation pour l'utiliser dans n'importe quelle qualité à votre discrétion. Présenté conseil pratique Améliorer la sécurité et la commodité de travailler avec le serveur. L'article sera pertinent pour les deux dernières versions de CENTOS - 7 et 8.

  1. Énumérez les paramètres initiaux des Centos que j'effectue sur le serveur le plus frais.
  2. Afficher des exemples de configurations que j'utilise dans un cadre typique.
  3. Donnez des conseils sur la définition des Centos en fonction de votre expérience de travail.
  4. Créez une liste des programmes et des utilitaires typiques qui aident à administrer le serveur.

Cet article fait partie du cycle unifié de l'article sur le serveur.

introduction

Après la sortie de la nouvelle version Centos 8, il est devenu difficile dans un seul article de décrire réglage initial Les deux serveurs, mais je ne voulais pas partager un article, car il existe de nombreux liens entrants de différents endroits. Il est plus pratique de maintenir le matériel global sur les deux versions que moi. Dans le même temps, les différences de deux versions seront visibles, qui pendant quelques années après la sortie Centos 8 seront pertinentes et que l'autre version sera utilisée, en fonction de la situation.

Centos 7 utilise un gestionnaire de lots miam.et à Centos 8 - dNF.. Dans le même temps, laissé un lien symbolique avec Yum sur DNF, de sorte que vous puissiez écrire à la fois le prénom et le second. Pour l'uniformité, je vais utiliser miam partout et je vous avertirai, juste pour comprendre pourquoi je fais cela. Vraiment, les Centos 8 utilisent DNF, c'est un autre gestionnaire de lots plus moderne qui vous permet de travailler avec différentes versions du même logiciel. Cela utilise des référentiels distincts qui sont apparus pour Centos 8.

Configuration initiale Centos.

Personnellement, je suis un réglage du système, que ce soit un centos ou une autre, après l'installation, je commence avec le fait que je mettez complètement à jour le système. Si l'image d'installation était fraîche ou si l'installation a été effectuée sur le réseau, aucune mises à jour ne sera probablement pas. Le plus souvent, ils sont, car les images d'installation ne sont pas toujours mises à jour régulièrement.

Nous mettons à jour le système

# Yum Update.

Pour une facilité d'administration, j'installis toujours Midnight Commander ou juste MC:

# miam installer mc

Et immédiatement pour cela, j'allume la surbrillance de la syntaxe de tous les fichiers qui ne sont pas explicitement dans le fichier. USR / Share / MC / Syntaxe / Syntaxe Syntaxe pour les scripts SH et Bash. Cette syntaxe universelle convient normalement aux fichiers de configuration qui doivent le plus souvent travailler sur le serveur. Écrasez le fichier. inconnu.syntax. C'est ce modèle qui sera appliqué aux fichiers i.cf C.conf, car aucune syntaxe n'est clairement pas liée à celle-ci.

# CP /USR/Share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

En outre, nous utiliserons des utilitaires réseau. Selon l'ensemble des paquets initiaux que vous choisissez lors de l'installation du système, vous disposerez d'un ou d'un autre ensemble d'utilitaires réseau. Voici une liste de ceux qui sont habitués à personnellement - Ifconfig, NetStat, Nslookup et quelques autres. Si vous en avez besoin, comme moi, alors je propose de les installer séparément si elles ne le sont pas encore. Si vous n'en avez pas particulièrement besoin et que vous ne les utilisez pas, vous pouvez ignorer leur installation. Vérifiez que nous avons dans le système pour le moment

# ifconfig

Si vous voyez la réponse:

Bash: ifconfig: commande non trouvée

Donc, l'utilitaire n'est pas installé. Au lieu d'ifconfig in Centos maintenant utilitaire ip. Cela s'applique non seulement au centre. Une telle image est presque toutes les distributions de Linux modernes populaires. Pendant longtemps, je me suis habitué à ifconfig, bien que je n'utilise pratiquement pas récemment. J'ai toujours aimé cela dans différentes distributions Linux, tout est à peu près la même chose. En utilisant ifconfig, vous pouvez configurer le réseau non seulement sous Linux, mais également dans FreeBSD. C'est confortable. Et quand dans chaque distribution, cet outil n'est pas pratique. Bien que maintenant ce n'est pas très pertinent, car je ne travaille pas avec FreeBSD, et que je suis utilitaire IP dans toutes les distributions Linux. Cependant, si vous avez besoin d'IFCONFIG, vous pouvez installer le paquet outils nets.dans lequel elle vient dans:

# Yum installer net-outils

Afin que nous ayons les commandes de nslookup ou, par exemple, l'hôte doit installer le paquet bind-utils.. Si cela n'est pas fait, alors sur la commande:

# nslookup

Il y aura une conclusion:

Bash: Nslookup: Commande introuvable

Alors installez les utils liés:

# Yum Installez les linge-utils

Désactiver SELINUX

Éteignez SELINUX. Son utilisation et configurez une conversation distincte. Maintenant je ne ferai pas cela. Nous éteignons donc:

# Mcedit / etc / sysconfig / selinux

changer la valeur

Selinux \u003d désactivé.

Pour modifier les modifications, vous pouvez redémarrer:

# Redémarrer

Et si vous souhaitez redémarrer, appliquez Selinux Shutdown, puis exécutez la commande:

# Sttenforce 0

Je reçois constamment beaucoup de critiques sur le thème Désactiver Selinux. Je sais comment il travaille, je peux la personnaliser. Ce n'est vraiment pas très difficile et pas difficile à maîtriser. C'est mon choix conscient, même si parfois je le faisais. Mon format de travail avec le système est tel que SELINUX est le plus souvent nécessaire pour moi, donc je ne passe pas de temps dessus et dans le cadre de base des Centos s'éteindre. La sécurité du système est un travail complet, en particulier dans le monde moderne du développement Web, où la règle du microservice et des conteneurs. Les outils Selinux Nishey qui ne sont pas toujours nécessaires et qui ne sont pas partout. Par conséquent, dans cet article, il n'est pas un endroit. Qui a besoin, comprendra séparément SELINUX et configurera.

Indiquer les paramètres réseau

Nous continuons le réglage de base des Centos après l'installation. Maintenant, nous produirons si pour une raison quelconque, ils n'ont pas fait lors de l'installation, ou si vous avez besoin de les changer. En général, le réseau dans les Centos est configuré par Gestionnaire de réseau. et son utilitaire de console nmtui.. Il va dans le système de base oralovka. Il y a simple et compréhensible interface graphiqueDonc, il n'y a rien à dire. Je suis plus utilisé pour personnaliser le réseau via des fichiers de configuration des scripts de réseau. Dans les Centos de la 7ème version, ils proviennent de la boîte, dans la 8ème version, ils ont été supprimés. Pour les utiliser pour la configuration du réseau, vous devez installer le package séparément. scripts de réseau..

# Yum Installez les scripts de réseau

Maintenant, vous pouvez configurer le réseau. Pour ce faire, ouvrez le fichier / etc / sysconfig / réseaux-scripts / ifcfg-eth0

# Mecedit / etc / sysconfig / scripts de réseau / ifcfg -thh0

Si vous obtenez des paramètres réseau DHCP, le jeu de paramètres minimum dans le fichier de configuration sera comme celui-ci.

Type \u003d "Ethernet" bootproto \u003d "DHCP" défride \u003d "oui" ipv4_failure_fatal \u003d "NO" Nom \u003d "Eth0" Device \u003d "ETH0" OnBoot \u003d "Oui"

Pour configurer l'adresse IP statique, les paramètres seront les suivants.

Type \u003d "Ethernet" bootproto \u003d "Aucun" défride \u003d "oui" ipv4_failure_fatal \u003d "NO" Nom \u003d "Eth0" Device \u003d "Eth0" Onboot \u003d "Oui" IPADDR \u003d 192.168.167.117 DNS1 \u003d 192.168.167.113 PREFIX \u003d 28 GATEWAY \u003d 192.168.167.113

Dans le champ iPaddr, entrez votre adresse, dans le masque de réseau préfixe, dans la passerelle de passerelle, adresse DNS du serveur DNS. Enregistrez le fichier et redémarrez le réseau pour appliquer les paramètres:

# Réseau de redémarrage SystemCtL

Personnaliser le pare-feu

Ajouter des référentiels

Lors de la configuration CENTOS, vous avez souvent besoin d'un logiciel qui n'est pas dans le repplement standard. Pour l'installation forfaits supplémentaires nécessaire. Le plus populaire est Epel. Il avait l'habitude d'être rpmforge, mais déjà à quelques années fermées. À propos de lui tous oubliés. Connectez le référentiel EPEL. Avec lui, tout est simple, il est ajouté à partir du navet standard:

# Yum Installez Epel-version

En outre, le référentiel REMI est extrêmement utile pour CentOS 7, ce qui vous permet d'établir une version large de PHP, contrairement à celles du référentiel standard. Permettez-moi de vous rappeler que ceci est la version de PHP 5.4, qui n'est plus appropriée et retirée du soutien.

# RPM -UHV http://rpms.remirepo.net/enterprise/rem-relelease-7.rpm

Pour Centos 8 Remi n'est pas encore pertinent, mais je pense que c'est temporaire. En principe, ces deux dépositoires de Centos s'emparent généralement généralement. D'autres sont connectés sous des besoins spécifiques pour installer divers logiciels.

Configuration du stockage de l'histoire à Bash_History

Passer à la configuration du système Centos sur le serveur. Utile apportera quelques modifications au mécanisme standard pour sauver l'historique des équipes. Il vous aide souvent lorsque vous devez vous rappeler l'une des commandes entrées précédemment. Les paramètres standard ont des restrictions inconfortables. Voici leur liste:

  1. Par défaut, seules les 1 000 dernières commandes sont enregistrées. S'il y en a plus d'entre eux, plus vieux sera supprimé et remplacé par de nouveaux.
  2. Les dates d'exécution des commandes ne sont pas spécifiées, seule leur liste par ordre d'exécution.
  3. Le fichier avec la liste des messages est mis à jour après la fin de la session. Avec des sessions parallèles, une partie des commandes peut être perdue.
  4. Absolument toutes les commandes sont enregistrées, bien que le stockage n'a aucun sens.

La liste des dernières commandes exécutées est stockée dans le répertoire domestique du fichier dans le fichier. .bash_history. (au début du point). Il peut être ouvert par n'importe quel éditeur et voir. Pour une sortie plus pratique de la liste, vous pouvez entrer la commande dans la console:

# Histoire.

et voir la liste numérotée. Trouvez rapidement une commande spécifique, vous pouvez utiliser uniquement le filtrage uniquement les lignes souhaitées, par exemple, comme celle-ci:

# Histoire | Grep miam.

Nous verrons donc toutes les options pour exécuter la commande Yum, qui sont stockées dans l'histoire. Nous corrigerons les inconvénients énumérés des paramètres de stockage de commandes standard dans Centos. Pour ce faire, éditez le fichier .Castrc.qui est situé dans le même répertoire qu'un fichier d'historique. Ajoutez les lignes suivantes à ce sujet:

Exporter Histtériel \u003d 10000 Export HistTimeFormat \u003d "% h% d% H:% m:% s" export_command \u003d "Histoire" Export Histmarignore \u003d "LS: LL: Histoire: W: HTOP"

Le premier paramètre augmente la taille du fichier à 10 000 lignes. Vous pouvez faire plus, bien qu'il attrape généralement une telle taille. Le deuxième paramètre indique que vous devez enregistrer la date et l'heure de la commande. La troisième ligne force immédiatement après avoir exécuté le commandement pour le maintenir dans l'histoire. Dans la dernière ligne, nous créons une liste d'exceptions pour ces commandes dont l'enregistrement n'est pas requis dans l'historique. J'ai apporté un exemple de la liste la plus simple. Vous pouvez l'ajouter à votre discrétion.

Pour appliquer des modifications, il est nécessaire d'aligner et de se connecter à nouveau ou d'exécuter la commande:

# Source ~ / .bashrc

En mettant en place le stockage de l'historique des commandes, tout. Dans le fichier .bstrucc, vous pouvez configurer beaucoup de choses intéressantes. À une époque, j'avais aimé expérimenté, mais alors tout jeté, parce que cela n'a pas de sens. En travaillant avec des serveurs client, je vois le plus souvent la bash par défaut, il est donc préférable de s'y habituer et de y travailler. Et les paramètres individuels et les décorations sont le lot d'ordinateurs personnels et de serveurs. Pas de travailleurs. Donc, plus je ne configure rien selon la norme du serveur Centos à cet égard.

Mise à jour du système automatique

Pour maintenir la sécurité du serveur au niveau approprié, il est nécessaire au moins de le mettre à jour en temps utile - à la fois le noyau lui-même avec les services publics système et autres paquets. Vous pouvez le faire manuellement, mais pour un travail plus efficace, il est préférable de configurer l'exécution automatique. Il n'est pas nécessaire d'installer automatiquement les mises à jour, mais au moins pour vérifier leur apparence. J'y adhère habituellement à une telle stratégie.

Miam-cron

Utilitaire aidera à vérifier automatiquement les mises à jour dans Centos 7 miam-cron.. Il est traditionnellement effectué par miam du référentiel standard.

# Miam Installez miam-cron

Après avoir installé miam-cron est créé tâche automatique sur l'exécution de l'utilitaire dans /etc/cron.daily. et /etc/cron.hourly. Par défaut, l'utilitaire télécharge les mises à jour trouvées, mais ne les applique pas. Au lieu de cela, une notification des mises à jour est envoyée à l'administrateur à la racine de la boîte aux lettres locale. Plus loin vous êtes déjà dans mode manuel Venez décider d'installer des mises à jour ou non à un moment opportun pour vous. Je vois ce mode de travail le plus pratique, donc je ne modifie pas ces paramètres.

Vous pouvez configurer Yum-cron via les fichiers de configuration situés à /etc/yum/yum-cron.conf. et miam-cron-heure.conf. Ils ne sont pas mal commentés, donc dans des explications détaillées n'ont pas besoin. J'attire l'attention sur la section où vous pouvez spécifier les paramètres d'envoi de messages. Par défaut, envoyez un courrier via un hôte local. Vous pouvez modifier les paramètres et envoyer des messages via une tierce partie. serveur de courrier. Mais au lieu de cela, je préfère personnellement globalement pour l'ensemble du serveur d'ajuster le transfert de courrier local racinaire à une boîte aux lettres externe via l'autorisation sur un autre serveur SMTP.

DNF-Automatic.

Comme je l'ai dit plus tôt, un autre gestionnaire de lots est utilisé dans Centos 8 - DNF. Réglage de la mise à jour du paquet est effectuée via l'utilitaire dNF-Automatic.. Mettez-le et configurez-le.

# Yum Installez dnf-automatique

La gestion de la start-up de la planification n'est plus cron, mais la SystemD est son planificateur intégré. Regarder les minuteries de lancement automatique peuvent être en équipe:

# SystemCTL Timètres * DNF- *

S'il n'y a pas une tâche unique, vous pouvez ajouter une minuterie manuellement:

# SystemCtL Activer --NOW DNF-Automatic.Timer

La minuterie par défaut est configurée pour démarrer l'heure DNF-Automatic après le chargement du serveur et la répétition quotidienne. La configuration de la minuterie vit ici - /etc/systemd/system/multi-user.target.wants/dnf-automatic.Timer..

Config pour DNF-Automatic Vive dans /etc/dnf/automatic.conf.. Par défaut, il télécharge uniquement des mises à jour, mais ne les appliquez pas. La configuration est bien commentée, vous pouvez donc la configurer comme vous le souhaitez. Des explications séparées ne sont pas nécessaires. Configurez la mise à jour des packages système à votre discrétion. Comme je l'ai dit, je les balançons automatiquement. L'installation reste toujours sous contrôle avec le contrôle manuel.

Éteignez les poteaux inondables dans / var / log / messages

Continuer le cadre des Centos, corrige un petit inconvénient. Dans l'installation par défaut du 7ème système de version, tout votre journal système / Var / journal / messages Après un certain temps, le serveur sera bouché avec les enregistrements suivants.

16 oct1 14:01:01 XS-Files SystemD: Création de SLICE User-0.Slice. 16 oct 14:01:01 XS-Files SystemD: Démarrage utilisateur-0.Slice. 1er oct 14:01:01 XS-Files SystemD: Début Session 14440 de la racine des utilisateurs. 16:01:01 XS-Files Systemd: Session de départ 14440 de la racine de l'utilisateur. 1er oct 14:01:01 XS-Fichiers Systemd: Suppression de la tranche User-0.Slice. 16 oct. 14:01:01 XS-Fichiers SystemD: arrêter l'utilisateur-0.Slice. 16 oct. 15:01:01 XS-Fichiers SystemD: Création de SLICE User-0.Slice. 16 oct. 15:01:01 XS-Files SystemD: Démarrage utilisateur-0.Slice. 16 oct. 15:01:01 XS-Files SystemD: Début Session 14441 de la racine de l'utilisateur. 16 oct. 15:01:01 XS-Files SystemD: Session de départ 14441 de la racine de l'utilisateur. 16 oct. 15:01:01 XS-Files Systemd: Début Session 14442 de la racine de l'utilisateur. 16 oct. 15:01:01 XS-Files SystemD: Session de départ 14442 de la racine de l'utilisateur. 16 oct. 15:01:01 XS-Files SystemD: Suppression de la tranche d'utilisateur-0.Slice. 16 oct. 15:01:01 XS-Files SystemD: arrêter l'utilisateur-0.Slice. 16 oct. 16:01:01 XS-Files SystemD: Création de SLICE UTILISATEUR-0.SLICE. 16/01:01 XS-Files SystemD: Démarrage utilisateur-0.Slice. 16 mars 16:01:01 XS-Files Systemd: Début Session 14443 de la racine des utilisateurs. 16/01:01 XS-Files SystemD: Session de départ 14443 de la racine des utilisateurs. 16 mars 16:01:01 XS-Files SystemD: Suppression de la tranche User-0.Slice.

À Centos 8, je ne les ai pas remarqués, il n'est donc pas nécessaire de faire quoi que ce soit. Il n'y a pas d'utilisation pratique de la communication, nous allons donc les éteindre. Pour ce faire, créez une règle séparée pour Rsyslog, où nous répertorions tous les modèles de messages qui seront coupés. Publier cette règle dans un fichier séparé /etc/rsyslog.d/ignore-systemd-session-slice.conf..

# CD /etc/rsyslog.d && mcedit ignore-systémd-slice.conf si $ programme \u003d\u003d "SystemD" et ($ msg contient "Session de démarrage" ou $ msg contient "Session démarrée" ou $ msg contient "SLICE créée". Ou $ msg contient "l'utilisateur de démarrage-" ou $ msg contient "Démarrer la tranche d'utilisateur de" ou $ msg contient "Session supprimée" ou $ msg contient "la tranche d'utilisateur de la tranche supprimée" ou $ msg contient "Slice utilisateur d'arrêt de" Arrêter.

Enregistrez le fichier et redémarrez RSYSLOG pour appliquer les paramètres.

# SystemCTL Redémarrez RSYSLOG

Il faut comprendre que dans ce cas, nous éteignons l'inondation du fichier journal uniquement sur le serveur local. Si vous stockez les journaux, alors cette règle Il sera nécessaire de s'ajuster exactement dessus.

Installation IFTOP, ATOP, HTOP, LSOF sur CentOS

Et enfin, ajoutez quelques-uns à la fin de la configuration. utilitaires utilesqui peut être utile pendant l'opération de serveur.

iFTOP montre en temps réel de chargement de l'interface réseau, peut commencer par différentes touches, je ne cesserai pas à cela en détail, il y a des informations sur ce sujet sur Internet. Mettre:

# Yum installer iftop

Et deux tâches intéressantes Dispatchers, je utilise le plus souvent HTOP, mais parfois au sommet est utile. Nous mettons les deux, regardons vous-même, vous partagerez ce que vous aimez plus, adapté:

# Yum Installez hTOP # Yum Installer au sommet

Pour afficher des informations sur les fichiers utilisés par ceux-ci ou par d'autres processus, je vous conseille de mettre l'utilitaire lsof. Il est très susceptible d'être utile tôt ou tard lorsque vous diagnostiquez l'opération du serveur.

# Yum install wget bzip2 traceroute gdisk

J'ai tout sur ceci. Réglage de base CENTOS est terminé, vous pouvez commencer à installer et à configurer le principal fonctionnel.

Configuration du courrier système

Enfin configurer serveurs Centos Faisons que le courrier adressé à la racine locale est envoyé via un serveur de messagerie externe à la boîte aux lettres sélectionnée. Si ce n'est pas fait, il sera localement à plier localement dans le fichier. / Var / spool / mail / racine. Et il peut y avoir un important et information utile. Configurez-le à envoyer à une boîte d'administrateur système.

J'ai raconté des détails à ce sujet dans un article séparé -. Voici brièvement uniquement des commandes et des paramètres rapides. Nous définissons les paquets nécessaires:

# Yum Installez Mailx Cyrus-Sasl Cyrus-Sasl-Lib Cyrus-Sasl-LIer Postfix

Nous dessinons d'une telle configuration de postfix.

/etc/postfix/main.cf Cat ## configuration par défaut Begin ###################### queue_directory \u003d / var / spool / postfix command_directory \u003d / usr / sbin daemon_directory \u003d / usr / libexec / postfix data_directory \u003d / var / lib / postfix mail_owner \u003d Postfix inet_interfaces \u003d localhost inet_protocols \u003d Tout inconnu_protocols \u003d Tout Infonnex_protocols \u003d Tout Infonnex_protocols \u003d Tous inconnu_prods \u003d 550 alias_maps \u003d hachage: / etc / alias debug_peer_level \u003d 2 débogger_command \u003d path \u003d / bin: / bin: / bin: / usr / bin $ ddd daemon_directory $ / process_name $ id_processus & sleep 5 sendmail_path \u003d /usr/sbin/sendmail.postfix newaliases_path \u003d / usr / bin / newaliases.postfix mailq_path \u003d / usr / bin / mailq.postfix setgid_group \u003d postdrop HTML_DIRECTORY \u003d NO MANPAGE_DIRECTORY \u003d / usr / share / man sample_directory \u003d / échantillon homme / doc / postfix-2.10.1 / samples readme_directory \u003d / usr / share / DOC / postfix-2.10.1 / README_FILES ## DÉFAUT END ###################### nom # CONFIG serveur, qui affiche le hostname myHostName \u003d commande CentOS-test. xs.local # ici n Vous devez laisser un domaine sur la logique, mais dans ce cas, il est préférable de laisser le nom complet du serveur de sorte que dans le champ Sender # apparu le nom complet du serveur, il est plus pratique de démonter les messages de service. MyDomain \u003d CentOS-test.xs.local mydestination \u003d $ myHostName myorigin \u003d $ MyDomain # adresse du serveur qui envoyer du courrier relayhost \u003d mailsrv.mymail.ru:25 smtp_use_tls \u003d yes smtp_sasl_auth_enable \u003d yes smtp_sasl_password_maps \u003d hash: / etc / postfix / sasl_passwd smtp_sasl_security_options \u003d noanonymous smtp_tls_security_level \u003d peut

Créez un fichier contenant des informations sur le nom d'utilisateur et mot de passe pour l'autorisation.

# Mcedit / etc / postfix / sasl_passwd mailsrv.mymail.ru:25 [Email protégé]: Mot de passe.

Créez un fichier DB.

# Postmap / etc / postfix / sasl_passwd

Maintenant, vous pouvez redémarrer Postfix et vérifier le travail.

# SystemCtL Redémarrer postfix

Pour alias standard de racine / etc / alias, Ajoutez une adresse externe dans laquelle le courrier adressé à la racine sera dupliqué. Pour ce faire, modifiez le fichier spécifié en changeant la dernière chaîne.

#Root: marc.

Racine: root, [Email protégé]

Nous mettons à jour la base de données de certificat:

# newaliases

Nous allons envoyer une lettre à travers la console LAN:

# DF -H | -S mail "Utilisation du disque" Root

La lettre devrait aller à la boîte extérieure. Si vous utilisez une boîte de Yandex, vous obtiendrez probablement une erreur dans le journal du serveur de messagerie et la lettre ne sera pas envoyée.

Relais \u003d smtp.yandex.ru: 25, délai \u003d 0,25, délais \u003d 0/0 / 0,24 / 0.01, DSN \u003d 5.7.1, Statut \u003d rebond (hôte smtp.yandex.ru a déclaré: 553 5.7.1 Adresse de l'expéditeur rejetée: Non appartenant à l'utilisateur authentifiant. (En réponse à la commande de la commande)))

Cette erreur signifie que vous n'avez pas la même boîte qu'un expéditeur que vous utilisez pour l'autorisation. Comment réparer cela, je le dis dans un article séparé -. Avec d'autres systèmes postaux où il n'y a pas de tel chèque, tout devrait aller bien et ainsi.

À ce sujet, le réglage du courrier local est terminé. Maintenant, toutes les lettres adressées à la racine locale, par exemple, les rapports CRON seront dupliqués à une boîte aux lettres externe et avec l'envoi d'un serveur de messagerie à part entière. Les lettres seront donc finement livrées, ne tombant pas dans le spam (bien que ce ne soit pas nécessaire, il existe également des filtres heuristiques).

Conclusion

Nous avons effectué certains Étapes primaires En configurant le serveur Centos, que je fais habituellement lors de la préparation du serveur immédiatement après l'installation. Je ne prétends pas la vérité absolue, peut-être me manquer ou ne pas vraiment bien. Je serai heureux de commenter et de commentaires raisonnables et significatifs avec des suggestions.

..
  • Comprendre les caractéristiques du déploiement, des paramètres et de la maintenance des réseaux construits sur la base de Linux.
  • La possibilité de résoudre rapidement des problèmes émergents et de garantir une opération de système stable et ininterrompue.
  • Vérifiez-vous sur le test d'introduction et consultez le programme logiciel.

    Sur la protection du serveur des menaces externes, d'abord se lèvent entre Écran de réseauqui filtre le trafic entrant et sortant. IPTABLES SETTING - Un cas privé de pare-feu sur Centos Je tiens à faire dans cet article, tout en parlant de son installation et de son déconnexion. Mon leadership ne sera pas exhaustif, je ne considérerai que ces aspects que je considère comme le plus important et que je utilise moi-même dans votre travail.

    Cet article fait partie du cycle unifié de l'article sur le serveur.

    introduction

    IPTABLE est actuellement une norme de facto dans les distributions de Linux contemporaines. Je ne peux même pas vous rappeler que d'autre est utilisé comme pare-feu. Ainsi, tout administrateur Linux doit être rencontré dans son travail avec la configuration de ce pare-feu.

    Il existe différentes sangles sur ce pare-feu utilisé pour des paramètres plus «pratiques». À Ubuntu est ufw.à Centos - pare-feu., avec d'autres n'est pas familier. Personnellement, je ne vois aucune commodité pour utiliser ces outils. J'avais l'habitude d'accorder le pare-feu Linux de l'ancienne, comme appris au tout début du travail. Il me semble que c'est la manière la plus facile et la plus pratique que je partagerai avec vous. Son essence revient au fait que le script est créé avec les règles du pare-feu. Ce script peut être facilement modifié sous vos besoins et transférer du serveur sur le serveur.

    Désactiver le pare-feu.

    Firewalld Disconnection Question Je me suis déjà préoccupé par le sujet des logiciels. La première chose fera désactiver le pare-feu, qui est présent dans Centos 7 par défaut immédiatement après l'installation:

    # SystemCl Stop FirewallDd

    Nous allons maintenant le supprimer de la startup, de sorte qu'il ne s'allume pas après le redémarrage:

    # SystemCTL désactiver le pare-feu

    Après cela, sur le serveur, les paramètres de l'écran de réseau deviennent pleinement ouverts. Je peux voir les règles IPTables par la commande:

    Installation d'iptables

    En fait, le pare-feu sur le serveur est déjà debout et fonctionne, il n'a tout simplement pas de règles, tout est ouvert. Nous devrons établir des utilitaires de contrôle supplémentaires, sans quoi il est impossible de configurer IPTABLES. Par exemple, il est impossible de redémarrer le pare-feu:

    # SystemCl Redémarrez iptables.Service Échec de l'édition de la méthode Call: Unité Iptables.Service n'a pas réussi à charger: Aucun fichier ou répertoire de ce type.

    Ou Ajouter à Autorun Cela ne fonctionnera pas:

    # SystemCtL Activer Iptables.Service n'a pas réussi à émettre un appel de méthode: aucun fichier ou répertoire de ce type

    Pour ne pas avoir de telles erreurs, installez le paquet requis avec les utilitaires:

    # Yum -y installer iptables-services

    Vous pouvez maintenant ajouter des iptables à AutoLoad et exécuter:

    # SystemCTL Activer iptables.Service # SystemCTL Démarrez iptables.Service

    Configuration du pare-feu

    Pour gérer les règles de pare-feu, j'utilise le script. Créez-le:

    # Mcedit /etc/iptables.sh.

    Ensuite, nous le remplacerons avec les règles nécessaires. Je vais désassembler toutes les parties importantes du script et complètement le donner sous la forme fichier texte À la fin de l'article. Les règles sont fabriquées sous forme d'images pour interdire la copie et l'insertion. Cela peut conduire à des erreurs dans le travail des règles, avec laquelle je rencontre moi-même lors de la préparation de l'article.

    Nous examinerons la situation lorsque le serveur est la passerelle Internet pour réseau local.

    Tout d'abord, définissez toutes les variables qui utiliseront dans le script. Il n'est pas nécessaire de le faire, mais il est recommandé car il est pratique de transporter des paramètres du serveur sur le serveur. Il suffira de simplement réaffecter les variables.

    Avant d'appliquer de nouvelles règles, nous nettoyons toutes les chaînes:

    Nous bloquons tout le trafic qui ne correspond à aucune des règles:

    Laissez tout le trafic de LOCKALHOST et LANS:

    Laisse-moi faire ping:

    Si vous n'en avez pas besoin, n'ujoutez pas d'autorisation de règles pour ICMP.

    Ouvrez l'accès à Internet au serveur lui-même:

    Si vous souhaitez ouvrir toutes les connexions de serveur entrants, ajoutez une règle supplémentaire:

    Maintenant, ajoutez une protection contre les attaques de réseau les plus courantes. Tout d'abord, nous lancerons tous les colis qui n'ont aucun statut:

    Bloquer les paquets zéro:

    Fermer des attaques syn-inondées:

    Si vous ne mettez pas de restrictions à l'accès du réseau local, vous autorisez tous les accès à Internet:

    Ensuite, interdisez l'accès de Ineta au réseau local:

    Pour que notre réseau local utilise Internet, allumez NAT:

    Afin de ne pas perdre d'accès au serveur, après avoir appliqué les règles, autorisez les connexions SSH:

    Et à la fin, écrivez les règles à appliquer après le redémarrage:

    Nous avons constitué la configuration la plus simple qui bloque toutes les connexions entrantes, à l'exception de SSH et permet d'accéder au réseau local à Internet. En cours de route, ils étaient protégés de certaines attaques de réseau.

    Nous enregistrons le script, exécutables et lancons:

    # Chmod 0740 /etc/iptables.sh # /etc/iptables.sh

    Nous examinerons les règles et vérifierons si toutes les règles sur place:

    # iptables -l -v -n

    Je dessine votre attention - appliquez les règles uniquement si vous avez accès à la console de serveur. Si vous erreur dans les paramètres, vous pouvez perdre accès. Assurez-vous que dans une situation anormale, vous pouvez désactiver le pare-feu et régler les paramètres.

    Ports d'ouverture

    Nous allons maintenant élargir notre configuration et nos ports ouverts dans IPTABLES pour certains services. Supposons que nous ayons un serveur Web et que vous devez ouvrir l'accès à partir d'Internet. Nous ajoutons des règles pour le trafic Web:

    L'autorisation a été ajoutée aux composés entrants des ports 80 et 443RD qui utilisent le serveur Web dans son travail.

    Si vous avez installé un serveur de messagerie, vous devez résoudre les connexions entrantes sur tous les ports utilisés:

    Pour un fonctionnement correct du serveur DNS, vous devez ouvrir le port UDP 53

    Port de port

    Considérez la situation lorsque vous devez exécuter des ports de l'interface externe vers un ordinateur sur le réseau local. Supposons que vous ayez besoin d'obtenir un accès RDP à un ordinateur 10.1.3.50 sur Internet. Faire le port TCP 3389:

    Si vous ne voulez pas briller à l'extérieur du port connu, vous pouvez rendre la redirection d'un port non standard au port RDP de l'ordinateur final:

    Si vous faites le port à l'extérieur de l'intérieur du réseau local, vous devez vous conformer à la règle qui bloque l'accès du réseau externe dans l'intérieur. Dans mon exemple, cette règle: $ ipt -a -a avance -i $ wan -o $ lan1 -j rejet

    Soit avant cette règle, créez une règle de résolution pour l'accès de l'extérieur au service interne, par exemple comme celui-ci:

    $ Ipt -a avance -i $ WAN -D 10.1.3.50 -P TCP -M TCP -DPORT 3389 -J Accepter

    Allumer les journaux

    Pendant la configuration, il est utile d'activer les journaux de surveiller les packages bloqués et de déterminer pourquoi il n'y a pas d'accès aux services nécessaires que nous semblons avoir déjà découverts. J'envoie tous les paquets bloqués dans des chaînes séparées (block_in, block_out, block_fw), correspondant au sens du trafic et de l'étiquetage dans les journaux de chaque direction. Il est plus pratique de faire une analyse de vol. Nous ajoutons les règles suivantes au plus simple du script avant d'enregistrer les paramètres:

    Tous les emballages verrouillés Vous pouvez suivre dans le fichier / var / log / message.

    Après avoir terminé le réglage, commencez ces chaînes en éteignant la journalisation. Assurez-vous de le faire, car les journaux augmentent très rapidement. Je ne vois pas une signification pratique pour garder ces informations personnellement.

    Comment désactiver les iptables

    Si vous décidez soudainement que le pare-feu vous n'avez plus besoin de vous, vous pouvez l'éteindre comme suit:

    # SystemCTL STOP IPTABLES.VICE

    Cette équipe arrête le pare-feu. Et le prochain élimine de la startup:

    # SystemCtl désactiver iptables.Service

    Débranchez l'écran de réseau, nous avons autorisé toutes les connexions.

    Conclusion

    Comme promis, je pose le script prêt à l'emploi avec le principal ensemble de règles que nous avons examinées.

    Je veux faire attention à une fois encore que lors de la mise en place d'IPTABLES, vous devez être extrêmement attentif. Ne démarrez pas ce cas si vous n'avez pas accès à la console de serveur. Même en écrivant cet article, j'ai perdu accès au serveur en raison d'une erreur ridicule dans les règles. Cette erreur est survenue en raison de la copie et de la perte de double tireau - il a été remplacé par un seul.

    cours en ligne "Administrateur Linux" dans Otus. Le parcours n'est pas pour les débutants, car l'admission Vous avez besoin de connaissances de base sur les réseaux et d'installer Linux à virtuel. La formation dure 5 mois, après quoi les diplômés réussis du cours seront en mesure de passer des entretiens de partenaires. Qu'est-ce qui vous donnera ce cours:

    • Connaissance de l'architecture Linux.
    • Maîtriser les méthodes modernes et les outils d'analyse des données et de traitement des données.
    • La possibilité de sélectionner la configuration pour les tâches nécessaires, gérer les processus et assurer la sécurité du système.
    • Possession des principaux instruments de travail de l'administrateur système.
    • Comprendre les caractéristiques du déploiement, des paramètres et de la maintenance des réseaux construits sur la base de Linux.
    • La possibilité de résoudre rapidement des problèmes émergents et de garantir une opération de système stable et ininterrompue.
    Vérifiez-vous sur le test d'introduction et consultez le programme logiciel.

    Le pare-feu installé dans le système d'exploitation est utilisé pour empêcher le passage de la circulation non autorisée entre réseaux informatiques. Manuel ou crée automatiquement des règles spéciales pour le pare-feu, qui sont responsables du contrôle d'accès. Au système d'exploitation, développé sur le noyau Linux, Centos 7 Il existe un pare-feu intégré et il est contrôlé par pare-feu. Le pare-feu par défaut est impliqué et nous aimerions en parler aujourd'hui.

    Comme mentionné ci-dessus, le pare-feu standard de Centos 7 est attribué à un utilitaire de pare-feu. C'est pourquoi le réglage du pare-feu sera pris en compte sur l'exemple de cet outil. Vous pouvez définir les règles de filtrage avec les mêmes iptables, mais il est effectué légèrement différent. Nous vous recommandons de vous familiariser avec la configuration de l'utilitaire mentionné en cliquant sur le lien suivant et nous commencerons le démontage du pare-feu.

    Les concepts de base du pare-feu

    Il existe plusieurs ensembles de zones de zone pour gérer le trafic sur la base de la confiance des réseaux. Tous reçoivent leurs propres politiques, dont la totalité et forme la configuration du pare-feu. Chaque zone se voit attribuer une ou plusieurs interfaces réseau, ce qui vous permet également de régler le filtrage. Les règles appliquées dépendent directement de l'interface utilisée. Par exemple, lorsque connecté à un écran de réseau Wi-Fi accessible au public augmentera le niveau de contrôle et dans réseau domestique Il ouvrira un accès supplémentaire pour les participants de la chaîne. Dans le farvol vu, il y a de telles zones:

    • trusted est le niveau de confiance maximal dans tous les périphériques de réseau;
    • accueil - LAN Group. Il y a une confiance dans les environs, mais les connexions entrantes sont disponibles uniquement pour certaines machines;
    • travail - Zone de travail. Il y a une confiance dans la plupart des appareils et des services supplémentaires sont activés;
    • dMZ - Zone pour ordinateurs isolés. De tels dispositifs sont déconnectés du reste du réseau et seul un certain trafic entrant est passé;
    • zone de réseau interne interne. La confiance s'applique à toutes les machines, des services supplémentaires sont ouverts;
    • externe - inverse de la zone précédente. Dans les réseaux externes, le masquage NAT est actif, fermant le réseau intérieur, mais sans bloquer la possibilité d'accéder;
    • public - une zone de réseaux publics avec méfiance envers tous les appareils et réception individuelle du trafic entrant;
    • bloc - Toutes les demandes entrantes sont réinitialisées avec l'envoi d'erreur iCMP-hôte-interdit ou alors iCMP6-AMM-interdit;
    • la chute est le niveau minimum de confiance. Les connexions entrantes sont déchargées sans aucune notification.

    Les politiques elles-mêmes sont temporaires et permanentes. Lorsque des paramètres ou modifiés, l'action de pare-feu change immédiatement sans redémarrage. Si des règles temporaires ont été appliquées, après le redémarrage du pare-feu, ils seront réinitialisés. La règle permanente s'appelle quelque chose - il sera sauvé de manière continue lors de l'application de l'argument -Permanent.

    Activer le pare-feu Firewalld

    Tout d'abord, vous devez exécuter un pare-feu ou vous assurer qu'il s'agit d'une condition active. Seul le démon fonctionnant (un programme fonctionnant en arrière-plan) appliquera les règles du pare-feu. L'activation est établie littéralement quelques clics:

    1. Courir le classique "Terminal" Toute méthode pratique, par exemple, à travers le menu "Applications".
    2. Entrez la commande Sudo SystemCtTL Start Firewalld.Service et cliquez sur la touche. ENTRER.
    3. Le contrôle de l'utilitaire est effectué pour le compte du superutilisateur, vous devez donc confirmer l'authenticité en spécifiant le mot de passe.
    4. Pour vous assurer que le service fonctionne, spécifiez le pare-feu-cmd -state.
    5. Dans la fenêtre graphique qui s'ouvre, reportez-vous à l'authenticité.
    6. Une nouvelle ligne apparaîtra. Valeur "En cours" suggère que le pare-feu fonctionne.

    Si vous serez une fois temporairement ou définitivement désactiver le pare-feu, nous vous conseillons d'utiliser les instructions présentées dans l'autre article par le lien suivant.

    Voir les règles par défaut et les zones abordables

    Même le pare-feu ordinaire a ses propres règles définies et ses zones accessibles. Avant de commencer la modification du politicien, nous vous conseillons de vous familiariser avec la configuration actuelle. Ceci est fait en utilisant des commandes simples:

    1. La zone par défaut déterminera la commande Firewall-CmD-Zone-Zone.
    2. Après son activation, vous verrez nouvelle chaîneoù le paramètre requis apparaît. Par exemple, la zone est considérée dans la capture d'écran ci-dessous "Publique".
    3. Cependant, plusieurs zones peuvent être actives immédiatement, en outre, elles sont liées à une interface distincte. Découvrez ces informations via Firewall-Cmd --Get-ACTIVE-ZONES.
    4. La commande Firewall-CMD - Toutes les commandes afficheront les règles définies pour la zone par défaut. Faites attention à la capture d'écran ci-dessous. Vous voyez la zone active "Publique" Règle récompensée "DÉFAUT" - Fonctionnement par défaut, interface "ENP0SS3" et ajouté deux services.
    5. Si vous avez besoin d'apprendre toutes les zones de pare-feu disponibles, entrez des zones de pare-feu-cmd --get.
    6. Les paramètres de la zone spécifique sont définis via Firewall-cmd --Zone \u003d Nom --list - Tous, où nom. - Zone de noms.

    Après avoir déterminé les paramètres requis, vous pouvez passer à leur changement et à leur addition. Analysons plusieurs des configurations les plus populaires en détail.

    Configuration des zones d'interface

    Comme vous le savez des informations ci-dessus, votre zone par défaut est définie pour chaque interface. Il y en aura jusqu'à ce que les paramètres changent l'utilisateur ou de manière programmatique. Il est possible de transférer manuellement l'interface sur la zone par session et elle est réalisée en activant la commande sudo-pare-feu-cmd -zone \u003d home Commande --Change-interface \u003d ETH0. Résultat "SUCCÈS" Cela indique que le transfert a réussi. Rappelez-vous que de tels paramètres sont réinitialisés immédiatement après le redémarrage du pare-feu.

    Avec un tel changement dans les paramètres, il convient de garder à l'esprit que le fonctionnement des services peut être réinitialisé. Certains d'entre eux ne soutiennent pas le fonctionnement dans certaines zones, disons, ssh bien que accessibles dans "DOMICILE"Mais dans l'utilisateur ou le service spécial refusera de travailler. Assurez-vous que l'interface a été liée avec succès à la nouvelle succursale, en entrant le pare-feu-CMD -GET-ACTIVE-ZONES.

    Si vous souhaitez réinitialiser les paramètres précédemment définis, exécutez simplement le redémarrage du pare-feu: Sudo SystemCtl redémarrez Firewalld.Service.

    Parfois, il n'est pas toujours pratique de changer la zone d'interface en une seule session. Dans ce cas, vous devrez éditer le fichier de configuration afin que tous les paramètres soient émaillés de manière permanente. Pour ce faire, nous vous conseillons d'utiliser un éditeur de texte. nano.qui est installé à partir du référentiel officiel de Sudo Yum Install Nano. Ensuite reste de telles actions:

    1. Ouvrez le fichier de configuration via l'éditeur en entrant sudo nano / etc / sysconfig / réseaux-scripts / ifcfg -thh0, où eTH0. - Nom de l'interface requise.
    2. Confirmer l'authenticité compte Remplir d'autres mesures.
    3. Établir le paramètre Zone Et changer sa valeur à la personne souhaitée, par exemple, publique ou à la maison.
    4. Tenir les clés Ctrl + O.Enregistrer les modifications.
    5. Ne changez pas le nom du fichier, mais cliquez simplement sur ENTRER.
    6. Quittez l'éditeur de texte à travers Ctrl + X..

    Maintenant, la zone d'interface sera celle que vous avez indiquée, jusqu'à la prochaine modification fichier de configuration. Pour les paramètres mis à jour, exécutez Sudo SystemCtL Redémarrer Network.Service et Sudo SystemCTL Redémarrez le pare-feu.

    Définition de la zone par défaut

    Au-dessus, nous avons déjà démontré une équipe qui vous permet d'apprendre la zone par défaut. Il peut également être modifié en définissant le paramètre à votre choix. Pour ce faire, dans la console, il suffit d'enregistrer sudo pare-feu-cmd -Set-par défaut-zone \u003d nom, où nom. - le nom de la zone requise.

    Le succès de l'équipe va expulser l'inscription "SUCCÈS" Dans une ligne séparée. Après cela, toutes les interfaces actuelles seront nées à la zone spécifiée, si l'autre n'est pas spécifiée dans les fichiers de configuration.

    Créer des règles pour les programmes et les services publics

    Au tout début de l'article, nous avons parlé de l'action de chaque zone. La définition des services, des utilitaires et des programmes dans de telles branches permettra d'appliquer des paramètres individuels pour chacun d'eux pour chaque demande d'utilisateur. Pour commencer, nous vous conseillons de vous familiariser avec la liste complète des services disponibles pour le moment: Firewall-CMD --Get-Services.

    Le résultat sera affiché directement dans la console. Chaque serveur est divisé par un espace et vous pouvez facilement trouver l'outil qui vous intéresse. Si le service requis est manquant, il doit être installé en outre. Sur les règles d'installation, lisez dans la documentation logicielle officielle.

    La commande ci-dessus ne démontre que les noms des services. Des informations détaillées Pour chacun d'eux, il s'avère dans un fichier individuel situé sur le chemin / USR / LIB / Firewalld / Services. Ces documents ont un format XML, le chemin, par exemple à SSH ressemble à ceci: /usr/lib/firewalld/services/ssh.xml, et le document dispose du contenu suivant:

    Ssh.
    Secure Shell (SSH) est un protocole de connexion et d'exécution de commandes sur des machines distantes. Il fournit des communications cryptées sécurisées. Si vous envisagez d'accéder à votre machine RemoNet via SSH sur une interface pare-feu, activez cette option. Vous avez besoin du package OpenSSH-Server installé pour cette option pour être utile.

    Le support de service est activé manuellement dans une zone spécifique. DANS "Terminal" Vous devriez définir le Sudo Firewall-cmd --Zone \u003d Public --DD-Service \u003d Commande HTTP, où --Zone \u003d public - zone d'activation et --Add-service \u003d http - Nom du service. Notez qu'un tel changement ne sera valable que dans une session.

    L'addition permanente est effectuée via Sudo Firewall-cmd --Zone \u003d Public --Permanent --DD-Service \u003d HTTP, et le résultat "SUCCÈS" Spécifie la réussite de l'opération.

    Vue liste complète Règles permanentes pour une zone spécifique peut, affichant une liste dans une ligne séparée de la console: Sudo Firewall-CMD --Zone \u003d Public --Permanent -List-Services.

    Problème de décision avec le manque d'accès au service

    Les règles de pare-feu standard sont les services les plus populaires et les plus sûrs tels que autorisés, mais certains standard ou applications tierces Ça bloque. Dans ce cas, l'utilisateur doit manuellement pour modifier les paramètres pour résoudre le problème avec accès. Vous pouvez le faire dans deux méthodes différentes.

    Port de portes

    Comme vous le savez, tous les services de réseau utilisent un port spécifique. Il est facilement détecté par un pare-feu et des blocs peuvent être effectués. Pour éviter de telles actions du pare-feu, vous devez ouvrir le port souhaité du pare-feu sudo-cmd -zone \u003d public - Portd-Port \u003d 0000 / TCP, où --Zone \u003d public - Zone pour le port, --Add-Port \u003d 0000 / TCP - Le numéro de port et le protocole. L'option Firewall-CMD -List-Ports affichera une liste des ports ouverts.

    Si vous devez ouvrir des ports inclus dans la gamme, utilisez le pare-feu sudo-cmd -zone \u003d public - PORD-PORT \u003d 0000-9999 / UDP Rail, où --Add-Port \u003d 0000-9999 / UDP - Gamme de ports et de leur protocole.

    Les commandes ci-dessus ne vous permettent que de tester l'utilisation de paramètres similaires. Si elle est passée avec succès, vous devez ajouter les mêmes ports à des paramètres constants, ce qui est fait en entrant Sudo Firewall-cmd -zone \u003d Public --Permanent --Add-Port \u003d 0000 / TCP ou Sudo Firewall-CMD - Zone \u003d Public --Permanent --Add-Port \u003d 0000-9999 / UDP. La liste des ports permanents ouverts est considérée comme suit: sudo pare-feu-cmd --zone \u003d Public --Permanent -list-Ports.

    Définition du service

    Comme vous pouvez le constater, l'ajout de ports ne provoque aucune difficulté, mais la procédure est compliquée lorsque les applications utilisent une grande quantité. Pour suivre tous les ports utilisés devient difficile, au vu desquels la détermination du service sera une option plus correcte:


    Vous devez seulement choisir la solution la plus appropriée au problème de service avec l'accès au service et exécuter les instructions fournies. Comme vous pouvez le constater, toutes les actions sont effectuées assez facilement et il ne devrait y avoir aucune difficulté.

    Créer des zones personnalisées

    Vous savez déjà que dans un grand nombre de zones diverses avec des règles définies a été créée dans Firewalld. Cependant, des situations se produisent lorsque l'administrateur système doit créer une zone utilisateur, par exemple, par exemple, "Publicweb" Pour le serveur Web installé ou "Privatedns" - Pour le serveur DNS. Sur ces deux exemples, nous analyserons l'ajout des succursales:


    De cet article, vous avez appris à créer zones personnalisées Et ajouter des services à eux. Nous leur avons déjà dit par défaut et attribuant des interfaces ci-dessus, vous ne pouvez spécifier que les noms appropriés. N'oubliez pas de redémarrer le pare-feu après avoir effectué un changement permanent.

    Comme vous pouvez le constater, le pare-feu Firewalld est un outil assez volumétrique qui vous permet de créer la configuration la plus flexible du pare-feu. Il reste seulement de s'assurer que l'utilitaire se lance avec le système et que les règles spécifiées commencent immédiatement leur travail. Faites-le avec la commande Sudo SystemCtL Activer FirewallD.

    En commençant par Centoos 7 pour configurer les règles du trafic de filtrage, un nouvel outil est apparu pare-feu.. Il est recommandé de pouvoir utiliser pour gérer les règles IPTABLES. Dans les Centos 8, au lieu de l'emballage de filtrage IPTABLES standard, le cadre NFTABLES est maintenant utilisé et lors de la configuration des règles de pare-feu via Firewalld, en fait, vous configurez NFTABLES. Dans cet article, nous examinerons l'installation, les concepts de base et la configuration du pare-feu Firewalld sur le serveur fonctionnant Centos 8 (à Centos 7, toutes similaires).


    Pare-feu. - un pare-feu pour protéger le serveur de trafic indésirable avec le soutien de la gestion de règles dynamiques (sans redémarrer) et de mettre en œuvre les règles de pare-feu permanentes. Fonctionne comme une interface pour et nftables. Le pare-feu peut être utilisé dans presque toutes les distributions Linux.

    Concepts de base Firewalld, zones et règles

    Avant d'installer et de configurer pare-feu.Nous vous familiariserons avec le concept de zones utilisées pour déterminer le niveau de confiance dans divers composés. Pour diverses zones pare-feu. Vous pouvez appliquer différentes règles de filtrage, spécifier les options de pare-feu actives sous la forme de services prédéfinis, de protocoles et de ports, de redirections de port et de règles riches.

    Pare-feu. Filtres le trafic entrant sur les zones en fonction des règles appliquées à la zone. Si un Ip- L'expéditeur Sender Sender est conforme aux règles de n'importe quelle zone, le colis sera envoyé via cette zone. Si l'adresse ne correspond à aucune des zones configurées sur le serveur, le package sera traité par la zone par défaut. Quand installé pare-feu.la zone par défaut est appelée publique.

    FirewallD a des zones où les autorisations sont déjà configurées pour divers services. Vous pouvez utiliser ces paramètres ou créer vos propres zones. Liste des zones par défaut créées lors de l'installation de Firewalld (stocké dans le / USR / LIB / Firewalld / Zone / Zones / Zones / Zones / Zones / Zones):

    tomber. niveau de confiance minimum. Toutes les connexions entrantes sont bloquées sans réponse, seuls les composés sortants sont autorisés;
    bloquer la zone est similaire à celle du précédent, mais lorsque les demandes entrantes rejette le message ICMP-HIGH-HOST-interdit pour IPv4 ou ICMP6-AMM-interdit pour IPv6;
    publique représente des réseaux publics et non approuvés. Vous pouvez résoudre les composés entrants sélectionnés individuellement;
    externe réseaux externes lors de l'utilisation de pare-feu comme une passerelle. Il est configuré pour masquer NAT, votre réseau interne reste donc privé, mais abordable;
    interne antonymore externe. L'hôte possède un niveau de confiance suffisant, un certain nombre de services supplémentaires sont disponibles.
    dMZ. utilisé pour les ordinateurs situés dans DMZ (ordinateurs isolés sans accès au reste du réseau). Seuls certains composés entrants sont autorisés;
    travail zone pour les machines de travail (la plupart des ordinateurs du réseau de confiance);
    dOMICILE zone de réseau domestique. Vous pouvez faire confiance à la plupart des PC, mais seuls certains composés entrants sont pris en charge;
    de confiance. faites confiance à toutes les machines en ligne. La plus ouverte de tous options disponiblesnécessite une utilisation consciente.

    DANS pare-feu. Deux ensembles de règles sont utilisés - constants et temporaires. Les règles temporaires fonctionnent avant de redémarrer le serveur. Par défaut, lors de l'ajout de règles dans pare-feu.Les règles sont considérées comme temporaires ( durée.). Ajouter une règle sur une base continue. Vous devez utiliser le drapeau - permanent.. De telles règles seront appliquées après le redémarrage du serveur.

    Installation et inclusion FirewallD in Centos

    Dans Centos 7/8 Firewalld est installé par défaut au système d'exploitation. Si vous l'avez supprimé et que vous souhaitez installer FirewallD, vous pouvez utiliser le gestionnaire standard / DNF:

    # Yum Installez le pare-feu - pour Centos 7
    # DNF Installez le pare-feu - pour Centos 8

    À démon pare-feu. Il a commencé automatiquement avec le démarrage du serveur, vous devez l'ajouter à:

    # SystemCtL Activer le pare-feu

    Et courir:

    # SystemCtL Start Firewalld

    Vérifiez l'état du service:

    # SystemCTL Statut Firewalld

    ● Firewalld.Service - Firewalld - Démon de pare-feu dynamique chargé: chargé (/usr/lib/systemd/system/firewald.service; activé; Vendeur prédéfini: activé) actif: actif (en cours d'exécution) depuis mon 2019-10-14 14:54 : 40 +06; Il y a 22 ans Docs: Man: Firewalld (1) Main PID: 13646 (Firewalld) Cgroup: /System.slice/firewalld.Service └─13646 / USR / BIN / PYPHON2 -ES / USR / SBIN / FirewallD --NOFORK --NOPID 14:54:40 Server.vpn.ru Systemd: Démarrage de pare-feu - Démon de pare-feu dynamique ... 14 14:54:40 Server.vpn.ru SystemD: Commencé Firewalld - Démon de pare-feu dynamique.

    Soit par l'équipe:

    # Pare-feu-cmd --state

    La commande pare-feu-cmd est le texte avant pare-feu sur NFTABLES / IPTABLES.

    # Pare-feu-cmd --state

    Travailler avec des règles de pare-feu

    Règles par défaut:

    Avant de configurer les règles de pare-feu, vous devez vérifier quelle zone est utilisée par défaut:

    # Firewall-CMD --Get-Zone par défaut

    Depuis le pare-feu, nous avons seulement installé et n'avons pas encore été mis en place, nous avons une zone par défaut publique.

    Vérifiez la zone active. Elle est aussi seule - publique:

    # Firewall-CMD --Gutières-Zones actifs

    Interfaces publiques: ETH0

    Comme vous pouvez le constater, l'interface réseau ETH0 est contrôlée par la zone. publique.

    Pour afficher les règles de zone active, entrez:

    # Pare-feu-cmd --list - tous

    Cible publique (active) Cible: Parfait ICMP-Block-Inversion: Aucune interface: Eth0 Sources: Services: Ports SSH de DHCPV6-Client: Protocoles: Masquerade: Aucun ports avant: Source-Ports: ICMP-Blocks: Riche riche:

    De la liste, il est clair que dans cette zone Ajout d'opérations conventionnelles associées au client DHCP et à SSH.

    Zones disponibles

    Pour afficher une liste de toutes les zones, vous devez exécuter la commande:

    # Firewall-CMD --Get-Zones

    J'ai eu une telle liste:

    Bloc DMZ DROP DROP DOMAINE EXTÉRIEUR DOMAINE PUBLI DU PUBLIQUE DE CONFIGURÉ INTERNE

    Pour vérifier les règles de la zone spécifique, vous devez ajouter une zone de drapeau.

    # Pare-feu-cmd --zone \u003d home --list - tous

    Accueil Target: Parfait ICMP-Block-Inversion: Aucune interface: Sources: Services: DHCPV6-Client MDNS Samba-Client Ports SSH: Protocoles: Masquerade: Aucun port avant: Source-Ports: Blocs ICMP: Riche riche

    Règles de toutes les zones, vous pouvez voir l'équipe:

    # Pare-feu-cmd -Liste -List-Zones

    La liste sera assez importante, car les zones peuvent être beaucoup.

    Changer la zone par défaut.

    Par défaut, toutes les interfaces réseau sont situées dans la zone. publiqueMais vous pouvez être transféré dans n'importe laquelle des zones, l'équipe:

    # Pare-feu-cmd --zone \u003d home -change-interface \u003d ETH0

    Après le paramètre -Zone \u003d. Spécifiez la zone souhaitée.

    Pour modifier la zone par défaut, vous devez appliquer la commande:

    # Pare-feu-cmd -Set-défaut-zone \u003d home

    Ajout de règles pour les applications

    Pour ouvrir le port pour l'application, vous pouvez ajouter un service aux exceptions. Afficher une liste de services disponibles:

    La sortie contiendra un grand nombre de services. Des informations détaillées sur le service sont contenues dans sa xML déposer. Ces fichiers sont situés dans le répertoire USR / LIB / FirewallD / Services.

    Par example:

    # CD / USR / LIB / FirewallD / Services

    Mail (SMTP) Cette option permet une livraison de courrier SMTP entrante. Si vous devez autoriser des hôtes distants à vous connecter directement à votre machine pour livrer le courrier, activez cette option. Vous n'avez pas besoin d'activer ceci si vous collectez votre courrier à partir de votre serveur ISP par POP3 ou IMAP, ou si vous utilisez un outil tel que Fetchmail. Notez qu'un serveur SMTP configuré de manière incorrecte peut permettre à des machines distantes d'utiliser votre serveur à envoyer. Pourriel.

    Le fichier XML a une description du service, du protocole et du numéro de port, qui sera ouverte dans FirewallD.

    Lors de l'ajout de règles, vous pouvez utiliser le paramètre -Ajouter au service.Ouvrir l'accès à un service spécifique:

    # Firewall-cmd --Zone \u003d Public --DD-Service \u003d http

    # Firewall-cmd --Zone \u003d Public --DD-SERVICE \u003d HTTPS

    Après avoir ajouté des règles, vous pouvez vérifier si les services sont ajoutés à la zone spécifiée:

    # Firewall-cmd --Zone \u003d Public --List-Services

    DHCPV6-Client HTTP HTTPS SSH

    Si vous souhaitez effectuer ces règles constants, lorsque vous avez ajouté, vous devez ajouter un paramètre -Permanent..

    Pour supprimer un service de la zone:

    # Firewall-CMD --Permanent --Zone \u003d Public --ReMove-Service \u003d http

    Test de SSH HTTPS DHCPV6-Client

    Si vous souhaitez ajouter votre service aux exceptions, vous pouvez créer un fichier. xML Seul et remplissez-le. Vous pouvez copier des données à partir de n'importe quel service, modifier le nom, la description et le numéro de port.

    Copier le fichier smtp.xml. Au répertoire pour travailler avec des services d'utilisateur:

    # cp /usr/lib/firewalld/services/smtp.xml / etc / pare-feu / service

    Modifiez la description du service dans le fichier.

    Soi fichier xml Vous devez également renommer votre nom de service. Après cela, vous devez redémarrer le pare-feu et vérifier si notre service est répertorié:

    J'ai appelé le service test Et dans la liste, il est apparu:

    Syslog-tls Telnet Test TFTP

    Vous pouvez maintenant ajouter le service créé à n'importe quelle zone:

    # Firewall-cmd --Zone \u003d Public --Add-Service \u003d Test --Permanent

    # Firewall-cmd --Zone \u003d Public --Permanent - ServicesListes

    DHCPV6-Client HTTP HTTPS SSH Test

    Si vous trouvez le service dont vous avez besoin dans la liste, vous pouvez ouvrir le port souhaité de l'équipe FirewallD:

    # Firewall-cmd --Zone \u003d Public -And-Port \u003d 77 / TCP - Ouvrir 77 Port tCP.
    # Firewall-cmd --Zone \u003d Public -And-Port \u003d 77 / UDP - Ouvrir 77 Port udp.
    # Firewall-cmd --Zone \u003d Public -Ajouter au port \u003d 77-88 / UDP - Plage de port ouvert 77-88 udp.
    # Firewall-cmd --Zone \u003d Public -List-Ports - Vérifiez la liste des ports autorisés

    Bloc / Autoriser les réponses ICMP:

    # Firewall-CMD --Zone \u003d Public --DD-ICMP-Block \u003d Echo-Répondre
    # Firewall-cmd --Zone \u003d Public --ReMove-ICMP-Block \u003d Echo-Répondre

    Supprimer le port ajouté:

    # Pare-feu-cmd --zone \u003d public -remove-port \u003d 77 / UDP - Supprimer la règle temporaire 77 udp.

    # Firewall-cmd --Permanent --Zone \u003d Public -ReMove-Port \u003d 77 / UDP - Supprimer une règle permanente

    Ajout de vos propres zones

    Vous pouvez créer votre propre zone (je l'appellerai nOTRE):

    # Pare-feu-cmd --Permanent --New-Zone \u003d Notre

    Après avoir créé une nouvelle zone, comme après la création du service, vous avez besoin d'un redémarrage. pare-feu.:

    # Pare-feu-cmd --Reload

    # Firewall-CMD --Get-Zones

    Bloquer DMZ Drop Home externe intérieur Notre travail de confiance du public

    Zone nOTRE Disponible. Vous pouvez ajouter des services à celui-ci ou ouvrir certains ports.

    Firewalld: Verrouiller les adresses IP, Création d'exclusion

    Vous pouvez ajouter des adresses IP d'adresse de confiance à l'élimination du pare-feu ou à un bloc indésirable.

    Pour ajouter une exception spécifique adresse IP (Par exemple 8.8.8.8) sur votre serveur à travers pare-feu.Utilisez la commande:

    # Pare-feu-cmd --zone \u003d publique --dd-riche-règle \u003d "Rule Family \u003d" IPv4 "Adresse source \u003d" 8.8.8.8 "Accepter"

    Vérifiez la zone et assurez-vous que Ip Ajouté à des exceptions dans Rich Rules Rule:

    Cible publique (active): Version ICMP-Inversion par défaut: Aucune interface: Eth0 Sources: Services: DHCPV6-Client HTTP HTTPS SSH Ports de test: Protocoles: Masquerade: Aucun ports en avant: Ports Source: Blocs ICMP: Riche riche Règles: RÈGLE FAMILY \u003d "IPv4" Adresse source \u003d "8.8.8.8" Accepter

    Bloquer Ip, besoin de remplacer j'accepte sur le rejeter.:

    # Pare-feu-cmd --zone \u003d publique --dd-riche-règle \u003d "Rule Family \u003d" IPv4 "Adresse source \u003d" 8.8.4.4 "Reject"

    # Pare-feu-cmd --zone \u003d publique --list - tous

    Cible publique (active): Version ICMP-Inversion par défaut: Aucune interface: Eth0 Sources: Services: DHCPV6-Client HTTP HTTPS SSH Ports de test: Protocoles: Masquerade: Aucun ports en avant: Ports Source: Blocs ICMP: Riche riche Règles: RÈGLE FAMILY \u003d "IPv4" Adresse source \u003d "8.8.8.8" Accepter la règle Family \u003d "IPv4" Adresse source \u003d "8.8.4.4" Rejeter

    Vous pouvez résoudre un service spécifique pour les demandes d'une adresse IP spécifique:

    # Firewall-cmd --Permanent - Rule-Rich-Rule "Rule Family \u003d" IPv4 "Adresse source \u003d" 10/10 / 1.0 / 24 "Nom du service \u003d" https "accepter"

    Si vous devez bloquer de toute urgence toutes les demandes au serveur, utilisez la commande panique:

    # Pare-feu-cmd - espagnol

    Désactiver le mode panique par une commande:

    # Pare-feu-cmd - panique

    Soit redémarrer le serveur.

    Vous pouvez bloquer la configuration du pare-feu aux services locaux avec droits des racines Impossible de modifier les règles de pare-feu créées par vous:

    # Pare-feu-cmd #lockdown-on

    Désactiver le mode de verrouillage:

    # Pare-feu-cmd -Omdown-off

    Redirection de port dans le pare-feu

    Vous pouvez créer une règle de redirection de règles dans Firewalld. Pour rediriger 443 ports à 9090:

    # Firewall-cmd --Zone \u003d Public --DD-Forward-Port \u003d Port \u003d 443: Proto \u003d TCP: TOPORT \u003d 9090 --Permanent

    Pour supprimer la règle de redirection de port:

    # Firewall-cmd --Zone \u003d Public --ReMove-Port-Port \u003d Port \u003d 443: Proto \u003d TCP: TOPORT \u003d 9090

    Nous vous montrerons la configuration étape par étape du pare-feu Firewalld à Centos 7

    Qu'est-ce que le pare-feu? Il s'agit d'un pare-feu complet, disponible par défaut dans Centos 7. Nous vous montrerons comment le configurer sur le serveur et indiquer à l'outil Firewall-CMD.

    1. Quels sont les concepts de base du pare-feu?

    Zones

    Le pare-feu est capable de contrôler les groupes de règles au moyen de zones. Il s'agit d'un ensemble d'instructions pour la gestion du trafic sur la base de la confiance des réseaux. La zone peut être affectée à une interface réseau pour contrôler le comportement du pare-feu. Il est nécessaire, car les ordinateurs portables peuvent souvent se connecter à divers réseaux. Les ordinateurs peuvent appliquer des zones pour modifier l'ensemble des règles en fonction de l'environnement. Par exemple, si vous vous connectez au Wi-Fi dans un café, des instructions plus strictes peuvent être appliquées. Et les règles de la maison peuvent être fidèles.

    Dans Firewalld, ces zones se distinguent:

    La chute a le plus bas degré de confiance du réseau. Dans ce cas, des composés exclusivement sortants sont pris en charge et le trafic entrant est déchargé sans réponse;

    Le bloc diffère de la chute de celle-ci lorsque la demande entrante est réinitialisée, le message interdit de l'hôte ICMP est émis ou interdit ICMP6-SMA;

    La zone publique est un réseau public qui constitue des demandes d'entrée entrant individuellement. Cependant, il est impossible de faire confiance;

    Externe est une zone de réseau externe prenant en charge le masquage de NAT pour la fermeté du réseau interne. Cependant, il est possible d'y accéder;

    L'arrière de l'extérieur est interne. Les ordinateurs de cette zone peuvent être approuvés, donc des services supplémentaires seront disponibles.

    La zone DMZ est en demande d'ordinateurs isolés qui n'ont pas accès au reste du réseau. Dans ce cas, il sera possible de configurer les composés entrants préférés;

    La zone de réseau de travail fonctionne. On peut faire confiance aux connexions environnantes, mais entrantes ne sont pas prises en charge par tout, mais uniquement par définis par l'utilisateur;

    Dans la zone de confiance, vous pouvez faire confiance à tous les ordinateurs du réseau.

    Conservation des règles

    Dans Firewalld, ils sont temporaires et permanents. Il arrive que l'ensemble change ou une règle affectant le comportement du pare-feu. Les modifications seront perdues après le redémarrage, ils doivent donc être sauvés. Les commandes de pare-feu-CMD utilisent l'indicateur -Permanent pour enregistrer les règles. Après cela, ils apprécieront de manière continue.

    2. Comment allumer le pare-feu Firewalld?

    Stands de démarrage du démarrage dans le programme d'arrière-plan-Demon. Le fichier de l'unité SystemD s'appelle Firewalld.Service. Pour activer un programme de démon, vous devez ligne de commande cadran

    Sudo SystemCtl Start Firewalld.Service

    Nous devons nous assurer que le service a commencé. Pour ce faire, vous aurez besoin de:

    Pare-feu-cmd - istate en cours d'exécution

    Firewall a démarré et les instructions d'utilisation spécifiées par défaut. N'oubliez pas que le service est activé, mais il ne commencera pas automatiquement avec le serveur. Pour ce faire, vous devrez configurer l'Autorun. En outre, effectuez un ensemble de règles afin qu'il ne fonctionne pas pour vous bloquer sur votre propre serveur.

    3. Règles de pare-feu par défaut

    Comment les voir?

    Pour afficher la zone utilisée par défaut, vous devez composer:

    Pare-feu-cmd --Get par défaut-zone publique

    Nous voyons que les instructions de pare-feu pour d'autres zones n'ont pas reçu. Public est utilisé par défaut et est la seule zone active, car Aucune interface liée aux autres. Si vous souhaitez voir une liste de toutes les zones de domaine disponibles, spécifiez-la dans la console:

    Firewall-CMD --Get-Zones d'actif-Zones d'interfaces publiques: ETH0 ETH1

    Nous voyons deux interfaces réseau liées à la zone publique. Ils travaillent selon les règles spécifiées pour cette zone. Voir les règles par défaut par:

    Firewall-cmd -List - All Public (Par défaut, Active) Interfaces: Eth0 Eth1 Sources: Services: Ports SSH de DHCPV6-Client: Masquerade: Aucun port avant: ICMP-Blocks: Riche riche:

    Résumons:

    La zone par défaut et le seul actif est public;

    Deux interfaces sont liées à cette zone: ETH0 et ETH1;

    Le public prend en charge l'administration SSH distante et attribuant des adresses IP DHSP.

    Autres zones de pare-feu

    Voyons ce que d'autres zones ont un pare-feu. Pour voir la liste de tous disponible, tapez la console:

    Vous pouvez également obtenir des paramètres pour chaque zone spécifique en ajoutant le drapeau -Zone \u003d:

    Firewall-cmd --Zone \u003d Accueil - Tous les interfaces à domicile: Sources: Services: DHCPV6-Client IPP-Client-Client MDNS Samba Client SSH Ports: Masquerade: Aucun ports en avant: Blocs ICMP: Riche riche:

    Si vous devez afficher la définition de toutes les zones disponibles, utilisez l'option -List-All-Zones. Donnons la conclusion au pager afin que la conclusion soit plus pratique pour voir:

    Pare-feu-cmd -Liste -List-Zones | moins

    4. Comment configurer les zones d'interface?

    La zone par défaut est initialement contraignante toutes les interfaces réseau.

    Changer la zone d'interface uniquement pour une session

    À cette fin, nous utiliserons deux options: -Changer-interface \u003d et -zone \u003d. Pour transférer à la zone Home Eth0, tapez:

    Sudo pare-feu-cmd --zone \u003d home --change-interface \u003d Eth0 Succès

    N'oubliez pas que cela peut affecter le fonctionnement de certains services. Par exemple, SSH est pris en charge dans la zone d'accueil, c'est-à-dire Les connexions ne seront pas déchargées. Cependant, cela peut se produire dans d'autres zones, ce qui conduira à bloquer l'accès à son propre serveur. Nous devons nous assurer que l'interface est attachée à la nouvelle zone. Composer sur la ligne de commande:

    Lorsque le pare-feu est redémarré, l'interface sera à nouveau liée à la zone par défaut.

    Sudo SystemCl Redémarrez FirewallD.Service Firewall-CMD-CMD - Auto-Zones d'active Interfaces publiques: Eth0 Eth1

    Changer la zone d'interface sur une base continue

    Après avoir redémarré le pare-feu, l'interface sera liée à la zone par défaut si aucune autre zone n'est spécifiée dans les paramètres de l'interface. Les configurations CENTOS sont situées dans les fichiers Fichier d'interface IFCFG / ETC / SYSCONFIG / Network-Scripts. Pour déterminer la zone d'interface, vous devez ouvrir son fichier de configuration:

    Sudo nano / etc / sysconfig / scripts de réseau / ifcfg -thh0

    Ajouter une zone de variable \u003d à la fin du fichier. Spécifiez une autre zone comme valeur:

    DNS1 \u003d 2001: 4860: 4860 :: 8844 DNS2 \u003d 2001: 4860: 4860 :: 8888 DNS3 \u003d 8.8.8.8 Zone \u003d Accueil

    Enregistrez maintenant les modifications, après quoi le fichier peut être fermé. Pour mettre à jour les paramètres, vous devez redémarrer service réseauAinsi que le pare-feu:

    Sudo SystemCtL Redémarrage de Network.Service sudo SystemCtl Redémarrez Firewalld.Service

    Après cela, l'interface EPH0 sera liée à la zone d'origine.

    Firewall-CMD --Get-ACTIVE-ZONES HOME interfaces: Eth0 Interfaces publiques: ETH1

    Paramètres par défaut

    L'autre zone par défaut peut également être définie. Dans ce cas, nous aiderons la zone-zone-Zone \u003d Option, qui apporte toutes les interfaces réseau à une autre zone.

    Sudo pare-feu-cmd -Set-par défaut-zone \u003d interfaces home home: ETH0 ETH1

    5. Comment faire des règles pour les applications?

    Ajout à la zone de service

    Il est plus facile de faire sur le port utilisé par le pare-feu. Pour voir tous les services disponibles, tapez la ligne de commande:

    Pare-feu-cmd --get-services rh-satellite-6 amanda-client bacula-client DHCP DHCPV6 DHCPV6-Client DNS FTP HTTP HTTPS IPPS IPP IPP-Client IPSec Kerberos Kpasswd LDAPS Libvirt Libvirt-TLS MDNS Mount MS-WBT MYSQL NFS NTP OpenVPN PMCD PMProxy PMWEBAPI PMWEBAPIS POP3S POSTGRESQL Proxy-DHCP RADIUS RPC-BIND SAMPA SAMPA SAMPA TELNET TELNET TFTP TFTP TFTP TFTP TFTP-CLIENT TRANSMISSION VNC-SERVER WBEM-HTTPS

    N'oubliez pas que dans les fichiers.xml Directory / USR / LIB / Firewalld / Services stocke toutes les informations sur chaque service. Les informations d'information SSH se trouvent dans /usr/lib/firewalld/services/ssh.xml. Ils ressemblent à ceci:

    Pour activer la prise en charge des services dans des zones, le drapeau-service -AD est nécessaire, mais l'option -zone est utile pour définir la zone cible. N'oubliez pas qu'une seule session sera valide de tels changements. Si vous devez enregistrer des modifications pour une utilisation ultérieure, utilisez le drapeau -Permanent. Voyons voir comment ça fonctionne. Exécutez le serveur Web afin qu'il puisse servir le trafic HTTP. Inclure le support pour une session dans la zone publique. Tapez la console:

    Sudo pare-feu-cmd --zone \u003d public --Add-service \u003d http

    N'utilisez pas l'option -zone \u003d si vous ajoutez à la zone par défaut. Vérifiez que tout s'est avéré:

    Firewall-cmd --Zone \u003d Public - Liste -List-Services DHCPV6-Client HTTP SSH

    Maintenant, vous devez tester le travail du pare-feu et le service lui-même. Si vous voyez que tout est en ordre, vous pouvez modifier en toute sécurité l'ensemble de règles permanentes. Pour ajouter une nouvelle règle de support de service, vous devez spécifier dans la console:

    Sudo pare-feu-cmd --zone \u003d Public --Permanent --Dd-service \u003d http

    Si vous avez besoin de voir la liste complète des règles opérant sur une base permanente, alors:

    Sudo pare-feu-cmd --zone \u003d Public --Permanent - Services -Listes -Listes DHCPV6-Client HTTP SSH

    En conséquence, la zone publique apparaîtra un support pour le port 80 et HTTP. Dans le cas où votre serveur est capable de gérer le trafic SSL / TLS, il s'avérera pour ajouter le service HTTPS:

    Sudo pare-feu-cmd --zone \u003d publique --Ddd-service \u003d https sudo pare-feu-cmd --zone \u003d public --Permanent --Add-service \u003d https

    6. Et si le service n'est pas disponible?

    Par défaut, le pare-feu Firewalld comprend de nombreux services populaires. Mais il arrive que des programmes ont besoin d'autres services qui ne sont pas au pare-feu. Ce problème peut être résolu par une paire de méthodes.

    Méthode n ° 1: Définition du service

    Ajouter un port à la zone est assez facile. Toutefois, si les applications sont beaucoup beaucoup, il sera difficile de comprendre quel port qui utilise. Dans une telle situation, ce sera un bon moyen d'identifier des services au lieu des ports. En fait, le service est un groupe de ports, qui a reçu un nom et une description. Avec leur aide, il sera plus facile de contrôler les paramètres. Mais le service est un peu plus compliqué que le port.

    Commençons à copier le script déjà existant à partir du dossier / USR / LIB / Firewalld / Service, à partir duquel le pare-feu prend des paramètres non standard dans / etc / pare-feu / services. Copiez la définition de service SSH pour l'utiliser comme définissant l'exemple du service conditionnel. N'oubliez pas que le nom du script doit correspondre au nom du service, et aussi avoir un fichier d'extension.xml. Tapez la console:

    Sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml

    Maintenant, vous devez faire des modifications dans le fichier compilé:

    Sudo nano /etc/firewalld/services/example.xml.

    À l'intérieur est la définition de ssh:

    SSH Secure Shell (SSH) est un protocole de connexion et d'exécution des commandes sur des machines distantes. Il fournit des communications cryptées sécurisées. Si vous envisagez d'accéder à votre machine RemoNet via SSH sur une interface pare-feu, activez cette option. Vous avez besoin du package OpenSSH-Server installé pour cette option pour être utile.

    Enregistrez maintenant les modifications et fermez le fichier. Après cela, le pare-feu sera redémarré avec:

    Sudo pare-feu-cmd --Reload

    Notre liste comprend notre:

    Pare-feu-cmd --get-services rh-satellite-6 amanda-client bacula-client DHCP DHCPV6 DHCPV6-Client DNS Exemple FTP Haute disponibilité HTTP HTTPS IPP IPP-Client IPSec Kerberos KPasswd LDAP LDAP Libvirt-TLS MDNS Mountd MS MS -Wtt mysql nfs NTP OpenVPN PMCD PMProxy PMWEBAPI PMWEBAPIS POP3S POSTGRESQL PROXY-DHCP RADIUS RPC-BIND SAMPA-Client SMTP SSH TELNET TETP TFTP TFTP TFTP TFTP-CLIENT VNC Server WBEM-HTTPS

    Méthode numéro 2: Création d'un port

    Ouvrez le port d'application dans la zone de pare-feu souhaitée, ainsi que le protocole. Imaginons la situation que vous devez ajouter un programme à la zone de publication à l'aide du protocole TCR et du port 5000. Pour activer l'application à une session, l'option-Port \u003d sera requise. De plus, vous devez spécifier le protocole TCP ou UDP:

    Sudo Firewall-Cmd --Zone \u003d Public --Add-Port \u003d 5000 / TCP

    Assurez-vous que tout s'est passé:

    Pare-feu-cmd -list-ports 5000 / TCP

    De plus, il est possible de spécifier la gamme de ports par DASH. Par exemple, si le programme utilise des ports 4990-4999, les ajoutez-les à la zone publique pourront:

    Sudo Firewall-cmd --Zone \u003d Public --DD-Port \u003d 4990-4999 / UDP

    Si tout fonctionne bien, ajoutez des instructions aux paramètres du pare-feu:

    Sudo pare-feu-cmd --zone \u003d Public --Permentation --Add-Port \u003d 5000 / TCP Sudo pare-feu-cmd-cmd \u003d Public --Permanent --DD-Port \u003d 4990-4999 / UDP Sudo Firewall-CMD - Zone \u003d Public - PublicManent -List-Ports Success succès 4990-4999 / UDP 5000 / TCP

    7. Comment créer une zone?

    Le pare-feu est capable de fournir différentes zones prédéfinies qui sont généralement suffisantes pour le travail, mais vous devez parfois créer votre zone utilisateur. Par exemple, server DNS. Besoin d'une zone Privatedns et pour un serveur Web - Publicweb. Après avoir créé des zones, il est nécessaire d'ajouter aux paramètres du pare-feu. Créez une zone PublicWeb et PrivatedNs Typing dans la console:

    Sudo pare-feu-cmd --Permanent --New-zone \u003d Publicweb sudo pare-feu-cmd --Permanent --New-Zone \u003d Privatedns

    Vérifiez que tout s'est avéré:

    Sudo pare-feu-cmd --Permanent - get-Zones Block DMZ Drop Home externe PRÉVOI INTERNIQUE PUBLICWEB PUBLICWEB Travail de confiance

    Firewall-CMD --Get-Zones Block DMZ DROP DROP DOMAINE EXTÉRIEUR INTERNE PUBLI PUBLIQUE

    Cependant, de nouvelles zones de la session en cours ne seront pas disponibles:

    Firewall-CMD --Get-Zones Block DMZ DROP DROP DOMAINE EXTÉRIEUR INTERNE PUBLI PUBLIQUE

    Redémarrez le pare-feu pour accéder à de nouvelles zones:

    Sudo pare-feu-cmd --Reload pare-feu-cmd-Zones Block DMZ Drop Home externe PRÉVOI INTERNIQUE PUBLICWEB PublicWeb Trusted Work

    Il s'agira maintenant de nouvelles zones d'identifier les ports et les services. Supposons qu'il soit nécessaire d'ajouter SSH, HTTP et HTTPS à la zone PublicWeb:

    Sudo Firewall-cmd --Zone \u003d PublicWeb --DDDD-SERVICE \u003d SSH SUDO Firewall-cmd --Zone \u003d Publicweb --Add-Service \u003d http sudo pare-feu-cmd --zone \u003d Publicweb --Dd-service \u003d https Firewall CMD --Zone \u003d PublicWeb --List-Toute PublicWeb Interfaces: Sources: Services: HTTP HTTPS Ports SSH: Masquerade: Aucun ports avant: ICMP-Blocks: Riche riche:

    De plus, il sera possible d'ajouter DNS à la zone PrivatedNs à travers:

    Sudo pare-feu-cmd --zone \u003d Privatedns --add-service \u003d DNS Firewall-cmd --Zone \u003d PrivatedNs - Tous les interfaces Privatedns: Sources: Services: Ports DNS: Masquerade: Aucun port avant: ICMP-Blocks: Rules riches:

    Après cela, vous pouvez vous attacher en toute sécurité à de nouvelles zones. Interfaces réseau:

    Sudo pare-feu-cmd --zone \u003d publicweb --change-interface \u003d ETH0 sudo pare-feu-cmd --zone \u003d privatedns --change-interface \u003d ETH1

    Vérifiez le fonctionnement des paramètres. Si tout est en ordre, ajoutez-les aux règles permanentes:

    Sudo pare-feu-cmd --zone \u003d PublicWeb --Permanent --Add-service \u003d SSH SUDO pare-feu-cmd --zone \u003d Publicweb --Permanent --Add-service \u003d http sudo pare-feu-cmd --zone \u003d Publicweb --Add-service \u003d https sudo pare-feu-cmd --zone \u003d Privatedns --Permanent --Add-Service \u003d DNS

    Nous procédons maintenant à la mise en place d'interfaces réseau. Ceci est nécessaire pour se connecter automatiquement à la zone souhaitée. Supposons que vous ayez besoin de faire appel à PublicWeb Eth0, puis:

    Sudo nano / etc / sysconfig / scripts de réseau / ifcfg-etth0. . . IPv6_Autoconf \u003d No DNS1 \u003d 2001: 4860: 4860 :: 8844 DNS2 \u003d 2001: 4860: 4860 :: 8888 DNS3 \u003d 8.8.8.8 Zone \u003d PublicWeb

    Nous apprenons également EHT1 à Privatedns à travers:

    Sudo nano / etc / sysconfig / scripts de réseau / ifcfg-eth1. . . Netmask \u003d 255.255.0.0 DEFROUTE \u003d "Non" NM_CONTROLLÉD \u003d "OUI" ZONE \u003d PrivatedNs

    Pour modifier les modifications, les services de pare-feu et de réseau seront redémarrés:

    Sudo SystemCtL Redémarrage du réseau Sudo SystemCtl Redémarrage du pare-feu

    Vous devez vérifier les zones pour vous assurer que les services sont prescrits:

    Firewall-CMD --Get-Active-Zones Privatedns Interfaces: Eth1 PublicWeb Interfaces: ETH0

    Maintenant, vous devez vérifier si elles fonctionnent:

    Firewall-cmd --Zone \u003d PublicWeb - Services de Publicweb HTTP HTPPS SSH Firewall-CMD --Zone \u003d Privatedns - Liste-Services DNS

    Comme on peut le constater, les zones utilisateur sont entièrement préparées pour le travail. L'un d'entre eux peut être attribué par défaut. Par example:

    Sudo pare-feu-cmd -Set-par défaut-zone \u003d publicweb

    8. Comment faire du pare-feu automatique?

    Après avoir vérifié le fonctionnement des règles et de tous les paramètres, vous configurerez Autorun avec:

    Sudo SystemCtl Activer le pare-feu

    Cela permettra d'allumer le pare-feu immédiatement après le démarrage du serveur.

    En tant que sortie, il convient de noter que le pare-feu Firewalld est un outil assez flexible en termes de paramètres. Et il est possible de changer son travail avec l'aide de zones.



    Avez-vous aimé l'article? Partagez-le