>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux SysOps에서 SSH 접근 제어 정책 적용

Linux SysOps에서 SSH 접근 제어 정책 적용

王林
王林원래의
2023-09-26 11:14:051283검색

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

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

PermitRootLoginno로 변경하고 저장하고 종료하세요.

2. 비밀번호 로그인을 비활성화하고 공개 키 로그인만 허용:

시스템 보안을 강화하기 위해 비밀번호 로그인을 비활성화하고 공개 키 로그인만 허용할 수도 있습니다. 공개 키 인증을 사용하면 비밀번호 추측이나 무차별 대입 공격의 위험을 피할 수 있습니다. 공개 키 인증을 구성하려면 서버에서 공개/개인 키 쌍을 생성하고 해당 공개 키를 ~/.ssh/authorized_keys 파일에 추가해야 합니다.

샘플 코드:
먼저 로컬에서 공개/개인 키 쌍을 생성합니다. 🎜rrreee🎜 프롬프트에 따라 파일 저장 경로와 비밀번호를 설정합니다(선택 사항). 🎜🎜그런 다음 공개 키를 원격 서버에 복사하세요. 🎜rrreee🎜 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.