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
将PermitRootLogin
改为no
后保存并退出。
二、禁用密码登录,只允许公钥登录:
为了增加系统的安全性,我们还可以禁用密码登录,只允许公钥登录。通过使用公钥认证,可以避免密码被猜解或被暴力攻击的风险。为了配置公钥认证,需要在服务器上生成公钥/私钥对,并将公钥添加到~/.ssh/authorized_keys
文件中。
示例代码:
首先,在本地生成公钥/私钥对:
ssh-keygen -t rsa
按照提示设置文件存储路径和密码(可选)。
然后,将公钥复制到远程服务器:
ssh-copy-id user@remote_server_ip
将user
替换为远程服务器上你要登录的用户名,remote_server_ip
替换为远程服务器的IP地址。
最后,重新登录SSH服务器:
ssh user@remote_server_ip
这将自动使用公钥进行认证,而无需输入密码。
三、限制SSH登录到特定IP范围:
为了进一步加强系统的访问控制,我们可以限制SSH登录只能从特定IP范围进行。通过修改SSH配置文件/etc/ssh/sshd_config
,可以配置AllowUsers
选项来限制特定用户只能从特定的IP地址范围登录。
示例代码:
sudo nano /etc/ssh/sshd_config
在文件中找到AllowUsers
选项,并将具体的用户名和IP范围添加进去。
例如,限制用户user1
只能从IP地址为192.168.0.0/24
的主机登录:
AllowUsers user1@192.168.0.*
保存并退出配置文件。
四、使用防火墙控制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
以上代码的含义是允许来自192.168.0.0/24
sudo iptables-save > /etc/sysconfig/iptables sudo systemctl restart iptables
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 :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 :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!