서버 보안은 어렵지 않지만 수행해야 할 일상적인 작업이 너무 많아서 잊어버리기 쉽습니다. 그래서 여기에서는 다른 사람의 서버 침입을 방지하는 동시에 감동을 깊게 하는 방법에 대해 이야기하고 싶습니다. 읽으신 후 도움이 되셨으면 좋겠습니다.
취약점을 찾는 방법
제가 겪은 상황은 비교적 간단했습니다. 다음 명령을 실행했습니다.
cat /var/log/auth.log | grep Accepted
이 명령은 내 서버에서 성공적인 인증 기록을 반환했는데 그 중 하나가 내 IP가 아니었습니다. 따라서 SSH 서비스가 손상되었습니다.
가장 최근에 성공적으로 로그인한 사용자를 반환하는 또 다른 명령 last
가 있다는 것을 잊지 마세요. last
,这个命令返回最近成功登录的用户。
如何加固服务器
购买服务器后需要立刻进行的操作:
- 安装 ufw,简单易用的防火墙软件;
- 关闭除 SSH、HTTP(s) 外的所有端口;
- 安装配置 fail2ban 工具。这个工具基于
/var/log/auth.log
识别恶意行为并封禁 IP; - 修改 sshd 配置,只使用密钥认证。
具体怎么做?
如果发生了入侵,你需要知道如何调查和清扫。最好的方式是重新创建 VPS。我就是这么做的。我在 hetzner 买了服务器,它的控制台提供了重新创建(移除旧 VPS,新建一个)VPS 并保留原 IP 的功能。 所以我重新创建了一个 VPS。之后我在本地计算机上使用 ssh-keygen
工具(标准 OpenSSH 包的一部分)生成了 SSH 密钥:(下面的命令同时适用于 Linux 和 macOS)
ssh-keygen
该命令在 ~/.ssh
目录中创建了一对密钥。之后运行以下命令:
ssh-copy-id you_user@your_server_id
该命令会将新创建的公钥上传到服务器。接下来,登录服务器并修改 sshd 配置:
nano /etc/ssh/sshd_config
修改配置文件中的 PasswordAuthentication 配置:
PasswordAuthentication no
这一配置禁用了使用密码登录(只能使用密钥登录)。
安装配置 ufw 和 fail2ban
服务器上我用的系统是 Ubuntu,所以通过以下命令可以安装这两个工具:
apt install ufw fail2ban
只开 ssh 和 http(s) 端口:
ufw allow ssh ufw allow 80 ufw allow 443
启用 ufw:
ufw enable
接下来配置 fail2ban 工具:
# 备份默认配置 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local
在配置文件中查找 banaction =
,将其设为 ufw
- 간단하고 사용하기 쉬운 방화벽 소프트웨어인 ufw를 설치합니다. li>
- SSH를 제외하고 HTTP를 제외한 모든 포트를 닫습니다.
-
fail2ban 도구를 설치하고 구성합니다. 이 도구는
/var/log/auth.log
를 기반으로 악의적인 행동을 식별하고 IP를 금지합니다. - 키 인증만 사용하도록 sshd 구성을 수정합니다.
ssh-keygen
도구(표준 OpenSSH 패키지의 일부)를 사용하여 로컬 컴퓨터에서 SSH 키를 생성했습니다. (아래 명령은 Linux와 macOS 모두에서 작동합니다.) fail2ban-client reload명령은 다음 위치에 있습니다.
~/.ssh
디렉터리에 키 쌍이 생성됩니다. 그런 다음 다음 명령을 실행합니다. fail2ban-client status sshd이 명령은 새로 생성된 공개 키를 서버에 업로드합니다. 그런 다음 서버에 로그인하고 sshd 구성을 수정합니다: 🎜
Status for the jail: sshd |- Filter | |- Currently failed: 1 | |- Total failed: 6 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 1 |- Total banned: 2 `- Banned IP list: 187.109.168.150🎜구성 파일에서 PasswordAuthentication 구성을 수정합니다: 🎜
ufw status Status: active To Action From -- ------ ---- Anywhere REJECT 187.109.168.150 80/tcp ALLOW Anywhere 22 ALLOW Anywhere 443 ALLOW Anywhere🎜이 구성은 비밀번호 로그인을 비활성화합니다(키만 사용하여 로그인할 수 있습니다). 🎜🎜ufw 및 Fail2ban 설치 및 구성🎜🎜서버에서 사용하는 시스템은 Ubuntu이므로 다음 명령을 통해 이 두 도구를 설치할 수 있습니다.🎜rrreee🎜Ssh 및 http(s) 포트만 엽니다.🎜rrreee🎜ufw 활성화 :🎜rrreee 🎜다음으로, Fail2ban 도구를 구성하세요: 🎜rrreee🎜구성 파일에서
banaction =
를 찾아 ufw
로 설정하세요. 그런 다음 Fail2ban 구성을 다시 로드하십시오. 🎜rrreee🎜이러한 간단한 구성 후에는 동일한 IP에서 세 번 잘못된 로그인 시도가 발생하면 10분 동안 해당 IP가 금지됩니다. 저는 개인적으로 금지기간을 7일로 조정했습니다. 다음 명령어를 사용하면 Fail2ban의 상태를 확인할 수 있습니다. 🎜rrreee🎜제 구성은 다음과 같습니다. 🎜rrreee🎜보시다시피 IP 하나가 방화벽에 의해 차단되었습니다. ufw의 보고서를 통해서도 이를 확인할 수 있습니다: 🎜rrreee🎜 더 많은 기술 튜토리얼을 보려면 🎜PHP 중국어 웹사이트🎜의 다른 콘텐츠에 주목하세요. 🎜위 내용은 다른 사람의 서버 침입을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
