누군가가 SSH를 통해 루트로 액세스하면 이메일로 알림을받습니다.

서버를 관리하는 사람들은 서버에서 일어나는 모든 일에 대해 가능한 가장 엄격한 제어를 유지해야합니다. 우리가 종종 알아야하는 것 중 하나는 사용자가 SSH (루트 포함)를 통해 연결할 때입니다. 이메일 알림에 도달합니다.

누군가가 SSH를 통해 루트와 연결할 때마다 이메일을받는 것을 상상할 수 있습니까?

즉, 다음과 같은 내용의 이메일을 받게됩니다.

[miserver] 경고 : 루트 터미널 액세스 날짜 : 2014/01/21 (200.55.51.151)

그건:

[$ NOMBRE_VPS] 경고 : 루트 터미널 액세스 : $ DATE ($ IP_DE_WHO_S_CONNECT)

이를 위해서는 먼저 다음과 같은 패키지를 설치해야합니다. mailx.

서버가 Debian 또는이를 기반으로하는 일부 배포판을 사용한다고 가정하면 (Ubuntu 또는 이와 유사한 서버가 아닌 Debian 만 권장합니다) 다음과 같습니다.

apt-get install mailx

참고 : 이전 명령은 VPS이므로 서버에서 직접 루트로 실행되므로 꼭 필요한 경우가 아니면 sudo를 사용하지 마십시오.

그런 다음 루트 .bashrc에 다음 줄을 넣어야합니다.

echo 'ALERTA - Acceso a Terminal de Root en:' `hostname` 'el:' `date +'%Y/%m/%d'` `who | grep -v localhost` | mail -s "[ `hostname` ] Alerta: Acceso a Terminal de Root el: `date +'%Y/%m/%d'` `who | grep -v localhost | awk {'print $5'}`" mi@email.com

/root/.bashrc를 편집하려면 nano와 같은 터미널에서 편집기를 사용하십시오.

nano /root/.bashrc

줄 끝에 이메일을 지정해야합니다. my@email.com을 알림을받을 이메일로 변경하면됩니다.

이전에 넣은 줄을 (파일의 아무 곳에 나) 넣은 후 파일을 저장합니다. Ctrl 키 + O (또는 곰) 그리고 우리는 Ctrl 키 + X

준비, 누군가가 루트 터미널에 들어갈 때마다 .bashrc 파일이로드되며, 이는 항상 기본적으로 수행되는 작업이며 파일이로드되면 이메일을 보내는 행이 실행되고받은 편지함에 무언가가 남습니다. 같이:

이메일 알림 SSH

줄에 대한 설명은 정말 간단합니다.

  1. mailx를 통해 -s«_____»매개 변수를 사용하여 메일을 보냅니다. 제목을 지정하고 echo«____»로 전달하고 본문의 내용을 파이프합니다.
  2. `hostname`을 사용하면 호스트 이름 또는 호스트 이름, 즉 VPS의 이름을 얻습니다.
  3. `date + '% Y / % m / % d'`date 명령은 시스템 날짜를 표시하고 나머지 문자는 단순히 날짜 표시 방법을 나타냅니다.
  4. 누가 | grep -v localhost` 컴퓨터에서 who를 실행하면 grep -v localhost를 사용하여 활성 사용자를 표시합니다. 다른 위치에서 서버 자체에 연결된 사용자 만 표시합니다. 즉, 기본적으로 SSH
  5. `누가 | grep -v localhost | awk { 'print $ 5'}`이 줄이 이전 줄과 다른 점은 awk입니다. awk를 통해 5 번째 열을 인쇄하면 SSH에 연결된 곳에서 IP를 얻습니다.

어쨌든 선이 다소 길고 이해하기 복잡해 보일 수 있지만 이상한 캐릭터가 많지만 모든 것이 아주 간단합니다 🙂

항상 그렇듯이 관심이 있으 셨기를 바랍니다.

안부


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   Manuelperezf

    어떤 메일 서버로 전송됩니까? 배송 계정을 구성해야합니까?

    1.    KZKG ^ 가아라

      mailx 패키지가 설치되어 있어야합니다 😉
      이 작업이 완료되면 서버에서 다른 항목을 구성 할 필요없이 전송됩니다.

      1.    Manuelperezf

        시도해 보겠습니다 만, 제 이메일은 인증되지 않은 소스로부터받은 이메일을받지 못할 것 같습니다.

        1.    요미 스모

          나는 이메일을 보내기 위해 'gmail'계정과 함께 exim4를 사용하고 잘 작동합니다.
          -Gmail이 원하는 내용을 입력하지만 잘 도착하는 FROM TO 및 REPLY TO 헤더를 제외하고-.
          exim4로 Gmail을 구성하려면 다음 정보를 사용하십시오.
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ 가아라

            흥미 롭습니다, 대단히 감사합니다 🙂

      2.    이스라엘

        친구 @ KZKG ^ Gaara 나는 패키지를 설치하고 단계적으로 수동으로 만들었습니다. 내가 그것을 보낼 때 나는 로컬 메일이 있고, 나는 결코 나가지 않았다는 것을 당신이 도와 줄 수 있습니까 ?? …… 이 테마가 내 서버 인 salu2s에 구성되어 있어야합니다.

        1.    KZKG ^ 가아라

          귀하의 IP로 나는 귀하가 같은 나라 출신이라고 가정합니다 😉
          우리 네트워크의 "문제"에는 실제 IP가 거의 없습니다. 즉, 우리는 사역 프록시 네트워크 또는 이와 유사한 것 아래에 서브넷이 있습니다. 즉, 문제는 웹 서버만으로는 네트워크 또는 이와 유사한 이메일을받을 수 없다는 것입니다. 아마도 다음이 필요할 수 있습니다. https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   Truko22

    흥미롭고«/ etc / profile»에 배치되면 사용자가 연결할 때 경고를 표시합니까?

    1.    KZKG ^ 가아라

      시도해 볼 필요가 있었지만 나에게 발생하지 않았습니다 😀

  3.   느부갓네살

    편집증이라고 부르지 만, 내가 계정 암호, 출생 증명서, 개인 문서 및 업무 문서와 같은 데이터 (따라서 내 고객도 노출) 등을 보관하는 시스템의 중요한 부분에 낯선 사람이 나를 제안하는 스크립트를 넣습니다. 내 이메일 계정 (!!!)을 노출하는 것도 암시합니다 ... 글쎄요, 위험하다고 생각합니다.

    1.    요미 스모

      제시된 대본의 위험은 이해에 반비례합니다.

      그리고 편집증의 경우, 누군가가 귀하의 장바구니를 훔치는 악성 코드를 도입 할 가능성이 있으므로 NON-FREE 저장소 설치를 중단하십시오.

    2.    KZKG ^ 가아라

      명령 줄의 각 부분이 무엇을하는지 설명했지만 내가 누군가를 속이고 있다고 생각되면 스크립트 나 명령이 게시물에 바로 포함되어 있고 숨겨진 코드 나 비밀 코드가없는 경우 명령을 철저히 검토 할 수 있습니다. 당신이 원하는대로, 의심스러운 것을 찾으면 바로 여기에 댓글을 달아주세요 😉

  4.   브라우슨스

    감사합니다.

  5.   이 이름은 거짓

    매우 흥미로운.

    아마도 ~ / .bashrc 또는 / etc / 프로필 파일은 일반 사용자로 SSH로 액세스하고 특정 명령을 루트로 실행하는 경우 가장 적합하지 않을 수 있습니다. 또는 원격 VPS에서 X11을 내 보내면 xterm을 열 때마다 새 이메일이 생깁니다.

    mailx 해킹의 경우 ~ / .ssh / rc (각 사용자에 대해 개별) 또는 / etc / ssh / sshrc 파일을 사용해야한다고 생각합니다.

    PostData : _NEVER_ 루트 사용자로 SSH를 통한 액세스. _NEVER_ 비밀번호를 사용하여 SSH로 액세스합니다. _ALWAYS_ 개인 키를 사용합니다.

    1.    Truko22

      흥미 롭다 → ~ / .ssh / rc 더 많은 정보를 찾을 수 있습니다 감사합니다 😀

  6.   치 놀로 코

    안녕하세요, 아주 좋은 선생님!
    로컬 네트워크 외부의 모든 IP에서 ssh를 통해 입력하도록 만들 수 있습니까?
    감사합니다!

  7.   Vidagnu

    이 스크립트는 우리가 보내는 메일 서버가 원본 메일이 인증 된 서버에서 온 것인지 확인하지 않는 경우 작동합니다.이 경우 루트 @ localhost에서 온 것인지 대부분의 서버는 스팸으로 간주합니다.

    내가하는 일은 sendmail을 MTA로 구성한 다음 모든 배포판에 들어있는 메일을 사용하여 이메일을 보내는 것입니다.

    http://vidagnu.blogspot.com/2009/02/configurar-sendmail-como-cliente-de.html

  8.   알가베

    팁을 주셔서 감사합니다. 테스트 해 보겠습니다.]

  9.   KUK

    유용한 감사

  10.   이스라엘

    조언 친구 @ KZKG ^ Gaara에게 감사드립니다. 나는 sendmail을 살펴볼 것입니다. 해결하고 싶습니다, salu2s.

  11.   조스카

    큰! 입력 해 주셔서 감사합니다!

  12.   후안 C

    예를 들어 스크립트가 너무 많은 이메일을 보내는 경우, 예를 들어 누군가가 오전 8시에 루트 터미널에 들어가 약 00 개의 이메일을 보낸 다음 누군가가 다른 시간에 입력하고 40 개 이상의 이메일이 전송 된 후 누군가가 올 경우 다른 시간에 23 개가 넘는 이메일이 전송되었습니다. 무엇일까요?