웹사이트 검색

Linux에서 실패한 SSH 로그인을 나열하는 방법


이 페이지에서

  1. OpenSSH 설치
  2. 모든 실패한 SSH 로그인 시도를 찾는 방법\n
  3. 결론

"흰색도 검은색도 없고 회색 음영만 있습니다. 좋은지 나쁜지 말할 수 없습니다."

때로는 회색 음영을 파헤쳐 문제가 발생하기 전에 찾아야 합니다. 이러한 검사 중 하나는 실패한 SSH 로그인 시도에 대한 검색일 수 있습니다. 다행스럽게도 우분투는 누군가가 취약한 암호를 허용하고 무차별 암호 대입 공격이 발생하는 대부분의 경우를 감지할 수 있을 만큼 간단하지만 강력한 하나의 솔루션을 제공합니다.

SSH 서버에 로그인하려는 각 시도는 rsyslog 데몬에 의해 /var/log/auth.log에 있는 auth.log라는 파일에 기록됩니다.

관리자는 이상한 수신 트래픽이 있는지 확인하기 위해 로그를 살펴볼 수 있습니다. 로그 파일에는 일반 텍스트로 많은 정보가 포함되어 있지만 모든 출력을 읽는 것은 쉽지 않습니다. grep을 사용하여 로그 파일을 검색하는 방법을 배워야 하며 이 예에서는 실패한 시도에 중점을 둘 것입니다.

OpenSSH 설치

OpenSSH는 응용 프로그램 계층 프로토콜의 형태로 시스템에 대한 보안 원격 액세스를 제공하는 서비스이며 scp 명령줄 프로그램도 포함합니다. 루트 사용자로 로그인하거나 sudo 권한이 있는 사용자로 전환한 다음 아래 명령을 사용하여 OpenSSH를 설치합니다.

sudo apt-get update
sudo apt-get install openssh-server -y

이 명령은 OpenSSH와 해당 종속성을 설치해야 합니다. OpenSSH가 제대로 작동하려면 상당히 많은 패키지가 필요하기 때문에 추가 패키지도 설치되고 있음을 확인해야 합니다.

설치 후 터미널 창에 다음 명령을 입력하여 ssh를 활성화할 수 있습니다.

sudo systemctl enable ssh

명령이 성공한 경우 터미널 창에 아래 이미지와 유사한 출력이 표시되어야 합니다.

비활성화하려는 경우 다음 명령을 사용하여 Ubuntu 시스템에서 SSH를 중지할 수 있습니다.

sudo systemctl stop ssh

다음을 실행하여 다시 시작할 수 있습니다.

sudo systemctl start ssh

SSH 서버가 실행 중인지 확인하려면 아래 명령을 사용할 수 있습니다.

sudo systemctl status ssh

터미널에 비슷한 출력이 표시되어야 합니다.

위의 스크린샷에서 SSH 서버가 이미 실행 중이고 활성화되어 있음을 알 수 있습니다. 즉, 부팅 시 실행됩니다.

실패한 모든 SSH 로그인 시도를 찾는 방법

로그인 시도 실패는 자동 로그인 익스플로잇뿐만 아니라 다양한 이유로 인해 발생할 수 있습니다. 실패한 로그인 시도는 다음과 같은 경우에 발생할 수 있습니다.

  • 사용자가 암호를 잘못 입력할 수 있습니다.\n
  • 잘못된 암호를 사용하여 로그인하려고 합니다.\n
  • 서버가 무차별 대입 공격을 받고 있으며 해커가 자동화된 스크립트를 사용하여 암호를 추측하려고 합니다.\n

실패한 모든 SSH 로그인 시도를 나열하는 가장 쉬운 방법은 다음 명령을 사용하는 것입니다.

grep "Failed password" /var/log/auth.log

터미널에 유사한 출력이 표시되어야 합니다.

다음 명령을 사용하여 위 명령의 약간 수정된 버전으로 CentOS 또는 RHEL에서 실패한 SSH 로그인을 표시할 수 있습니다.

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

또는 journalctl 명령과 함께 Systemd 데몬을 사용하여 로그를 볼 수 있습니다.

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"

실패한 SSH 로그인 시도를 담당하는 모든 IP 주소 목록을 옆에 시도 횟수와 함께 표시하려면 다음 명령을 사용할 수 있습니다.

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

때때로 로그인 시도 실패가 발생하는 것은 불가피합니다. 그러나 서버에 실패한 로그인을 식별하는 것은 여전히 중요합니다. SSH 서버에 자주 접속하는 IP 주소를 식별하고 필요한 조치를 취하는 것이 중요합니다.

결론

이 가이드에서는 Linux 시스템에서 실패한 SSH 로그인 시도를 찾는 방법을 설명했습니다. 또한 journalctl 명령을 사용하는 것과 관련된 다른 접근 방식을 배웠습니다. 이 기사가 도움이 되었기를 바랍니다. 의견 섹션에 의견이나 질문이 있으면 언제든지 제공하십시오.