歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Linux用戶退出系統後如何限制IP登錄Shell

  在Linux用戶退出系統後,還是會有多個IP登錄的風險,那麼Linux用戶退出系統後如何限制IP登錄Shell呢?學習啦小編分享了Linux用戶退出系統後限制IP登錄Shell的方法,希望對大家有所幫助。

  Linux用戶退出系統後限制IP登錄Shell方法

  生產環境中,有可能會出現被其他管理員或使用者修改hosts.allow允許更多的ip登陸機器;為了方便統一管理,我們可以在用戶退出的時候統一修改allow和deny文件成默認設置。同時也能自動獲取機器所配ip的整個ip段為允許登陸。

  test -f /root/.bash_logout && chattr -i /root/.bash_logout

  cat 》/root/.bash_logout 《《EOF

  export TERM=xterm

  /usr/bin/chattr -i /etc/hosts.allow /etc/hosts.deny

  #for hosts.deny

  /bin/awk ‘BEGIN{FS=“[=。]”;RS=“\n”};/^IPADDR/{print “sshd:all EXCEPT ”\$2“。”\$3“。”\$4“.0/255.255.255.0”}’ /etc/sysconfig/network-scripts/ifcfg-* | grep -v 127.0.0 | uniq 1》/etc/hosts.deny

  /bin/cat 》》/etc/hosts.deny 《《 iEOF

  sshd:all EXCEPT ip

  iEOF

  #for hosts.allow

  /bin/awk ‘BEGIN{FS=“[=。]”;RS=“\n”};/^IPADDR/{print “sshd:”\$2“。”\$3“。”\$4“.0/255.255.255.0”}’ /etc/sysconfig/network-scripts/ifcfg-* | grep -v 127.0.0 | uniq 1》/etc/hosts.allow

  /bin/cat 》》/etc/hosts.allow 《《 iEOF

  sshd:ip(www.111cn.net)

  iEOF

  /usr/bin/chattr +i /etc/hosts.allow /etc/hosts.deny

  clear

  EOF

  sh /root/.bash_logout 2》&1 》/dev/null

  例子

  這個只是檢測有非法ip登錄到服務器上就自動給運維報警,當然也可以改成短信報警,前提是你有短信網關。

  #!/bin/bash

  #該腳本作用是檢測是否有惡意IP登陸服務器並郵件報警

  #可以結合139郵箱以達到短信及時通知到手機的功能

  #適用系統centos5

  Ldate=`which date`

  Lawk=`which awk`

  Llast=`which last`

  Lgrep=`which grep`

  Lsendmail=`which sendmail`

  Lifconfig=`which ifconfig`

  serverip=`$Lifconfig eth0|$Lgrep inet|$Lawk -F : ‘{print $2}’|$Lawk ‘{print $1}’`

  cutdate=`$Ldate |$Lawk ‘{print $1“ ”$2“ ”$3}’`

  hackerip=`$Llast|$Lgrep “$cutdate”|$Lawk ‘{print $3}’|$Lgrep -v 192.168.1x.xx`

  if [ -z $hackerip ]

  then

  exit

  else

  for logip in $hackerip

  do

  echo “hacker ip is $logip already login $serverip”|mail -s “SOS” [email protected]

  done

  fi

  上面就是Linux用戶退出系統後限制IP登錄Shell腳本的實例介紹了,限制IP登錄也方便統一管理,有需要的朋友可以嘗試一下。
 

看過“Linux用戶退出系統後如何限制IP登錄Shell”的人還看了:

Copyright © Linux教程網 All Rights Reserved