рд╕рд░реНрд╡рд░ рд▓реЙрдЧрд┐рди рд╕реВрдЪрдирд╛рдПрдВ (рдПрд╕рдПрд╕рдПрдЪ / рдЯрд░реНрдорд┐рдирд▓) рд╕рд╕реНрддреА рдФрд░ рд╣рдВрд╕рдореБрдЦ

рд╕рдореБрджрд╛рдп рдХреЛ рдмрдзрд╛рдИред рдпрд╣ рдкрд╣рд▓рд╛ рдкреНрд░рдХрд╛рд╢рди рд╣реИ, рдкреНрд░реЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╣реЛрдиреЗ рд╕реЗ рдмрд╣реБрдд рджреВрд░, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреЛ рдЦреБрдж рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдбреЗрдмрд┐рдпрди рдкрд░ рд▓рдЧрднрдЧ 30 рд╡реАрдбреАрдПрд╕-рдУрдХреЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ "рдкрд░реНрдпрд╡реЗрдХреНрд╖рдг" рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ (рдФрд░ рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддрд░рд╣ * рдирд┐рдХреНрд╕-рдкреНрд░рд╢рд╛рд╕рдХ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╣реВрдВ)ред рдФрд░ рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдпрд╛ рдерд╛ рдХрд┐ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рдж "рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдЪреВрдХ рдЧрдпрд╛, рддреЛ рдореИрдВ рдЬрд▓реНрджреА рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред" SSH рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдШрдЯрдирд╛рдУрдВ рдФрд░ рдИрдореЗрд▓ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрд╕рд┐рдкреА (Habr├й рд╕рд╣рд┐рдд) рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВрдиреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЙрддреНрддрд░рджрд╛рдпреА рдФрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдЕрдВрддрддрдГ рдЗрд╕ рддрд░рд╣ рдХреА "рдкреНрд░рдгрд╛рд▓реА" рдорд┐рд▓реА, рдЬреЛ рдХрд┐ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдореБрдЭреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдХрд┐рд╕реА рднреА рддрдереНрдп рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рддреА рд╣реИред

  1. рдПрдкреАрдЖрдИ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдореИрдиреБрдЕрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╕реВрдЪрдирд╛ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдФрд░ рдПрдХ рдЪреИрдЯ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ (рдореИрдВ рдпрд╣рд╛рдВ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдпрд╣ рд╕рдм рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рдмрд╕ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреА 1-2 рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ)ред
  2. рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рдЧрдИ рдереАрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЛрдб рдиреАрдЪреЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рд╕рдм рдХреБрдЫ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ред
  3. рджреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд░реНрд╡рд░ рд▓реЙрдЧрд┐рди рдИрд╡реЗрдВрдЯ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЙрд▓ рдЬреЛрдбрд╝рд╛ рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рд╕реЗрд╡рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ред

рд╕рдм рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 5-10 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ, рдФрд░ рдирд╣реАрдВред рдЦреИрд░, рдЕрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрдХрдиреАрдХреАред

рдкреБрдирд╢реНрдЪред рд╕рдм рдХреБрдЫ Debian9 x64 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рдерд╛ (рдпрджрд┐ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ)ред

/ sbin / onlogged

#!/bin/sh if [ "$1" = "ssh" ] && [ -z "$TERM" ] ; then MESS="USER USE SSH AUTH [not console]" elif [ "$1" = "bash" ] && [ ! -z "$TERM" ] ; then if [ ! -z "$SUDO_USER" ] && [ "$TERM" = "linux" ] ; then MESS="USER USE SUDO DISPLAY CONSOLE [terminal]" elif [ ! -z "$SUDO_USER" ] && [ ! "$TERM" = "linux" ] ; then MESS="USER USE SUDO SSH CONSOLE [ssh session]" elif [ "$TERM" = "linux" ] ; then MESS="USER USE DISPLAY CONSOLE [terminal]" elif [ ! -z "$SSH_TTY" ] ; then MESS="USER USE SSH CONSOLE [ssh session]" else MESS="USER LOGGED [unknown]" fi fi if [ ! -z "$MESS" ] ; then if [ ! -z "$SSH_TTY" ] ; then M_TTY=" TTY = $SSH_TTY |" fi if [ ! -z "$SUDO_USER" ] ; then M_SUDO=" SUDO = $SUDO_USER |" fi if [ ! -z "$TERM" ] ; then M_TERM=" TERM = $TERM |" fi SEND="$MESS | USER = $USER |$M_TTY$M_SUDO$M_TERM" /sbin/telegram "$SEND" "ALERT" > /dev/null fi 

/ sbin / рдЯреЗрд▓реАрдЧреНрд░рд╛рдо

 #!/bin/sh if [ $# -gt 0 ] then text="[$2] `cat /etc/hostname` : $1" url="https://api.telegram.org/bot{TOKEN}/sendMessage" curl \ --data-urlencode "chat_id={CHAT_ID}" \ --data-urlencode "text=$text" \ --connect-timeout 10 \ --max-time 10 \ $url > /dev/null 2>&1 else echo "Text is empty" fi 

/ etc / ssh / sshrc

 /sbin/onlogged ssh 

/etc/bash.bashrc

 ...     ... /sbin/onlogged bash 

рд╢рд╛рдпрдж рдпрд╣ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдпрд╛ рд╕рд┐рд░реНрдл рдЖрдзрд╛рд░ рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/hi441774/


All Articles