Получавайте известие по имейл, когато някой има достъп като корен от SSH

Тези от нас, които управляват сървъри, трябва да поддържат възможно най-строг контрол върху всичко, което се случва на сървъра, едно от нещата, които често трябва да знаем, е когато потребителят се свързва чрез SSH (включен корен), за това с пакет и линия ще достигне до нашите известия по имейл.

Можете ли да си представите, че всеки път, когато някой се свързва чрез SSH с root, той получава имейл, който казва?

С други думи, те ще получат имейл, в който ще пише нещо подобно:

[miserver] Предупреждение: Достъп до корен терминал на: 2014 г. (01)

Това е:

[$ VPS_NAME] Сигнал: Достъп до коренния терминал на: $ DATE ($ IP_DE_WHO_S_CONNECT)

За да постигнат това, първо трябва да инсталират пакет, наречен mailx.

Ако приемем, че вашият сървър използва Debian или някакъв дистрибутор, базиран на него (препоръчвам само Debian, а не Ubuntu или подобен за сървъри), това би било:

apt-get install mailx

Забележка: Предишната команда се изпълнява като root директно на сървъра, тъй като е 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 «_____» посочвам темата и я предавам с ехо «____» и с тръба съдържанието на тялото.
  2. `hostname` с това получавам име на хост или име на хост, тоест името на VPS.
  3. `date + '% Y /% m /% d'` командата date ми показва системната дата, а останалите букви просто показват как искам датата да се показва.
  4. кой | grep -v localhost` Ако стартирате кой на вашия компютър, той ще ви покаже активните потребители, с grep -v localhost се уверявам, че той показва само тези, които са се свързали от различно местоположение към самия сървър, т.е. SSH
  5. `кой | grep -v localhost | awk {'print $ 5'} `Това, което отличава този ред от предишния, е awk, чрез awk и отпечатването на 5-та колона е, че получавам IP от мястото, където са се свързали към SSH

Както и да е, редът е малко дълъг и може да изглежда сложен за разбиране, но има много странни знаци, но всичко е доста просто 🙂

Както винаги, надявам се да ви е било интересно.

поздрави


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   мануелперес каза той

    Въпрос, с кой пощенски сървър се изпраща? Трябва ли да конфигурирате акаунт за доставка?

    1.    KZKG ^ Гаара каза той

      Трябва да имате инсталиран пакет mailx 😉
      След като това бъде направено, то се изпраща, без да е необходимо да конфигурирате нещо друго на сървъра.

      1.    мануелперес каза той

        Ще опитам, но мисля, че имейлът ми няма да приема получаване на имейл от неудостоверен източник ...

        1.    yomismo каза той

          Използвам exim4 с акаунт в gmail, за да изпращам имейли и работи добре
          - С изключение на заглавките FROM TO и REPLY TO, които gmail поставят това, което искат, но те пристигат добре -.
          За да конфигурирате gmail с exim4, използвайте тази информация:
          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.    yomismo каза той

      Опасността от представения сценарий е обратно пропорционална на разбирането му.

      А за параноя, спрете да инсталирате БЕЗПЛАТНИ хранилища, тъй като е възможно някой да въведе злонамерен код, който открадне вашата количка за пазаруване.

    2.    KZKG ^ Гаара каза той

      Обясних какво прави всяка част от командния ред, но ако смятате, че заблуждавам някого, скриптът или командите са точно там в публикацията, няма скрит или таен код, можете да прегледате командите толкова задълбочено както искате, което работи, ако откриете нещо подозрително, моля, коментирайте го тук 😉

  4.   Броусънс каза той

    Оценява се.

  5.   това име е фалшиво каза той

    Много интересно.

    Може би ~ / .bashrc или / etc / profile файловете не са най-подходящи в случай, че имаме достъп чрез SSH с нормален потребител и изпълняваме определена команда като root. Или ако експортираме X11 от отдалечения ни VPS, всеки път, когато отворим xterm, ще имаме нов имейл.

    За хакването на mailx мисля, че трябва да използваме файловете ~ / .ssh / rc (индивидуално за всеки потребител) или / etc / ssh / sshrc

    PostData: _НИКОГА_ достъп от SSH като root потребител. _НИКОГА_ достъп чрез SSH с помощта на парола. _ALWAYS_ използват частни ключове.

    1.    truko22 каза той

      интересно → ~ / .ssh / rc Ще намеря повече информация за това, благодарение 😀

  6.   хинолоко каза той

    Здравейте, много добър преподавател!
    Бихте ли могли да накарате един да влезе чрез ssh от всеки ip, извън локалната мрежа?
    Благодаря!!

  7.   видагну каза той

    Този скрипт работи, ако пощенският сървър, до който изпращаме, не потвърждава, че пощенската кутия идва от автентичен сървър, в този случай тя ще бъде от root @ localhost източника, повечето сървъри ще я приемат като спам.

    Това, което правя, е да конфигурирам sendmail като MTA и след това да използвам пощата, която идва във всички дистрибуции, за изпращане на имейли.

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

  8.   Алгабе каза той

    Благодаря за съвета, за да го тествам:]

  9.   кук каза той

    много полезно благодаря

  10.   Израел каза той

    Благодаря милион за съвета приятел @ KZKG ^ Gaara, ще разгледам sendmail, надявам се да го реша, salu2s.

  11.   Джоскар каза той

    Страхотен! Благодаря за приноса!

  12.   Хуан С. каза той

    И какво се случва, ако например скриптът изпраща твърде много имейли, например някой влезе в основния терминал в 8:00 сутринта и изпрати около 40 имейла, след това някой е влязъл в друго време и са изпратени повече от 23 имейла и след това идва някой в по друго време и повече от 150 имейла бяха изпратени, какво би могло да бъде?