Nishita Agarwal partage son expérience d'interview sur le pare-feu de Linux «Iptables»

Nishita Agarwal partage son expérience d'interview sur le pare-feu de Linux «Iptables»

Nishita Agarwal, une fréquence Visiteur Tecmint a partagé son expérience (question et réponse) avec nous concernant l'entretien d'embauche qu'elle venait de donner dans une entreprise d'hébergement privée dans Pune, Inde. On lui a posé beaucoup de questions sur une variété de sujets, mais elle est une experte iptables Et elle voulait partager ces questions et leur réponse (elle a donné) liée aux iptables à d'autres qui pourraient donner un entretien dans un avenir proche.

Toutes les questions et leur réponse sont réécrites en fonction de la mémoire de Nishita Agarwal.

"Bonjour les amis! Mon nom est Nishita Agarwal. J'ai poursuivi le baccalauréat en technologie. Mon domaine de spécialisation est Unix et les variantes d'Unix (BSD, Linux) me fascine depuis le moment où je l'ai entendu. J'ai 1+ ans d'expérience en stockage. Je cherchais un changement d'emploi qui s'est terminé avec une entreprise d'hébergement à Pune, en Inde,."

Voici la collection de ce qu'on m'a demandé lors de l'entretien. Je n'ai documenté que ces questions et leur réponse liée aux iptables en fonction de ma mémoire. J'espère que cela vous aidera à craquer votre entretien.

1. Avez-vous entendu parler des iptables et du pare-feu à Linux? Toute idée de ce qu'ils sont et de ce qu'il est utilisé?

Répondre : J'utilise iptables depuis assez longtemps et je suis conscient des iptables et du pare-feu. Iptable est un programme d'application principalement écrit en langage de programmation C et est publié sous licence publique générale GNU. Écrit pour le point de vue de l'administration du système, la dernière version stable si iptable 1.4.21.Les iptables peuvent être considérés comme un pare-feu pour Unix comme le système d'exploitation qui peut être appelé iptables/ /netfilter, plus précisément. L'administrateur interagit avec les iptables via des outils frontaux console / GUI pour ajouter et définir les règles de pare-feu dans des tables prédéfinies. NetFilter est un module construit à l'intérieur du noyau qui fait le travail de filtrage.

Pare-feu est la dernière mise en œuvre des règles de filtrage dans Rhel/ /Centos 7 (Peut être mis en œuvre dans d'autres distributions dont je ne connais peut-être pas). Il a remplacé l'interface iptables et se connecte à netfilter.

2. Avez-vous utilisé une sorte d'outil frontal basé sur l'interface graphique pour les iptables ou la ligne de commande Linux?

Répondre : Bien que j'aie utilisé à la fois les outils frontaux basés sur l'interface graphique pour les iptables comme Shorewall dans la conjugaison de webmin dans l'interface graphique et l'accès direct aux iptables via la console.Et je dois admettre que l'accès direct aux iptables via la console Linux donne à un utilisateur une puissance immense sous la forme d'un degré de flexibilité plus élevé et d'une meilleure compréhension de ce qui se passe en arrière-plan, sinon autre chose. GUI est pour l'administrateur novice tandis que la console est expérimentée.

3. Quelles sont les différences de base entre les iptables et le pare-feu?

Répondre : Iptables et Firewalld servent le même but (Filtrage des paquets) mais avec une approche différente. Les iptables rincent l'ensemble des règles définies chaque fois qu'une modification est effectuée contrairement à Firewalld. En règle générale, l'emplacement de la configuration iptables se trouve à '/ etc / sysconfig / iptables«Alors que la configuration de Firewalld se trouve à»/ etc / Firewalld /', qui est un ensemble de fichiers XML.La configuration d'un pare-feu basé sur XML est plus facile par rapport à la configuration des iptables, mais la même tâche peut être obtenue en utilisant à la fois l'application de filtrage des paquets IE., iptables et pare-feu. Firewalld exécute des iptables sous son capot avec sa propre interface de ligne de commande et un fichier de configuration qui est basé sur XML et dit ci-dessus.

4. Souhaitez-vous remplacer les iptables par un pare-feu sur tous vos serveurs, si l'on vous donne une chance?

Répondre : Je connais les iptables et ça marche et s'il n'y a rien qui nécessite un aspect dynamique du monde-feu, il n'y a aucune raison de migrer toute ma configuration d'iptables à Firewalld.Dans la plupart des cas, jusqu'à présent, je n'ai jamais vu iptables créer un problème. De plus, la règle générale des technologies de l'information dit «pourquoi réparer si elle n'est pas brisée». Cependant, c'est ma pensée personnelle et cela ne me dérangerait pas la mise en œuvre de Firewalld si l'organisation voulait remplacer les iptables par un pare-feu.

5. Vous semblez confiant avec les iptables et le point positif est même que nous utilisons les iptables sur notre serveur.

Quelles sont les tables utilisées dans les iptables? Donnez une brève description des tables utilisées dans les iptables et les chaînes qu'ils soutiennent.

Répondre : Merci pour la reconnaissance. En passant par la partie de question, il y a quatre tables utilisées dans les iptables, à savoir elles sont:

  1. Table nat
  2. Table de mange
  3. Table de filtre
  4. Table brute

Table nat : La table NAT est principalement utilisée pour la traduction d'adresses réseau. Les paquets masqués ont modifié leur adresse IP selon les règles du tableau. Les paquets dans la table NAT Traverse Stream une seule fois. c'est à dire., Si un paquet d'un jet de paquets est masqué, le reste des packages du flux ne traversera plus ce tableau. Il est recommandé de ne pas filtrer dans ce tableau. Les chaînes soutenues par la table NAT sont la chaîne préfabriquante, la chaîne post-tronc et la chaîne de sortie.

Table de mange : Comme son nom l'indique, ce tableau sert à la gestion des paquets. Il est utilisé pour une altération spéciale du package. Il peut être utilisé pour modifier le contenu des différents paquets et de leurs en-têtes. La table de mangle ne peut pas être utilisée pour se faire passer pour. Les chaînes prises en charge sont la chaîne de pré -OUTIR, la chaîne de sortie, la chaîne avant, la chaîne d'entrée, la chaîne postale.

Table de filtre : La table de filtre est la table par défaut utilisée dans iptables. Il est utilisé pour filtrer les paquets. Si aucune règle n'est définie, le tableau de filtrage est pris comme une table par défaut et le filtrage est effectué sur la base de ce tableau. Les chaînes prises en charge sont la chaîne d'entrée, la chaîne de sortie, la chaîne avant.

Table brute : La table brute entre en action lorsque nous voulons configurer des packages qui ont été exemptés plus tôt. Il prend en charge la chaîne de pré-artimination et la chaîne de sortie.

6. Quelles sont les valeurs cibles (qui peuvent être spécifiées dans Target) en iptables et ce qu'elles font, soyez bref!

Répondre : Voici les valeurs cibles que nous pouvons spécifier dans la cible en iptables:

    1. ACCEPTER : Accepter les paquets
    2. FILE D'ATTENTE : Package PaaS à l'espace utilisateur (place où résident les applications et les pilotes)
    3. GOUTTE : Des paquets de dépôt
    4. RETOUR : Retournez le contrôle à la chaîne d'appel et arrêtez d'exécuter le prochain ensemble de règles pour les paquets actuels dans la chaîne.
7. Permet de passer aux aspects techniques des iptables, par technique je signifie pratique.

Comment allez-vous vérifier le régime iptables qui est nécessaire pour installer des iptables dans CentOS?.

Répondre : Les RPM iptables sont inclus dans l'installation standard de CentOS et nous n'avons pas besoin de l'installer séparément. Nous pouvons vérifier le RPM comme:

# RPM -QA iptables iptables-1.4.21-13.EL7.x86_64 

Si vous avez besoin de l'installer, vous pouvez faire miam pour l'obtenir.

# yum install iptables-services 
8. Comment vérifier et s'assurer si le service iptables fonctionne?

Répondre : Pour vérifier l'état des iptables, vous pouvez exécuter la commande suivante sur le terminal.

# Statut iptables du service [sur Centos 6/5] # iptables d'état systemctl [sur Centos 7]] 

S'il ne fonctionne pas, la commande ci-dessous peut être exécutée.

---------------- Sur Centos 6/5 ---------------- # chkconfig - level 35 iptables sur # service iptables start ---------------- Sur Centos 7 ---------------- # SystemCTL Activer les iptables # SystemCTL Start Iptables 

Nous pouvons également vérifier si le module iptables est chargé ou non, comme:

# lsmod | grep ip_tables 
9. Comment allez-vous passer en revue les règles actuelles définies dans iptables?

Répondre : Les règles actuelles en iptables peuvent être révisées aussi simples que:

# iptables -l 

Échantillon de sortie

Entrée de chaîne (Accept de politique) Target Prot Opt Source Destination Acceptez tout - partout où l'état est lié à l'état, acceptez ICMP - n'importe où accepter tout - n'importe où accepter le TCP - n'importe où dans un état TCP DPT: SSH rejeter tout - n'importe où - n'importe où Partout rejet avec la chaîne ICMP-Host-Prohibited Forward (Policy Accept) Target Prot Opt Source Destination Reject Tous - partout où le rejet de la chaîne est rejeté avec ICMP Host-Host (Accept) Cibler Opt Source Destination 
dix. Comment allez-vous vider toutes les règles iptables ou une chaîne particulière?

Répondre : Pour rincer une chaîne iptables particulière, vous pouvez utiliser les commandes suivantes.

 # iptables - Sortie flush 

Pour vider toutes les règles iptables.

# iptables - Flush 
11. Ajoutez une règle en iptables pour accepter les paquets d'une adresse IP de confiance (disons 192.168.0.7)

Répondre : Le scénario ci-dessus peut être réalisé simplement en exécutant la commande ci-dessous.

# iptables -a entrée -s 192.168.0.7 -J accepter 

Nous pouvons inclure un masque de slash ou de sous-réseau standard dans la source comme:

# iptables -a entrée -s 192.168.0.7/24 -J accepter # iptables -a entrée -s 192.168.0.7/255.255.255.0 -J accepter 
12. Comment ajouter des règles pour accepter, rejeter, refuser et déposer le service SSH en iptables.

Répondre : En espérant que SSH s'exécute sur le port 22, qui est également le port par défaut pour SSH, nous pouvons ajouter une règle aux iptables comme:

Pour ACCEPTER paquets TCP pour le service SSH (port 22).

# iptables -a entrée -s -p tcp --dport 22 -j accepter 

Pour REJETER paquets TCP pour le service SSH (port 22).

# iptables -a entrée -s -p tcp --dport 22 -j rejet 

Pour REFUSER paquets TCP pour le service SSH (port 22).

 # iptables -a entrée -s -p tcp --dport 22 -j nier 

Pour GOUTTE paquets TCP pour le service SSH (port 22).

 # iptables -a entrée -s -p tcp --dport 22 -j drop 
13. Laissez-moi vous donner un scénario. Dites qu'il y a une machine dont l'adresse IP locale est 192.168.0.6. Vous devez bloquer les connexions sur les ports 21, 22, 23 et 80 à votre machine. Que ferez-vous?

Répondre : Eh bien, tout ce que j'ai besoin d'utiliser, c'est le 'multiport`` L'option avec iptables suivie des numéros de port à bloquer et le scénario ci-dessus peut être réalisé en un seul coup comme.

# iptables -a entrée -s 192.168.0.6 -P TCP -M Multiport - Dort 21,22,23,80 -J Drop 

Les règles écrites peuvent être vérifiées en utilisant la commande ci-dessous.

# iptables -l entrée de la chaîne (acceptation de politique) Target prot opt ​​Source Destination Acceptez tout - n'importe où dans tout l'état lié à l'état, acceptez ICMP - n'importe où accepter tout - n'importe où accepter le TCP - n'importe où dans l'ensemble de l'état nouveau TCP DPT: SSH rejet Tous - partout où rejeter le rejet avec ICMP Host-Prohibited Drop TCP - 192.168.0.6 Partout multiporteur Dports SSH, Telnet, HTTP, WEBCACHE Chain Forward (Policy Accept) Target Prot Opt Source Destination Reject All - partout où le rejet ICMP Host-Prohibited Sortie (Policy Accept) Target Prot Opt Source Destination 

Interviewer : C'est tout ce que je voulais demander. Vous êtes un employé précieux que nous n'aimerons pas manquer. Je recommanderai votre nom au RH. Si vous avez une question, vous pouvez me poser.

En tant que candidat, je ne voulais pas tuer la conversation, donc continuez à poser des questions sur les projets que je gérerais s'ils étaient sélectionnés et quelles sont les autres ouvertures de l'entreprise. Sans oublier que RH Round n'était pas difficile à casser et j'ai eu l'occasion.

Aussi je voudrais remercier Avishek et Ravi (que je suis un ami depuis longtemps) pour avoir pris le temps de documenter mon interview.

Amis! Si vous aviez donné une telle interview et que vous souhaitez partager votre expérience d'entrevue à des millions de lecteurs de Tecmint à travers le monde? Ensuite, envoyez vos questions et réponses à [Protégé par e-mail] ou vous pouvez soumettre votre expérience d'entrevue en utilisant le formulaire suivant.

Partagez votre expérience d'entrevue

Merci! Rester connecté. Faites-moi également savoir si j'aurais pu répondre à une question plus correctement que ce que j'ai fait.