집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux SysOps에서 SSH 접근 제어 정책 적용
Linux SysOps에서 SSH 접근 제어 정책 적용 구체적인 코드 예는 다음과 같습니다.
Linux 시스템 운영 및 유지 관리에서 SSH(Secure Shell)는 암호화된 원격 로그인 프로토콜로 원격 서버에서 널리 사용됩니다. 관리. . 그러나 SSH의 느슨한 기본 구성으로 인해 보안 위험이 있을 수 있습니다. 시스템의 보안을 강화하기 위해서는 SSH에 대한 접근 제어 정책을 구성하고 관리해야 합니다. 이 기사에서는 SSH 액세스 제어 정책의 적용을 소개하고 구체적인 코드 예제를 제공합니다.
1. SSH 루트 사용자 로그인 비활성화:
기본적으로 SSH는 루트 사용자가 비밀번호를 사용하여 로그인하는 것을 허용하므로 시스템 보안에 위험이 따릅니다. 시스템 보안을 향상하려면 SSH를 통한 루트 사용자 로그인을 비활성화해야 합니다. SSH 구성 파일 /etc/ssh/sshd_config
를 수정하여 파일에서 PermitRootLogin
옵션을 찾아 해당 값을 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
을 no
로 변경하고 저장하고 종료하세요. 2. 비밀번호 로그인을 비활성화하고 공개 키 로그인만 허용: 시스템 보안을 강화하기 위해 비밀번호 로그인을 비활성화하고 공개 키 로그인만 허용할 수도 있습니다. 공개 키 인증을 사용하면 비밀번호 추측이나 무차별 대입 공격의 위험을 피할 수 있습니다. 공개 키 인증을 구성하려면 서버에서 공개/개인 키 쌍을 생성하고 해당 공개 키를 ~/.ssh/authorized_keys
파일에 추가해야 합니다. 샘플 코드:user
를 원격 서버에 로그인하려는 사용자 이름으로 바꾸고, remote_server_ip
를 원격 서버 주소의 IP입니다. 🎜🎜마지막으로 SSH 서버에 다시 로그인하세요. 🎜rrreee🎜이렇게 하면 비밀번호를 입력하지 않고 공개 키를 사용하여 자동으로 인증됩니다. 🎜🎜3. SSH 로그인을 특정 IP 범위로 제한: 🎜🎜시스템의 액세스 제어를 더욱 강화하기 위해 SSH 로그인을 특정 IP 범위로만 제한할 수 있습니다. SSH 구성 파일 /etc/ssh/sshd_config
를 수정하면 특정 사용자가 특정 IP 주소 범위에서 로그인하도록 제한하도록 AllowUsers
옵션을 구성할 수 있습니다. 🎜🎜샘플 코드:🎜rrreee🎜파일에서 AllowUsers
옵션을 찾아 특정 사용자 이름과 IP 범위를 추가하세요. 🎜🎜예를 들어, 사용자 user1
가 IP 주소가 192.168.0.0/24
인 호스트에서만 로그인하도록 제한하려면: 🎜rrreee🎜구성 파일을 저장하고 종료하세요. 🎜🎜4. 방화벽을 사용하여 SSH 액세스 제어: 🎜🎜SSH 구성 파일의 액세스 제어 외에도 방화벽을 사용하여 SSH 액세스를 제어할 수도 있습니다. 방화벽 규칙을 구성하면 특정 IP 주소와 포트가 SSH 서비스에 액세스하지 못하도록 제한할 수 있습니다. 🎜🎜샘플 코드:iptables
명령을 사용하여 방화벽 규칙 구성: 🎜rrreee🎜위 코드의 의미는 192.168.0.0/24의 IP 주소를 허용한다는 것입니다. code> 네트워크 세그먼트 SSH 서비스에 액세스하고 다른 IP 주소의 액세스를 거부합니다. 🎜🎜마지막으로 방화벽 규칙을 적용합니다: 🎜rrreee🎜이러한 방식으로 방화벽을 사용하여 SSH 액세스를 제한합니다. 🎜🎜요약: 🎜🎜루트 로그인 비활성화, 비밀번호 로그인 비활성화, SSH 로그인을 특정 IP 범위로 제한, 방화벽을 사용하여 SSH 액세스 제어를 통해 시스템 보안을 강화할 수 있습니다. Linux SysOps의 경우 SSH 액세스 제어 정책은 중요한 보안 조치입니다. 이 기사에 제공된 코드 예제를 통해 SSH 액세스 제어 정책을 더 잘 구성하고 관리하는 데 도움이 되기를 바랍니다. 🎜
위 내용은 Linux SysOps에서 SSH 접근 제어 정책 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!