웹사이트 검색

루트 및 사용자 SSH 로그인 이메일 경고를 받는 방법


프로덕션 환경에서 Linux 서버를 설치, 구성 및 보호할 때마다 서버에 무슨 일이 일어나고 있는지, 그리고 서버 보안과 관련하여 누가 서버에 로그인하는지 추적하는 것이 매우 중요합니다.

왜냐면 누군가가 SSH를 통해 무차별 대입 전략을 사용하여 루트 사용자로 서버에 로그인했다면 그가 어떻게 서버를 파괴할지 생각해 보세요. 루트 액세스 권한을 얻은 사용자는 원하는 모든 작업을 수행할 수 있습니다. 이러한 SSH 공격을 차단하려면 이러한 공격으로부터 서버를 보호하는 방법을 설명하는 다음 문서를 읽어보세요.

  1. DenyHosts를 사용하여 SSH 서버 무차별 대입 공격 차단
  2. Pam_Tally2를 사용하여 SSH 실패 로그인 잠금 및 잠금 해제
  3. SSH 서버 보안 및 보호를 위한 5가지 모범 사례

따라서 SSH 세션을 통해 직접 루트 로그인을 허용하는 것은 좋은 습관이 아니며 sudo를 사용하여 루트가 아닌 계정을 만드는 것이 좋습니다. 강하다> 접근하다. 루트 액세스가 필요할 때마다 먼저 일반 사용자로 로그인한 다음 su를 사용하여 루트 사용자로 전환하세요. 직접 SSH 루트 로그인을 비활성화하려면 SSH에서 루트 로그인을 비활성화하고 제한하는 방법을 보여주는 아래 도움말을 따르세요.

  1. SSH 루트 로그인 비활성화 및 SSH 액세스 제한

하지만 이 가이드에서는 누군가가 루트 또는 일반 사용자로 로그인했을 때 IP 주소와 함께 지정된 이메일 주소로 이메일 경고 알림을 보내야 하는지 알 수 있는 간단한 방법을 보여줍니다. 마지막 로그인 중. 따라서 알 수 없는 사용자가 마지막으로 로그인한 IP 주소를 알면 iptables 방화벽에서 특정 IP 주소의 SSH 로그인을 차단할 수 있습니다.

  1. Iptables 방화벽에서 포트를 차단하는 방법

Linux 서버에서 SSH 로그인 이메일 경고를 설정하는 방법

이 튜토리얼을 수행하려면 서버에 대한 루트 액세스 권한이 있어야 하며 nano 또는 vi 편집기 및 에 대한 약간의 지식이 있어야 합니다. mailx(메일 클라이언트)는 이메일을 보내기 위해 서버에 설치됩니다. 배포판에 따라 다음 명령 중 하나를 사용하여 mailx 클라이언트를 설치할 수 있습니다.

데비안/우분투/리눅스 민트에서
apt-get install mailx
RHEL/CentOS/Fedora에서
yum install mailx

SSH 루트 로그인 이메일 알림 설정

이제 root 사용자로 로그인하고 cd /root 명령을 입력하여 루트의 홈 디렉터리로 이동합니다.

cd /root

다음으로 .bashrc 파일에 항목을 추가합니다. 이 파일은 사용자에게 로컬 환경 변수를 설정하고 일부 로그인 작업을 수행합니다. 예를 들어 여기서는 이메일 로그인 알림을 설정합니다.

vi 또는 nano 편집기로 .bashrc 파일을 엽니다. .bashrc는 숨겨진 파일이므로 ls -l 명령을 사용해도 볼 수 없다는 점을 기억하세요. Linux에서 숨겨진 파일을 보려면 -a 플래그를 사용해야 합니다.

vi .bashrc

파일 맨 아래에 다음 전체 줄을 추가합니다. “ServerName”을 서버의 호스트 이름으로 바꾸고 “[email ”를 이메일 주소로 변경하세요.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

파일을 저장하고 닫은 후 로그아웃하고 다시 로그인하세요. SSH를 통해 로그인하면 기본적으로 .bashrc 파일이 실행되고 루트 로그인 알림의 이메일 주소를 보냅니다.

샘플 이메일 알림
ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2013 tecmint pts/0 2013-11-28 16:59 (172.16.25.125)

SSH 일반 사용자 로그인 이메일 경고 설정

일반 사용자(tecmint)로 로그인하고 cd /home/tecmint/ 명령을 입력하여 사용자의 홈 디렉터리로 이동합니다.

cd /home/tecmint

그런 다음 .bashrc 파일을 열고 파일 끝에 다음 줄을 추가합니다. 위에 표시된 대로 값을 바꿔야 합니다.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email 

파일을 저장하고 닫은 후 로그아웃했다가 다시 로그인하세요. 다시 로그인하면 .bashrc 파일이 실행되고 사용자 로그인 알림의 이메일 주소가 전송됩니다.

이렇게 하면 모든 사용자에게 로그인 알림을 받도록 이메일 알림을 설정할 수 있습니다. 사용자의 홈 디렉터리(예: /home/username/.bashrc) 아래에 있는 사용자의 .bashrc 파일을 열고 위에 설명된 대로 로그인 경고를 설정하세요.