Contacts

Centos 7 pare-feu Ouvrir le port ouvert. Créer des règles pour les programmes et les services publics

Le pare-feu installé dans le système d'exploitation est utilisé pour empêcher le trafic non autorisé entre les 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, lorsqu'il est connecté au Wi-Fi accumulé publiquement Écran de réseau Il augmentera le niveau de contrôle et dans le réseau domestique ouvrira un accès supplémentaire pour les participants à 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 - groupe réseau local. 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é paramètres nécessaires Vous pouvez procéder au changement et ajoutez. 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 des 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 spécifiée jusqu'à la prochaine modification du 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 sur chacune d'elles sont obtenues via le fichier individuel 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 indiquées par les services les plus populaires et les plus sécurisés comme autorisés, mais certaines applications standard ou tierces bloquent. 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.

Sur la protection du serveur des menaces externes, tout d'abord, le pare-feu, qui 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 je le donnerai complètement sous la forme d'un 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 le 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é serveur de courrierVous devez résoudre les connexions entrantes sur celui-ci pour 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 cours n'est pas pour les débutants, pour l'admission, vous avez besoin de connaissances de base sur les réseaux et installation Linux sur un 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.

Zones

Demon Firewalld gère des groupes de règles utilisant des zones soi-disant.

Les zones sont en fait des ensembles de règles qui contrôlent le trafic sur la base du niveau de confiance dans ce réseau ou de ce réseau. Les zones sont affectées à des interfaces réseau et contrôlent le comportement du pare-feu.

Les ordinateurs qui sont souvent connectés à différents réseaux (par exemple, les ordinateurs portables) peuvent utiliser des zones pour modifier les ensembles de règles en fonction du support. Par exemple, lorsqu'il est connecté au public réseaux WiFi Le pare-feu peut appliquer des règles plus strictes et sur le réseau domestique pour affaiblir les restrictions.

Les zones suivantes existent dans le pare-feu:

  • drop: le niveau le plus bas de la confiance du réseau. Tout le trafic entrant est déchargé sans réponse, seuls les composés sortants sont pris en charge.
  • bloc: Cette zone est similaire à celle du précédent, mais les demandes entrantes sont réinitialisées avec ICMP-Host-Host-interdit ou ICMP6-SMA interdit.
  • public: Cette zone représente un réseau public qui ne peut toutefois pas faire confiance, il prend en charge les composés entrants individuellement.
  • externe: zone de réseau externe. Prend en charge le masquage de NAT, de sorte que le réseau interne reste fermé, mais avec la capacité d'avoir accès.
  • interne: le verso de la zone externe, des réseaux internes. Les ordinateurs de cette zone peuvent être approuvés. Des services supplémentaires sont disponibles.
  • dMZ: utilisé pour les ordinateurs situés dans DMZ (ordinateurs isolés qui n'auront pas accès au reste du réseau); Ne prend en charge que certaines connexions entrantes.
  • travail: zone de réseau de travail. La plupart des machines du réseau peuvent être approuvées. Des services supplémentaires sont disponibles.
  • accueil: Zone de réseau domestique. Les environs peuvent être appris, mais seules les connexions entrantes définies par l'utilisateur sont prises en charge.
  • travaillé: Toutes les machines du réseau peuvent être approuvées.

Économie de règles

Les règles de pare-feu sont permanentes et temporaires. Si l'ensemble apparaît ou change toute règle, le comportement actuel du pare-feu varie immédiatement. Cependant, après le redémarrage, tous les changements seront perdus s'ils ne sont pas enregistrés.

La plupart des commandes de pare-feu-cmd peuvent utiliser l'indicateur -Permanent, qui sauvera la règle, après quoi elle sera utilisée de manière continue.

Activer le pare-feu Firewalld

Vous devez d'abord allumer le démon. Le fichier de l'unité SystemD s'appelle Firewalld.Service. Pour démarrer le démon, entrez.

sudo SystemCtl Start Firewalld.Service

Assurez-vous que le service est en cours d'exécution:

pare-feu-cmd - base
En cours

Maintenant, le pare-feu fonctionne et fonctionne en fonction de la configuration par défaut.

Pour le moment, le service est activé, mais cela ne démarre pas automatiquement avec le serveur. Pour ne pas vous bloquer accidentellement sur votre propre serveur, créez d'abord un ensemble de règles, puis configurez l'Autorun.

Règles de pare-feu par défaut

Voir les règles par défaut

Pour savoir quelle zone est utilisée par défaut, entrez:

firewall-CMD --GET-Zone par défaut
Publique

Pour le moment, le pare-feu n'a reçu aucune instruction concernant d'autres zones, en outre, aucune interface n'est liée à d'autres zones, la zone publique est donc la zone par défaut, ainsi que la seule zone active.

Pour obtenir une liste de zones actives, entrez:


Publique
Interfaces: ETH0 ETH1

Deux interfaces réseau sont liées à la zone publique: ETH0 et ETH1. Les interfaces attachées à la zone fonctionnent selon les règles de cette zone.

Pour savoir quelles règles utilisent la zone par défaut, entrez:

pare-feu-cmd -list - tous
Public (par défaut, actif)
Interfaces: ETH0 ETH1
SOURCES:
Services: DHCPV6-Client SSH
Ports:
Masquerade: Non.
Ports en avant:
ICMP-Blocks:
Rules riches:

Alors, maintenant, vous savez que:

  • le public est la zone par défaut et la seule zone active.
  • Les interfaces ETH0 et eth1 sont liées à elle.
  • Il prend en charge le trafic DHCP (affectation des adresses IP) et SSH (administration distante).

Autres zones de pare-feu

Maintenant, vous devriez vous familiariser avec d'autres zones.

Pour obtenir une liste de toutes les zones disponibles, entrez:

firewall-CMD --Get-Zones

Pour obtenir les paramètres d'une zone spécifique, ajoutez la commande drapeau -zone \u003d.

pare-feu-cmd --zone \u003d home --list - tous
DOMICILE
Interfaces:
SOURCES:
SERVICES: DHCPV6-Client IPP-Client-Client MDNS Samba-Client SSH
Ports:
Masquerade: Non.
Ports en avant:
ICMP-Blocks:
Rules riches:

Pour afficher la définition de toutes les zones disponibles, ajoutez l'option -List-Zones. Pour une visualisation plus pratique, la sortie peut être transférée sur le pager:

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

Configuration des zones d'interface

Initialement, toutes les interfaces réseau sont liées à la zone par défaut.

Changer la zone d'interface par session

Pour traduire une interface à une autre session à une autre session, utilisez l'interface -zone \u003d et -Change-interface \u003d options \u003d.

Par exemple, pour traduire ETH0 dans la zone d'accueil, vous devez entrer:

sudo pare-feu-cmd --zone \u003d home --change-interface \u003d ETH0
Succès.

Noter: Lors de la traduction de l'interface vers une autre zone, il faut garder à l'esprit que cela peut affecter le fonctionnement de certains services. Par exemple, la zone d'origine prend en charge SSH, donc les connexions que ce service ne sera pas réinitialisé. Mais certaines zones déposent toutes les connexions, y compris SSH, puis vous pouvez bloquer accidentellement l'accès à votre propre serveur.

Pour vous assurer que l'interface est liée à la nouvelle zone, entrez:

firewall-CMD --Gutières-Zones actifs
DOMICILE
Interfaces: ETH0.
Publique
Interfaces: ETH1

Après avoir redémarré le pare-feu, l'interface sera à nouveau liée à la zone par défaut.

sudo SystemCtl redémarrez Firewalld.Service
Firewall-CMD --Gutières-Zones actifs
Publique
Interfaces: ETH0 ETH1

Modification de la zone d'interface sur une base continue

Si aucune autre zone n'est spécifiée dans les paramètres d'interface, après le redémarrage du pare-feu, l'interface sera à nouveau liée à la zone par défaut. Dans Centos, de telles configurations sont stockées dans le répertoire / etc / sysconfig / réseau-scripts, dans les fichiers d'interface IFCFG.

Pour déterminer la zone d'interface, ouvrez le fichier de configuration de cette interface, par exemple:

Ajoutez une zone de variable à la fin du fichier et spécifiez l'autre zone comme valeur, par exemple, à la maison:

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

Enregistrez et fermez le fichier.

Pour mettre à jour les paramètres, redémarrez le service réseau et le pare-feu:

sudo SystemCtL Redémarrer le réseau.Service
Sudo SystemCtl redémarrez Firewalld.Service

Après le redémarrage, l'interface ETH0 sera liée à la zone d'origine.

firewall-CMD --Gutières-Zones actifs
DOMICILE
Interfaces: ETH0.
Publique
Interfaces: ETH1

Définition de la zone par défaut

Vous pouvez également choisir une autre zone par défaut.

Pour ce faire, utilisez la zone-zone-par défaut \u003d. Après cela, toutes les interfaces seront liées à une autre zone:

sudo pare-feu-cmd -Set-par défaut-zone \u003d home
DOMICILE
Interfaces: ETH0 ETH1

Création de règles pour les applications

Ajout d'un service à la zone

Le moyen le plus simple d'ajouter un service ou un port à la zone utilisée par le pare-feu. Vérifiez les services disponibles:

firewall-CMD --Get-Services
RH-Satellite-6 Amanda-Client-Client Bacula-Client-Client-Client DHCP DHCPV6 DHCPV6-Client DNS FTP HTTP HTTPS ImapS IPP IPP-Client IPPSEC KERBEROS KPASSWD LDAP LDAP LibVirt MS-WBT MySQL NFT NTP OpenVPN PMCD PMProxy PMWEBAPI PMWEBAPIS POP3S POSTGRESQL PROXY-DHCP RADIUS RPC-BIND SAMPA SAMPA SAMTP SSH TELNET TELNET TFTP TFTP TFTP TFTP-Client-Client-Client-Client-Server WBEM-https

Noter: Plus d'informations sur chaque service spécifique se trouvent dans Files.XML dans le répertoire / USR / LIB / Firewalld / Service. Par exemple, les informations sur le service SSH sont stockées dans /usr/LIB/FIREWALLD/services/ssh.xml et ressemblent à ceci:



Ssh.

Pour activer la prise en charge des services dans une zone particulière, utilisez l'option -Ajouter-service \u003d. Vous pouvez spécifier la zone cible à l'aide de l'option -zone \u003d. Par défaut, ces changements fonctionneront pour une session. Pour enregistrer les modifications et les utiliser de manière continue, ajoutez le drapeau -Permanent.

Par exemple, pour démarrer un serveur Web pour maintenir le trafic HTTP, vous devez d'abord activer le support de ce trafic dans la zone publique pour une session:

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

Si le service doit ajouter à la zone par défaut, le drapeau -zone \u003d peut être omis.

Assurez-vous que l'opération réussit:

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

Testez le travail du service et du pare-feu. Si tout fonctionne correctement, vous pouvez modifier l'ensemble de règles permanent et y ajouter une règle pour prendre en charge ce service.

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

Pour afficher une liste de règles permanentes, entrez:

sudo pare-feu-cmd --zone \u003d Public --Permanent - ServicesListes
DHCPV6-Client HTTP SSH

Maintenant, la zone publique prend en charge HTTP et Port 80 de manière continue. Si le serveur Web peut servir le trafic SSL / TLS, vous pouvez également ajouter le service HTTPS (pour une session ou dans un ensemble de règles permanentes):

sudo pare-feu-cmd --zone \u003d publique --Dd-service \u003d https
Sudo pare-feu-cmd --zone \u003d Public --Perment --Add-service \u003d https

Et si le service requis n'est pas disponible?

Le pare-feu Firewalld par défaut comprend de nombreux services les plus courants. Cependant, certaines applications nécessitent des services qui ne sont pas pris en charge dans Firewalld. Dans ce cas, vous pouvez faire de deux manières.

Méthode 1: Configuration du port

Le moyen le plus simple d'ouvrir un port d'application dans la zone de pare-feu nécessaire est le plus facile. Il vous suffit de spécifier le port ou la plage de ports et du protocole.

Par exemple, une application utilisant le protocole Port 5000 et TCP doit être ajoutée à la zone publique. Pour activer la prise en charge des applications pour la session inférieure, utilisez-ledd-port \u003d paramètre \u003d et spécifiez le protocole TCP ou UDP.

sudo Firewall-cmd --Zone \u003d Public --Add-Port \u003d 5000 / TCP

Assurez-vous que l'opération est passée avec succès:

pare-feu-cmd -list-Ports
5000 / TCP.

Vous pouvez également spécifier la gamme série de ports, séparant le premier et le dernier port de la plage par Dash. Par exemple, si une application utilise des ports UDP 4990-4999 pour les ajouter à la zone publique, vous devez entrer:

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

Après les tests, vous pouvez ajouter ces règles dans les paramètres permanents du pare-feu.

sudo pare-feu-cmd --zone \u003d Public --Perment --Add-Port \u003d 5000 / TCP
Sudo Firewall-cmd --Zone \u003d Public --Permanent --Add-Port \u003d 4990-4999 / UDP
Sudo pare-feu-cmd --Zone \u003d Public --Permanent - PortsList-Ports
Succès.
Succès.
4990-4999 / UDP 5000 / TCP

Méthode 2: Définition du service

Ajoutez des ports à la zone simplement, mais si vous avez beaucoup de telles applications, il sera difficile de suivre, pour lequel un ou plusieurs ports sont destinés. Pour éviter une telle situation, vous pouvez déterminer les services au lieu des ports.

Les services sont simplement des ensembles de ports avec un nom et une description spécifiques. Avec l'aide de services, il est plus facile de contrôler les paramètres, mais ils sont eux-mêmes plus difficiles que les ports.

Vous devez d'abord copier le script existant à partir du répertoire / USR / LIB / Firewalld / Firewalld dans le répertoire / etc / Firewalld / Service (voici le pare-feu recherche des paramètres non standard).

Par exemple, vous pouvez copier la définition du service SSH et l'utiliser pour déterminer le service d'exemple conditionnelle. Le nom du script doit correspondre au nom du service et avoir une extension .xml.

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

Corrigez le fichier copié.

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

Le fichier est la définition de ssh:



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.

La majeure partie de la définition de service est des métadonnées. Changez le nom abrégé du service dans les balises . Ceci est un nom de service à la clientèle. Aussi besoin d'ajouter une description du service. Le seul changement qui affectera le service du service consiste à modifier le numéro de port et le protocole.

Revenons au service exemple; Supposons que cela nécessite un port TCP ouvert 7777 et un port UDP 8888. La définition ressemblera à ceci:



Exemple
Ceci est juste un exemple de service. Il ne devrait probablement pas être utilisé sur un système réel.

Enregistrez et fermez le fichier.

Redémarrez le pare-feu:

sudo pare-feu-cmd --Reload

Maintenant, le service apparaîtra dans la liste des services disponibles:

firewall-CMD --Get-Services
RH-Satellite-6 Amanda-Client-Client Bacula-Client-Client DHCP DHCPV6 DHCPV6-Client DNS Exemple FTP HTTP HTTPS IPPS IPP IPP-Client IPPSec Kerberos KPASSWD LDAP LDAP Libvirt MS-WBT MySQL NFT NTP NTP PMCD PMProxy PMWEBAPI PMWEBAPIS POP3S POSTGRESQL PROXY-DHCP RADIUS RPC-BIND SAMPA SAMPA-Client SMTP SSH TELNET TFTP TFTP TFTP-Client-Client-Client-Client-Client-client

Créer des zones

Le pare-feu fournit de nombreuses zones prédéfinies, ce qui suffit dans la plupart des cas pour travailler. Mais dans certaines situations, il est nécessaire de créer une zone personnalisée.

Par exemple, pour un serveur Web, vous pouvez créer une zone PublicWeb et pour le service DNS - PrivatedNs Zone.

Création d'une zone, vous devez l'ajouter aux paramètres constants du pare-feu.

Essayez de créer des zones PublicWeb et Privatedns:

sudo Firewall-CMD --Permanent --New-Zone \u003d PublicWeb
Sudo pare-feu-cmd --Permanent --New-Zone \u003d Privatedns

Assurez-vous que les zones existent:

sudo pare-feu-cmd --Permanent - get-Zones

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

firewall-CMD --Get-Zones
Bloc DMZ DROP DROP DOMAINE EXTÉRIEUR DOMAINE PUBLI DU PUBLIQUE DE CONFIGURÉ INTERNE

Pour accéder à de nouvelles zones, vous devez redémarrer le pare-feu:

sudo pare-feu-cmd --Reload
Firewall-CMD --Get-Zones
Bloquer DMZ DROP HOME EXTERNE PRIVÉE INTERNÉE PRIVÉE PUBLICWEB PUBLICWEB Travail de confiance

Vous pouvez maintenant attribuer les services et ports requis aux nouvelles zones. Par exemple, dans la zone PublicWeb, vous pouvez ajouter SSH, HTTP et HTTPS.

sudo pare-feu-cmd --zone \u003d publicweb --add-service \u003d ssh
Sudo pare-feu-cmd --zone \u003d publicweb --add-service \u003d http
Sudo pare-feu-cmd --zone \u003d publicweb --add-service \u003d https
Firewall-cmd --Zone \u003d PublicWeb --List - Tous
Publicweb.
Interfaces:
SOURCES:
SERVICES: HTTP HTTPS SSH
Ports:
Masquerade: Non.
Ports en avant:
ICMP-Blocks:
Rules riches:

Vous pouvez ajouter DNS dans la zone PrivatedNs:

sudo pare-feu-cmd --zone \u003d privatedns --add-service \u003d DNS
Pare-feu-cmd --zone \u003d privatedns --list - tous
Privatedns.
Interfaces:
SOURCES:
Services: DNS.
Ports:
Masquerade: Non.
Ports en avant:
ICMP-Blocks:
Rules riches:

Vous pouvez ensuite lier des interfaces réseau à de nouvelles zones:

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

Maintenant, vous pouvez tester le réglage. Si tout fonctionne correctement, vous pouvez ajouter ces règles à des paramètres constants.

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 --Permanent --Dd-service \u003d https
Sudo pare-feu-cmd --zone \u003d Privatedns --Permanent --Add-Service \u003d DNS

Après cela, vous pouvez configurer des interfaces réseau pour connexion automatique À la bonne zone.

Par exemple, Eth0 sera liée à PublicWeb:

sudo nano / etc / sysconfig / scripts de réseau / ifcfg -thh0
. . .
IPv6_Autoconf \u003d Non.
DNS1 \u003d 2001: 4860: 4860 :: 8844
DNS2 \u003d 2001: 4860: 4860 :: 8888
DNS3 \u003d 8.8.8.8.
Zone \u003d publicweb.

Et l'interface ETH1 sera liée à Privatedns:

sudo nano / etc / sysconfig / scripts de réseau / ifcfg-eth1
. . .
Netmask \u003d 255.255.0.0.
Defroute \u003d "Non"
Nm_controlled \u003d "oui"
Zone \u003d Privatedns.

Redémarrez les services réseau et le pare-feu:

réseau de redémarrage Sudo SystemCTL
Sudo SystemCl Redémarrage du pare-feu

Vérifiez les zones:

firewall-CMD --Gutières-Zones actifs
Privatedns.
Interfaces: ETH1
Publicweb.
Interfaces: ETH0.

Assurez-vous que les besoins des services suivants travaillent dans des zones:

firewall-cmd --Zone \u003d PublicWeb - Liste-Services
http http ssh.
Firewall-CMD --Zone \u003d Privatedns - Services -List
DNS.

Les zones personnalisées sont entièrement préparées pour le travail. Vous pouvez faire l'un d'entre eux la zone par défaut. Par example:

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

Lancement automatique du pare-feu

Maintenant que vous avez vérifié tous les paramètres et vous êtes assuré que toutes les règles fonctionnent correctement, vous pouvez personnaliser le pare-feu Autorun.

Pour ce faire, entrez:

sudo SystemCtl Activer le pare-feu

Maintenant, le pare-feu fonctionnera avec le serveur.

Conclusion

Le pare-feu Firewalld est un outil très flexible. Les zones vous permettent de changer rapidement la politique de pare-feu.

Vous savez maintenant comment Firewalld fonctionne, familiarisez-vous avec les concepts de base du pare-feu, savez comment créer des zones personnalisées et ajouter des services.

Mots clés:

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 une configuration 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 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 la 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 sh et scripts de bash. Cette syntaxe universelle convient normalement aux fichiers de configuration qui doivent le plus souvent travailler sur le serveur. Écraser 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 pAS TROUVÉ.

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. Je suis habitué à ifconfig pendant une longue période, bien que dernièrement Nous n'utilisons pratiquement pas. 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 ça. 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 une interface graphique simple et compréhensible, il n'y a donc rien à dire. Je suis plus utilisé pour accorder le réseau à travers fichiers de configuration 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 paramètres réseau Par DHCP, le jeu minimal de paramètres 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 Gateway, Adresse DNS 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 support.

# 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 les 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 un serveur de messagerie tiers. 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 des utilisateurs. 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 de l'utilisateur. 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, à la fin du réglage, ajoutez plusieurs utilitaires utiles pouvant être utiles 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 là. 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 des informations importantes et utiles. 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.

CAT /ETC/POSTFIX/MAIN.CF ## configuration par défaut commence ################################################################################################################################### weue_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 / corbeille: / bin: / bin: / usr / bin ddd $ daemon_directory / $ Process_name $ Process_id & 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 / homme / homme échantillon_directory \u003d / Man Sample / doc / DOC / Postfix-2.10.1 / Samples readme_directory \u003d / USR / Share / Doc / Postfix-2.10.1 / README_FILES ## configuration par défaut fin ##################### # Nom du serveur, qui affiche la commande MyHostName MyHostName \u003d 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 envoie mail Relayhost \u003d Mailsrv.mymail.ru:25 SMTP_URE_TLS \u003d Oui SMTP_SASL_AUTH_ENABLE \u003d YES SMTP_SASL_AUTH_ENABLE \u003d Oui SMTP_SASL_PASSWORD_MAPS \u003d HASH: / ETC / POSTFIX / SASL_PASSECURY_OPTIONS \u003d noanonymous smtp_tls_security_level \u003d mai

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

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

Créer un fichier db.

# PostMap / etc / postfix / sasl_passwd

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

# SystemCtL Redémarrer postfix

Alias \u200b\u200bstandard pour racine / etc / alias, Ajoutez une adresse externe dans laquelle le courrier adressé à la racine sera dupliqué. Pour ce faire, éditez le fichier spécifié en modifiant 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 | Mail -s "Usage de disque" racine

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.

    Mais l'équipe d'IPTABLE est complexe et de nombreux utilisateurs sont difficiles à rappeler toutes les options et les cas dans lesquels elles doivent être utilisées. Par conséquent, les développeurs de distribution créent leurs propres superstructures sur Iptables qui aident à simplifier le contrôle du pare-feu. Centos Le complément de contrôle des iptables est appelé parewalld.

    Le pare-feu a plusieurs différences importantes par rapport aux iptables. Ici, le contrôle d'accès au réseau est effectué au niveau des zones et des services, et non des chaînes et des règles. Et les règles sont mises à jour de manière dynamique sans interrompre des sessions de fonctionnement. Cet article examinera la configuration du pare-feu Centos 7 sur l'exemple FirewallD.

    Comme je l'ai dit ci-dessus, le pare-feu ne fonctionne pas avec des chaînes de règles, mais avec des zones. Une certaine zone peut être affectée à chaque interface réseau. La zone est un ensemble de règles, de restrictions et d'autorisations qui s'appliquent à cette interface réseau. Pour une interface, une seule zone peut être sélectionnée. Les développeurs ont créé plusieurs zones prédéfinies:

    • tomber. - Bloquer tous les forfaits entrants, autoriser uniquement sortant
    • bloquer - Contrairement à la version précédente, l'expéditeur du colis sera envoyé pour bloquer son package;
    • publique - Les supports ne sont supportés que pour SSH et Dhclient;
    • externe - prend en charge NAT pour masquer le réseau interne;
    • interne - Les services SSH, SAMBA, MDNS et DHCP sont autorisés;
    • dMZ. - Utilisé pour les serveurs isolés, qui n'ont pas accès au réseau. Seule la connexion SSH est autorisée;
    • travail - Services SSH et DHCP autorisés;
    • dOMICILE - similaire à interne;
    • de confiance. - Tout est permis.

    Ainsi, pour permettre ou interdire n'importe quel service, vous pouvez l'ajouter ou le supprimer de la zone actuelle ou modifier la zone d'interface sur celui que l'on autorise. Vous pouvez faire une analogie avec des stratégies d'actions par défaut pour les packages dans IPTABLES. La zone de confiance possède une stratégie d'acceptation et permet à toutes les connexions, le bloc du bloc a une stratégie de refus qui interdit à toutes les connexions, et toutes les autres zones peuvent être considérées comme des héritiers de la zone de bloc, ainsi qu'ils sont déjà prédéterminés par les règles de résolution Connexions réseau pour certains services.

    De plus, le pare-feu a deux types de configuration:

    • durée. - Valable seulement avant de redémarrer, tous les changements dans lesquels non spécifiés ne sont pas spécifiés sont appliqués à cette configuration;
    • permanent. - Paramètres permanents qui fonctionneront et après le redémarrage.

    Maintenant, vous savez tout ce dont vous avez besoin, alors passons à l'utilitaire pare-feu-cmd.

    Syntaxe et options Firewall-CMD

    Vous pouvez contrôler les paramètres du pare-feu comme à l'aide de l'utilitaire de la console Parewall-Cmd et dans interface graphique. Centos est le plus souvent utilisé sur les serveurs, vous devez donc travailler dans le terminal. Regardons l'utilitaire de syntaxe:

    options de pare-feu-CMD

    Pour gérer les zones, cette syntaxe est utilisée:

    firewall-CMD - Configuration --Zone \u003d Zone d'option

    En guise de configuration, vous devez spécifier l'option --Permanent pour enregistrer les modifications après le redémarrage ou la spécification de rien, puis les modifications ne seront valides que avant de redémarrer. En tant que zone, utilisez le nom de la zone souhaitée. Regardons les utilitaires d'options:

    • --État - retirer l'état du pare-feu;
    • --Recharger. - recharger les règles de la configuration constante;
    • - RechargePleple-Recharge. - Règles de redémarrage durs avec une rupture de toutes les connexions;
    • --Runtime-to-permanent - transférer les paramètres de configuration d'exécution dans une configuration constante;
    • --permanent. - utiliser une configuration constante;
    • --Et-zone-zone par défaut - Afficher la zone par défaut;
    • -Set-zone par défaut - Définir la zone par défaut;
    • --Gutation-zones actifs - Afficher les zones actives;
    • - des zones-zones - Afficher toutes les zones disponibles;
    • - Mettez-les services. - retirer des services prédéfinis;
    • --Liste -List-Zones - retirer la configuration de toutes les zones;
    • - Notre zone - créer une nouvelle zone;
    • -Delete-zone - retirez la zone;
    • --Tout lister. - Sortie tout ce qui est ajouté, de la zone sélectionnée;
    • - ServicesListes. - retirer tous les services ajoutés à la zone;
    • -Ajouter au service. - Ajouter un service à la zone;
    • --Retirer le service. - Supprimer le service de la zone;
    • - Ports de liste. - Afficher les ports ajoutés à la zone;
    • --Ajouter-port. - ajouter du port à la zone;
    • --Retirer-port. - retirez le port de la zone;
    • --Query-port. - montrer si le port est ajouté à la zone;
    • - ProtocolesList-Protocoles - retirer les protocoles ajoutés à la zone;
    • - Du Protocole - ajouter du protocole à la zone;
    • - Premove-Protocole - supprimer le protocole de la zone;
    • - Ports source -List-Source - Retirez les ports source ajoutés à la zone;
    • --Add-source-port - ajoutez une source de port à la zone;
    • --ReMove-Source-Port - retirez la source de port de la zone;
    • -Les blocs -list-ICMP - Afficher les serrures ICMP;
    • --Add-ICMP-Block - Ajouter une serrure ICMP;
    • --Add-ICMP-Block - Retirez le verrou ICMP;
    • --Add-Port avant - ajoutez un port pour rediriger à NAT;
    • - Premove-Port-Port - Retirez le port pour rediriger vers NAT;
    • --Ajouter à la mascarade. - inclure NAT;
    • --ReMove-Masquerade. - Supprimer NAT.

    Ce n'est pas tout l'utilitaire d'options, mais pour cet article, nous nous suffirons.

    Configurez le pare-feu dans Centos 7

    1. statut de pare-feu

    Tout d'abord, il est nécessaire de voir le statut du pare-feu. Pour ce faire, suivez:

    sudo SystemCTL Statut Firewalld

    Si le service FirewallD est désactivé, il est nécessaire de l'inclure:

    sudo SystemCtl Start Firewalld
    Sudo SystemCtl Activer le pare-feu

    Maintenant, vous devez voir si FirewallD est exécuté, à l'aide de la commande pare-feu-cmd:

    sudo pare-feu-cmd - istate

    Si le programme est en cours d'exécution et que tout va bien, vous recevrez un message "en cours d'exécution".

    2. Gestion de la zone

    Comme vous avez déjà compris, les zones sont l'outil principal de gestion des connexions réseau. Pour voir la zone par défaut, suivez:

    sudo pare-feu-cmd --get-Zone par défaut

    Dans mon cas, c'est une zone publique. Vous pouvez modifier la zone actuelle à l'aide de l'option-zone-par défaut:

    sudo pare-feu-cmd -Set par défaut-zone \u003d public

    Pour voir quelles zones sont utilisées pour toutes les interfaces réseau, effectuez:

    sudo Firewall-CMD --Gutières-ACTIF-ZONES

    La liste contiendra des zones et des interfaces pour lesquelles ils sont attribués. Une telle commande peut être visualisée une configuration pour une zone spécifique. Par exemple, pour la zone publique:

    3. Configuration des services

    Vous pouvez voir tous les services prédéfinis avec une équipe:

    sudo pare-feu-cmd --get-services

    La commande affichera tous les services disponibles, vous pouvez ajouter l'un d'entre eux à la zone pour le permettre. Par exemple, activez la connexion à http:

    sudo pare-feu-cmd --zone \u003d public --Add-service \u003d http --Permanent

    Et pour supprimer ce service, effectuez:

    sudo pare-feu-cmd --zone \u003d public --ReMove-Service \u003d http --Permanent

    Dans les deux cas, nous avons utilisé l'option --Permanent afin que la configuration soit enregistrée après le redémarrage. Après les modifications dont vous avez besoin pour mettre à jour les règles:

    sudo pare-feu-cmd --Reload

    Ensuite, si vous regardez la configuration de la zone, le service ajouté apparaîtra là:

    sudo pare-feu-cmd --zone \u003d publique --list - tous

    4. Comment ouvrir le port dans Firewalld

    S'il n'y a pas de service pour le programme dont vous avez besoin, vous pouvez l'ouvrir manuellement. Pour ce faire, ajoutez simplement le port souhaité à la zone. Par exemple Port 8083:

    sudo Firewall-cmd --Zone \u003d Public --Add-Port \u003d 8083 / TCP --Permanent

    Pour supprimer ce port de la zone, effectuez:

    sudo Firewall-cmd --Zone \u003d Public --ReMove-Port \u003d 8083 / TCP --Permanent

    Semblable aux services pour ouvrir le port dans pare-feu Centos. 7 Nous devons redémarrer le pare-feu.

    sudo pare-feu-cmd --Reload

    5. Ports de pare-feu

    Les ports des ports de Firewalld sont configurés beaucoup plus facilement que dans iptables. Si vous avez besoin, par exemple, rediriger le trafic du port 2223 au port 22, il suffit d'ajouter une redirection à la zone:

    sudo Firewall-cmd --Zone \u003d Public --DD-Forward-Port \u003d Port \u003d 2223: proto \u003d TCP: TOPORT \u003d 22

    Ici, la redirection n'est effectuée que sur la machine actuelle. Si vous souhaitez configurer le réseau NAT et effectuez le port sur une autre machine, vous devez d'abord activer la prise en charge de la mascarade:

    sudo pare-feu-cmd --zone \u003d public - DD-Masquerade

    Vous pouvez ensuite ajouter le port:

    sudo pare-feu-cmd --zone \u003d publix --add-avant-port \u003d port \u003d 2223: proto \u003d TCP: TOPORT \u003d 22: TOADDR \u003d 192.168.56.4

    6. Règles prolongées

    Si la fonctionnalité des zones ne vous suffit pas, vous pouvez utiliser des règles étendues. La syntaxe générale des règles étendues est la suivante:

    rÈGLE FAMILY \u003d "FAMILLE" VALEUR DE SOURCE DE LA VALEUR DE DESTINATION DE LA VALEUR DE LA VALEUR DE LA VALEUR D'AUDIT DE LA VALEUR

    Voici la valeur des paramètres de base:

    • Comme Protocoles de la famille Vous pouvez spécifier IPv4 ou IPv6 ou ne pas spécifier quoi que ce soit, puis la règle sera appliquée aux deux protocoles;
    • la source. et destination - Ceci est l'expéditeur et le destinataire du colis. L'adresse IP (adresse), service (nom de service), port, protocole (protocole), peut être utilisé comme ces paramètres;
    • enregistrer. - Vous permet de vous connecter le passage des paquets, par exemple dans Syslog. Dans ce paramètre, vous pouvez spécifier la ligne de préfixe du journal et le niveau des détails de la journalisation;
    • audit. - c'est voie alternative Journalisation lorsque les messages sont envoyés au service Auditd.
    • Acte - Il s'agit d'une action qui doit être exécutée avec le package coïncidé. Disponible: Accepter, déposer, rejeter, marquer.

    Regardons quelques exemples. Nous devons bloquer l'accès au serveur pour l'utilisateur avec IP 135.152.53.5:

    sudo pare-feu-cmd --zone \u003d publique - Rule-Rich-Rule "Rule Family \u003d" IPv4 "Adresse source \u003d 135.152.53.5 Rejeter"

    Ou nous devons interdire le même utilisateur que l'accès au port 22:

    sudo pare-feu-cmd --zone \u003d publique - Rule-Rich-Rule "Rule Family \u003d" IPv4 "Adresse source \u003d 135.152.53.5 Port Port \u003d 22 Protocole \u003d Rejeter TCP"

    Voir toutes les règles étendues de l'équipe:

    sudo pare-feu-cmd - règles riches -list

    conclusions

    Dans cet article, nous sommes démontés comment cela se fait configuration du pare-feu Dans Centos 7 et quelles tâches vous pouvez effectuer avec elle. Le programme est beaucoup plus facile à utiliser que les iptables, mais à mon avis, un complément de Faervola d'Ubuntu est encore plus facile à utiliser.



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