La sécurité de tout système d'exploitation doit toujours être l'une des principales prémisses pour lesquelles se battre chaque jour, car de nombreux éléments en dépendent, tels que les fichiers utilisateur, les configurations, les services et autres. Une configuration incorrecte des paramètres de sécurité est associée à une vulnérabilité qui laisse des portes ouvertes afin que les attaquants puissent avoir un libre accès pour effectuer leurs actions.
L'un des principaux mécanismes de sécurité est lié au pare-feu du système car grâce à lui, il est possible de filtrer les paquets entrants et sortants du réseau et de créer diverses règles afin d'améliorer la sécurité à la fois du système et des applications et objets qui y sont stockés. .l.
C'est pourquoi aujourd'hui Solvetic expliquera en détail comment configurer le pare-feu dans FreeBSD à l'aide de pf.
Qu'est-ce que pfPF (Packet Filter - Packet Filter) a été développé comme un logiciel pare-feu pour les systèmes FreeBSD avec lequel nous pouvons créer des centaines de règles qui nous permettent de gérer de manière beaucoup plus centralisée l'accès et le comportement de tous les éléments du système.
Nous allons maintenant voir comment activer et configurer pf dans FreeBSD.
1. Comment activer le pare-feu Linux
Bien que pf soit intégré à FreeBSD, nous devons ajouter les lignes suivantes dans le fichier /etc/rc.conf avec l'éditeur souhaité :
nano /etc/rc.confLes lignes à ajouter sont :
echo 'pf_enable = "YES"' >> /etc/rc.confecho 'pf_rules = "/ usr / local / etc / pf.conf"' >> /etc/rc.confecho 'pflog_enable = "YES"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf
Une fois ces lignes ajoutées, nous enregistrons les modifications à l'aide des touches Ctrl + O et nous sortons de l'éditeur à l'aide de Ctrl + X.
Les lignes que nous avons ajoutées sont :
Activer le service PF
pf_enable = "OUI"
Prenez les règles PF de ce fichier spécifique
pf_rules = "/usr/local/etc/pf.conf"
Activer la prise en charge de la journalisation pour PF
pflog_enable = "OUI"
Fait référence au fichier où pflogd doit stocker le fichier journal
pflog_logfile = "/ var / log / pflog"Là, les logs seront stockés dans le fichier /var/log/pflog.
2. Comment créer des règles dans le fichier Linux /usr/local/etc/pf.conf
Une fois les lignes précédentes ajoutées, nous accéderons au fichier /usr/local/etc/pf.conf pour créer les règles que pf doit lire et qui seront prises en compte lors de la protection.
On accède à l'aide d'un éditeur :
nano /usr/local/etc/pf.confComme il s'agit d'un nouveau fichier, les possibilités de règles sont des milliers, pour ce cas nous pouvons aller sur le lien suivant et copier la règle, qui s'applique à un serveur web, et la coller dans notre fichier de configuration :
Là, nous devons prendre en compte la modification de l'adaptateur réseau dans le champ ext_if pour le bon dans chaque cas.
Dans ce fichier, nous avons ajouté les règles suivantes :
# vim : set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domain, ntp, smtp, www, https, ftp}" int_udp_services = "{domain, ntp} "set skip on loset loginterface $ ext_if # Normalizationscrub in all random-id fragment reassembleblock return in log allblock out allantispoof quick for $ ext_if # Block 'rapid-fire brute force attacktable persistblock quick from # ftp-proxy a besoin d'un ancrage "ftp-proxy / *" # SSH écoute sur le port 26pass en quick proto tcp vers $ ext_if port 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, surcharge flush global) # Webserverpass proto tcp de n'importe quel port $ ext_if $ webports # Autorise le trafic sortant essentiel à passer rapidement sur $ ext_if proto tcp vers n'importe quel port $ int_tcp_servicespasser rapidement sur $ ext_if proto udp vers n'importe quel port $ int_udp_servicesUne chose essentielle à garder à l'esprit est que pf a un ordre défini pour établir les règles et c'est :
MacroLes macros doivent être définies avant d'être référencées dans pf.conf
les tablesLes tables fournissent un mécanisme pour augmenter les performances et la flexibilité des règles
OptionsLes options ajustent le comportement du moteur de filtrage de paquets.
Normalisation du traficCette règle protège les machines internes contre les incohérences dans les protocoles et les implémentations Internet.
file d'attenteFournit un contrôle de la bande passante basé sur des règles définies
TraductionCette option spécifie comment les adresses doivent être mappées ou redirigées.
Filtrage de paquetsOffre un verrou basé sur des règles
Une fois les règles créées, nous enregistrons les modifications en utilisant Ctrl + O et sortons de l'éditeur en utilisant Ctrl + X.
3. Comment activer le service Linux pf
Ensuite, nous exécuterons une série de commandes pour vérifier et démarrer le service pf sur FreeBSD.
Étape 1
Pour vérifier l'état de l'activation pf, nous exécutons la ligne :
pfctl -e
Étape 2
Pour démarrer le service pf, nous exécutons la ligne suivante :
service pf démarrer
Étape 3
Nous vérifions le service en exécutant :
service pf vérifier
Étape 4
À ce stade, nous pouvons également exécuter l'une des options suivantes :
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.confSi nous voulons arrêter le service pf, nous exécutons :
service pf arrêtPour redémarrer le service pf :
service pf redémarrer
Étape 5
Si nous voulons voir l'état actuel du service pf :
état de service pf
Étape 6
Le pare-feu pf utilise le service pflog pour stocker et enregistrer tous les événements de sécurité qui se produisent dans le système, les options d'utilisation sont :
service pflog démarrer service pflog arrêter service pflog redémarrer
4. Comment utiliser pf sous FreeBSD Linux
Vous devrez utiliser la commande pfctl pour pouvoir afficher l'ensemble de règles pf et les paramètres, y compris les informations sur l'état du filtre de paquets.
Pour voir ces informations, nous exécutons les opérations suivantes :
pfctl -s règles
En plus de cela, nous aurons plus d'options telles que:
Ajouter un numéro de règle
pfctl -vvsr montrer
Afficher l'état
pfctl -s étatpfctl -s état | Suite
Désactiver pf
pfctl -d
Activer pf
pfctl -e
Effacer toutes les règles
pfctl -F tous
Supprimer uniquement les requêtes
pfctl -F file d'attente
Effacer tous les états
pfctl -F info
Voir les événements pf
tcpdump -n -e -ttt -r / var / log / pflog
Nous pouvons voir à quel point pf est un outil pratique lorsque l'on travaille avec le pare-feu dans FreeBSD.