Die Anwendung der SSH-Zugriffskontrollrichtlinie in Linux SysOps Die spezifischen Codebeispiele lauten wie folgt:
Beim Betrieb und der Wartung von Linux-Systemen ist SSH (Secure Shell) ein verschlüsseltes Remote-Anmeldeprotokoll und wird häufig auf Remote-Servern verwendet Management. Aufgrund der lockeren Standardkonfiguration von SSH können jedoch Sicherheitsrisiken bestehen. Um die Sicherheit des Systems zu erhöhen, müssen wir Zugriffskontrollrichtlinien für SSH konfigurieren und verwalten. In diesem Artikel wird die Anwendung der SSH-Zugriffskontrollrichtlinie vorgestellt und spezifische Codebeispiele bereitgestellt.
1. SSH-Root-Benutzeranmeldung deaktivieren:
Standardmäßig erlaubt SSH dem Root-Benutzer, sich mit einem Passwort anzumelden, was Risiken für die Sicherheit des Systems mit sich bringt. Um die Sicherheit des Systems zu verbessern, sollten wir die Root-Benutzeranmeldung über SSH deaktivieren. Durch Ändern der SSH-Konfigurationsdatei /etc/ssh/sshd_config
suchen Sie die Option PermitRootLogin
in der Datei und ändern Sie ihren Wert in 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
in no
, speichern Sie und beenden Sie den Vorgang. 2. Passwortanmeldung deaktivieren und nur Anmeldung mit öffentlichem Schlüssel zulassen: Um die Sicherheit des Systems zu erhöhen, können wir auch die Passwortanmeldung deaktivieren und nur die Anmeldung mit öffentlichem Schlüssel zulassen. Durch die Verwendung der Authentifizierung mit öffentlichem Schlüssel können Sie das Risiko des Erratens von Passwörtern oder von Brute-Force-Angriffen vermeiden. Um die Authentifizierung mit öffentlichem Schlüssel zu konfigurieren, müssen Sie ein öffentliches/privates Schlüsselpaar auf dem Server generieren und den öffentlichen Schlüssel zur Datei ~/.ssh/authorized_keys
hinzufügen. Beispielcode:user
durch den Benutzernamen, mit dem Sie sich auf dem Remote-Server anmelden möchten, und remote_server_ip
durch IP der Remote-Serveradresse. 🎜🎜Melden Sie sich abschließend wieder beim SSH-Server an: 🎜rrreee🎜Die Authentifizierung erfolgt automatisch mit dem öffentlichen Schlüssel, ohne dass ein Passwort eingegeben werden muss. 🎜🎜3. Beschränken Sie die SSH-Anmeldung auf einen bestimmten IP-Bereich: 🎜🎜Um die Zugriffskontrolle des Systems weiter zu stärken, können wir die SSH-Anmeldung nur auf einen bestimmten IP-Bereich beschränken. Durch Ändern der SSH-Konfigurationsdatei /etc/ssh/sshd_config
können Sie die Option AllowUsers
konfigurieren, um die Anmeldung bestimmter Benutzer aus bestimmten IP-Adressbereichen einzuschränken. 🎜🎜Beispielcode:🎜rrreee🎜Suchen Sie die Option AllowUsers
in der Datei und fügen Sie den spezifischen Benutzernamen und IP-Bereich hinzu. 🎜🎜Um beispielsweise den Benutzer user1
darauf zu beschränken, sich nur vom Host mit der IP-Adresse 192.168.0.0/24
anzumelden: 🎜rrreee🎜Speichern und beenden Sie die Konfigurationsdatei. 🎜🎜4. Verwenden Sie eine Firewall, um den SSH-Zugriff zu kontrollieren: 🎜🎜Zusätzlich zur Zugriffskontrolle in der SSH-Konfigurationsdatei können wir auch eine Firewall verwenden, um den SSH-Zugriff zu kontrollieren. Durch die Konfiguration von Firewall-Regeln können wir den Zugriff bestimmter IP-Adressen und Ports auf den SSH-Dienst verhindern. 🎜🎜Beispielcode:iptables
, um Firewall-Regeln zu konfigurieren: 🎜rrreee🎜Die Bedeutung des obigen Codes besteht darin, IP-Adressen von 192.168.0.0/24 zuzulassen. Code> Netzwerksegment Greifen Sie auf den SSH-Dienst zu und verweigern Sie den Zugriff von anderen IP-Adressen. 🎜🎜Zuletzt wenden Sie die Firewall-Regel an: 🎜rrreee🎜Auf diese Weise nutzen wir die Firewall, um den SSH-Zugriff einzuschränken. 🎜🎜Zusammenfassung: 🎜🎜Wir können die Sicherheit unseres Systems erhöhen, indem wir Root-Anmeldungen und Passwort-Anmeldungen deaktivieren, SSH-Anmeldungen auf bestimmte IP-Bereiche beschränken und Firewalls zur Kontrolle des SSH-Zugriffs verwenden. Für Linux SysOps ist die SSH-Zugriffskontrollrichtlinie eine wichtige Sicherheitsmaßnahme. Ich hoffe, dass Ihnen die in diesem Artikel bereitgestellten Codebeispiele dabei helfen können, SSH-Zugriffskontrollrichtlinien besser zu konfigurieren und zu verwalten. 🎜
Das obige ist der detaillierte Inhalt vonAnwendung der SSH-Zugriffskontrollrichtlinie in Linux SysOps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!