일반적인 SSH 보안 취약성 및 공격 방지: Linux 서버 보호
인용문:
오늘날의 디지털 시대에 Linux 서버는 많은 조직과 개인에게 필수적인 부분이 되었습니다. 그러나 모든 인터넷 관련 기술과 마찬가지로 Linux 서버도 보안 위협에 직면해 있습니다. 그 중 SSH(Secure Shell)는 원격 관리 및 파일 전송을 위한 일반적인 프로토콜입니다. Linux 서버의 보안을 보장하기 위해 이 문서에서는 일반적인 SSH 보안 취약점 및 공격을 방지하는 몇 가지 방법을 소개하고 관련 코드 예제를 제공합니다.
1. 기본 SSH 포트 변경
기본적으로 SSH 서버는 포트 22를 수신합니다. 이는 해커가 비밀번호를 무차별 대입 공격하여 쉽게 발견할 수 있습니다. 보안을 강화하려면 SSH 포트를 2222와 같은 비표준 포트로 변경할 수 있습니다. 이렇게 하면 악의적인 침입의 위험이 줄어듭니다. SSH 포트를 변경하려면 SSH 서버 구성 파일 /etc/ssh/sshd_config
를 편집하고 /etc/ssh/sshd_config
,找到并修改以下行:
#Port 22 Port 2222
然后重启SSH服务。
二、禁用SSH密码登录,启用SSH密钥认证
SSH密码登录容易受到暴力破解的攻击。为了提高安全性,我们建议禁用SSH密码登录,只允许SSH密钥认证。SSH密钥认证使用公钥和私钥进行身份验证,比传统的密码方式更加安全可靠。
生成SSH密钥对
在本地计算机上生成SSH密钥对。打开终端,输入以下命令:
ssh-keygen -t rsa
按照提示操作,生成的密钥会保存在~/.ssh
目录下。
上传公钥到服务器
将生成的公钥上传到服务器上,可以使用以下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip
其中user
是您的用户名,your_server_ip
是服务器的IP地址。
修改SSH配置文件
编辑SSH服务器配置文件/etc/ssh/sshd_config
,找到并修改以下行:
PasswordAuthentication no PubkeyAuthentication yes
然后重启SSH服务。
三、限制SSH用户登录
为了增加服务器的安全性,您可以限制只允许特定的用户登录SSH。这样可以防止未授权的访问。
创建专用SSH组
在Linux服务器上使用以下命令创建一个专用的SSH用户组:
sudo groupadd sshusers
添加允许SSH访问的用户
使用以下命令将用户添加到SSH用户组:
sudo usermod -aG sshusers username
其中username
是您要添加的用户名。
修改SSH配置文件
编辑SSH服务器配置文件/etc/ssh/sshd_config
,找到并修改以下行:
AllowGroups sshusers
然后重启SSH服务。
四、限制SSH登录尝试次数
暴力破解是黑客常用的攻击方式之一。为了防止暴力破解SSH密码,我们可以限制SSH登录尝试次数,并设置登录失败禁止一段时间。
安装失败登录尝试计数器
使用以下命令安装fail2ban
:
sudo apt-get install fail2ban
配置fail2ban
编辑fail2ban
配置文件/etc/fail2ban/jail.local
,添加以下内容:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600
然后重启fail2ban
rrreee
SSH 비밀번호 로그인은 무차별 공격에 취약합니다. 보안 강화를 위해 SSH 비밀번호 로그인을 비활성화하고 SSH 키 인증만 허용하는 것이 좋습니다. SSH 키 인증은 인증에 공개 키와 개인 키를 사용하므로 기존 비밀번호 방법보다 더 안전하고 안정적입니다.
로컬 컴퓨터에서 SSH 키 쌍을 생성합니다. 터미널을 열고 다음 명령을 입력하세요:
rrreee🎜 프롬프트를 따르면 생성된 키가~/.ssh
디렉터리에 저장됩니다. 🎜🎜user
는 사용자 이름, your_server_ip는 서버의 IP 주소입니다. 🎜🎜<li>🎜SSH 구성 파일을 수정하세요🎜SSH 서버 구성 파일 <code>/etc/ssh/sshd_config
를 편집하고 다음 줄을 찾아 수정하세요. 🎜rrreee🎜 그런 다음 SSH 서비스를 다시 시작하세요. 🎜🎜🎜🎜3. SSH 사용자 로그인 제한🎜 서버의 보안을 강화하기 위해 특정 사용자만 SSH에 로그인하도록 제한할 수 있습니다. 이를 통해 무단 액세스를 방지할 수 있습니다. 🎜username
은 추가하려는 사용자 이름입니다. 🎜🎜/etc/ssh/sshd_config
를 편집하고 다음 줄을 찾아 수정하세요. 🎜rrreee🎜 그런 다음 SSH 서비스를 다시 시작하세요. 🎜🎜🎜🎜4. SSH 로그인 시도 횟수를 제한하세요🎜 무차별 대입 크래킹은 해커가 사용하는 일반적인 공격 방법 중 하나입니다. SSH 비밀번호의 무차별 대입 크래킹을 방지하기 위해 SSH 로그인 시도 횟수를 제한하고 로그인 시도 실패 기간을 설정할 수 있습니다. 🎜fail2ban
설치: 🎜rrreee🎜fail2ban
구성🎜fail2ban 편집 구성 파일 <code>/etc/fail2ban/jail.local
에 다음 콘텐츠를 추가합니다. 🎜rrreee🎜 그런 다음 fail2ban
서비스를 다시 시작합니다. 🎜🎜🎜🎜요약: 🎜SSH 기본 포트 변경, SSH 비밀번호 로그인 비활성화, SSH 키 인증 활성화, SSH 사용자 로그인 제한 및 SSH 로그인 시도 횟수 제한을 통해 Linux 서버의 보안을 크게 강화하고 일반적인 위험을 방지할 수 있습니다. SSH 보안 위반 및 공격. 무단 액세스로부터 서버를 보호하는 것은 시스템 관리자의 책임 중 하나입니다. 🎜🎜참조 코드 예시는 참고용일 뿐이며 구체적인 구현은 서버 환경 및 요구 사항에 따라 달라질 수 있습니다. 이를 구현할 때 주의를 기울이고 예상치 못한 상황이 발생하지 않도록 데이터를 백업하십시오. 🎜
위 내용은 일반적인 SSH 보안 취약점 및 공격 방지: Linux 서버 보호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!