>  기사  >  운영 및 유지보수  >  일반적인 SSH 보안 취약점 및 공격 방지: Linux 서버 보호

일반적인 SSH 보안 취약점 및 공격 방지: Linux 서버 보호

WBOY
WBOY원래의
2023-09-08 11:02:051476검색

일반적인 SSH 보안 취약점 및 공격 방지: Linux 서버 보호

일반적인 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密钥认证使用公钥和私钥进行身份验证,比传统的密码方式更加安全可靠。

  1. 生成SSH密钥对
    在本地计算机上生成SSH密钥对。打开终端,输入以下命令:

    ssh-keygen -t rsa

    按照提示操作,生成的密钥会保存在~/.ssh目录下。

  2. 上传公钥到服务器
    将生成的公钥上传到服务器上,可以使用以下命令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip

    其中user是您的用户名,your_server_ip是服务器的IP地址。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    PasswordAuthentication no
    PubkeyAuthentication yes

    然后重启SSH服务。

三、限制SSH用户登录
为了增加服务器的安全性,您可以限制只允许特定的用户登录SSH。这样可以防止未授权的访问。

  1. 创建专用SSH组
    在Linux服务器上使用以下命令创建一个专用的SSH用户组:

    sudo groupadd sshusers
  2. 添加允许SSH访问的用户
    使用以下命令将用户添加到SSH用户组:

    sudo usermod -aG sshusers username

    其中username是您要添加的用户名。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    AllowGroups sshusers

    然后重启SSH服务。

四、限制SSH登录尝试次数
暴力破解是黑客常用的攻击方式之一。为了防止暴力破解SSH密码,我们可以限制SSH登录尝试次数,并设置登录失败禁止一段时间。

  1. 安装失败登录尝试计数器
    使用以下命令安装fail2ban

    sudo apt-get install fail2ban
  2. 配置fail2ban
    编辑fail2ban配置文件/etc/fail2ban/jail.local,添加以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 3600

    然后重启fail2banrrreee

    줄을 찾아서 수정한 다음 SSH 서비스를 다시 시작하세요.
2. SSH 비밀번호 로그인을 비활성화하고 SSH 키 인증을 활성화합니다.

SSH 비밀번호 로그인은 무차별 공격에 취약합니다. 보안 강화를 위해 SSH 비밀번호 로그인을 비활성화하고 SSH 키 인증만 허용하는 것이 좋습니다. SSH 키 인증은 인증에 공개 키와 개인 키를 사용하므로 기존 비밀번호 방법보다 더 안전하고 안정적입니다.

  1. SSH 키 쌍 생성

    로컬 컴퓨터에서 SSH 키 쌍을 생성합니다. 터미널을 열고 다음 명령을 입력하세요:

    rrreee🎜 프롬프트를 따르면 생성된 키가 ~/.ssh 디렉터리에 저장됩니다. 🎜🎜
  2. 🎜공개 키를 서버에 업로드🎜생성된 공개 키를 서버에 업로드하려면 다음 명령을 사용할 수 있습니다. 🎜rrreee🎜여기서 user는 사용자 이름, your_server_ip는 서버의 IP 주소입니다. 🎜🎜<li>🎜SSH 구성 파일을 수정하세요🎜SSH 서버 구성 파일 <code>/etc/ssh/sshd_config를 편집하고 다음 줄을 찾아 수정하세요. 🎜rrreee🎜 그런 다음 SSH 서비스를 다시 시작하세요. 🎜🎜🎜🎜3. SSH 사용자 로그인 제한🎜 서버의 보안을 강화하기 위해 특정 사용자만 SSH에 로그인하도록 제한할 수 있습니다. 이를 통해 무단 액세스를 방지할 수 있습니다. 🎜
    1. 🎜전용 SSH 그룹 만들기 🎜다음 명령을 사용하여 Linux 서버에 전용 SSH 사용자 그룹을 만듭니다. 🎜rrreee🎜
    2. 🎜SSH 액세스를 허용하려면 사용자를 추가하세요. 🎜다음 명령을 사용하여 SSH에 사용자를 추가하세요. 명령 사용자 그룹: 🎜rrreee🎜여기서 username은 추가하려는 사용자 이름입니다. 🎜🎜
    3. 🎜SSH 구성 파일을 수정하세요🎜SSH 서버 구성 파일 /etc/ssh/sshd_config를 편집하고 다음 줄을 찾아 수정하세요. 🎜rrreee🎜 그런 다음 SSH 서비스를 다시 시작하세요. 🎜🎜🎜🎜4. SSH 로그인 시도 횟수를 제한하세요🎜 무차별 대입 크래킹은 해커가 사용하는 일반적인 공격 방법 중 하나입니다. SSH 비밀번호의 무차별 대입 크래킹을 방지하기 위해 SSH 로그인 시도 횟수를 제한하고 로그인 시도 실패 기간을 설정할 수 있습니다. 🎜
      1. 🎜실패한 로그인 시도 카운터 설치 🎜다음 명령을 사용하여 fail2ban 설치: 🎜rrreee🎜
      2. 🎜fail2ban 구성🎜fail2ban 편집 구성 파일 <code>/etc/fail2ban/jail.local에 다음 콘텐츠를 추가합니다. 🎜rrreee🎜 그런 다음 fail2ban 서비스를 다시 시작합니다. 🎜🎜🎜🎜요약: 🎜SSH 기본 포트 변경, SSH 비밀번호 로그인 비활성화, SSH 키 인증 활성화, SSH 사용자 로그인 제한 및 SSH 로그인 시도 횟수 제한을 통해 Linux 서버의 보안을 크게 강화하고 일반적인 위험을 방지할 수 있습니다. SSH 보안 위반 및 공격. 무단 액세스로부터 서버를 보호하는 것은 시스템 관리자의 책임 중 하나입니다. 🎜🎜참조 코드 예시는 참고용일 뿐이며 구체적인 구현은 서버 환경 및 요구 사항에 따라 달라질 수 있습니다. 이를 구현할 때 주의를 기울이고 예상치 못한 상황이 발생하지 않도록 데이터를 백업하십시오. 🎜

위 내용은 일반적인 SSH 보안 취약점 및 공격 방지: Linux 서버 보호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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