Maison > Opération et maintenance > exploitation et maintenance Linux > Application de la politique de contrôle d'accès SSH dans Linux SysOps

Application de la politique de contrôle d'accès SSH dans Linux SysOps

王林
Libérer: 2023-09-26 11:14:05
original
1252 Les gens l'ont consulté

SSH访问控制策略在Linux SysOps中的应用

L'application de la politique de contrôle d'accès SSH dans Linux SysOps. Les exemples de code spécifiques sont les suivants :

Dans l'exploitation et la maintenance du système Linux, SSH (Secure Shell) est un protocole de connexion à distance crypté et est largement utilisé dans les serveurs distants. gestion. . Cependant, en raison de la configuration par défaut lâche de SSH, il peut exister des risques de sécurité. Afin de renforcer la sécurité du système, nous devons configurer et gérer les politiques de contrôle d'accès pour SSH. Cet article présentera l'application des politiques de contrôle d'accès SSH et fournira des exemples de code spécifiques.

1. Désactiver la connexion de l'utilisateur root SSH :

Par défaut, SSH permet à l'utilisateur root de se connecter avec un mot de passe, ce qui entraîne des risques pour la sécurité du système. Afin d'améliorer la sécurité du système, nous devons désactiver la connexion de l'utilisateur root via SSH. En modifiant le fichier de configuration SSH /etc/ssh/sshd_config, recherchez l'option PermitRootLogin dans le fichier et modifiez sa valeur en no. /etc/ssh/sshd_config,在文件中找到PermitRootLogin选项,并将其值改为no

示例代码:

sudo nano /etc/ssh/sshd_config
Copier après la connexion
Copier après la connexion

PermitRootLogin改为no后保存并退出。

二、禁用密码登录,只允许公钥登录:

为了增加系统的安全性,我们还可以禁用密码登录,只允许公钥登录。通过使用公钥认证,可以避免密码被猜解或被暴力攻击的风险。为了配置公钥认证,需要在服务器上生成公钥/私钥对,并将公钥添加到~/.ssh/authorized_keys文件中。

示例代码:
首先,在本地生成公钥/私钥对:

ssh-keygen -t rsa
Copier après la connexion

按照提示设置文件存储路径和密码(可选)。

然后,将公钥复制到远程服务器:

ssh-copy-id user@remote_server_ip
Copier après la connexion

user替换为远程服务器上你要登录的用户名,remote_server_ip替换为远程服务器的IP地址。

最后,重新登录SSH服务器:

ssh user@remote_server_ip
Copier après la connexion

这将自动使用公钥进行认证,而无需输入密码。

三、限制SSH登录到特定IP范围:

为了进一步加强系统的访问控制,我们可以限制SSH登录只能从特定IP范围进行。通过修改SSH配置文件/etc/ssh/sshd_config,可以配置AllowUsers选项来限制特定用户只能从特定的IP地址范围登录。

示例代码:

sudo nano /etc/ssh/sshd_config
Copier après la connexion
Copier après la connexion

在文件中找到AllowUsers选项,并将具体的用户名和IP范围添加进去。

例如,限制用户user1只能从IP地址为192.168.0.0/24的主机登录:

AllowUsers user1@192.168.0.*
Copier après la connexion

保存并退出配置文件。

四、使用防火墙控制SSH访问:

除了在SSH配置文件中进行访问控制,我们也可以使用防火墙来控制SSH的访问。通过配置防火墙规则,我们可以限制特定的IP地址和端口可以访问SSH服务。

示例代码:
使用iptables命令来配置防火墙规则:

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Copier après la connexion

以上代码的含义是允许来自192.168.0.0/24

Exemple de code :

sudo iptables-save > /etc/sysconfig/iptables
sudo systemctl restart iptables
Copier après la connexion
Changez PermitRootLogin en no, enregistrez et quittez.

2. Désactivez la connexion par mot de passe et autorisez uniquement la connexion par clé publique :

Afin d'augmenter la sécurité du système, nous pouvons également désactiver la connexion par mot de passe et autoriser uniquement la connexion par clé publique. En utilisant l'authentification par clé publique, vous pouvez éviter le risque de devinette de mot de passe ou d'attaques par force brute. Afin de configurer l'authentification par clé publique, vous devez générer une paire de clés publique/privée sur le serveur et ajouter la clé publique au fichier ~/.ssh/authorized_keys.

Exemple de code :
Tout d'abord, générez localement une paire de clés publique/privée : 🎜rrreee🎜Suivez les invites pour définir le chemin de stockage du fichier et le mot de passe (facultatif). 🎜🎜Ensuite, copiez la clé publique sur le serveur distant : 🎜rrreee🎜Remplacez user par le nom d'utilisateur auquel vous souhaitez vous connecter sur le serveur distant, et remote_server_ip par le IP de l'adresse du serveur distant. 🎜🎜Enfin, reconnectez-vous au serveur SSH : 🎜rrreee🎜Cela s'authentifiera automatiquement à l'aide de la clé publique sans saisir de mot de passe. 🎜🎜3. Restreindre la connexion SSH à une plage IP spécifique : 🎜🎜Afin de renforcer davantage le contrôle d'accès du système, nous pouvons restreindre la connexion SSH à une seule plage IP spécifique. En modifiant le fichier de configuration SSH /etc/ssh/sshd_config, vous pouvez configurer l'option AllowUsers pour restreindre la connexion d'utilisateurs spécifiques à partir de plages d'adresses IP spécifiques. 🎜🎜Exemple de code :🎜rrreee🎜Recherchez l'option Autoriser les utilisateurs dans le fichier et ajoutez le nom d'utilisateur et la plage IP spécifiques. 🎜🎜Par exemple, pour restreindre l'utilisateur user1 à se connecter uniquement à partir de l'hôte avec l'adresse IP 192.168.0.0/24 : 🎜rrreee🎜Enregistrez et quittez le fichier de configuration. 🎜🎜4. Utilisez un pare-feu pour contrôler l'accès SSH : 🎜🎜En plus du contrôle d'accès dans le fichier de configuration SSH, nous pouvons également utiliser un pare-feu pour contrôler l'accès SSH. En configurant des règles de pare-feu, nous pouvons empêcher des adresses IP et des ports spécifiques d'accéder au service SSH. 🎜🎜Exemple de code :
Utilisez la commande iptables pour configurer les règles de pare-feu : 🎜rrreee🎜La signification du code ci-dessus est d'autoriser les adresses IP du 192.168.0.0/24 code> segment de réseau Accédez au service SSH et refusez l'accès à partir d'autres adresses IP. 🎜🎜Enfin, appliquez la règle du pare-feu : 🎜rrreee🎜De cette façon, nous utilisons le pare-feu pour restreindre l'accès SSH. 🎜🎜Résumé : 🎜🎜Nous pouvons améliorer la sécurité de notre système en désactivant les connexions root, en désactivant les connexions par mot de passe, en limitant les connexions SSH à des plages IP spécifiques et en utilisant des pare-feu pour contrôler l'accès SSH. Pour Linux SysOps, la politique de contrôle d'accès SSH est une mesure de sécurité importante. Grâce aux exemples de code fournis dans cet article, j'espère qu'il pourra vous aider à mieux configurer et gérer les politiques de contrôle d'accès SSH. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal