logins.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. #########################################################################
  3. # Script for check LOGINS #
  4. # Created by PM-DoIT #
  5. # ver 0.1 #
  6. #########################################################################
  7. #----------------------------- DEFINITIONS -----------------------------#
  8. SRV=$(hostname -s)
  9. IGN="root|www-data|pi|service_account"
  10. #------------------------------ VARIABLES ------------------------------#
  11. test -f /var/log/secure && LOG="/var/log/secure"
  12. test -f /var/log/auth.log && LOG="/var/log/auth.log"
  13. test -f /var/log/radius/radius.log && LOGR=/var/log/radius/radius.log
  14. #------------------------------ EXTRACT --------------------------------#
  15. aaa(){
  16. echo -e "- \e[1;36mCollect\e[0m [\e[1;33mLDAP/LOCAL\e[0m] \e[1;36mlogins\e[0m"
  17. cat $LOG | grep -i "Failed" | egrep -v "$IGN" | awk '{print $1,$2,$3,$4,$(NF-5),$(NF-3),"LDAP"}' | awk '!seen[$0]++' > /tmp/logins.failed
  18. cat $LOG | grep -i "session opened" | egrep -v "$IGN" | awk '{print $1,$2,$3,$4,$(NF-2)}' | awk '!seen[$0]++' | sed 's/(/ /g' | awk 'NF{NF-=1};1' | sed 's/$/ xxx.xxx.xxx.xxx LDAP/' > /tmp/logins.success
  19. }
  20. rad(){
  21. echo -e "- \e[1;36mCollect\e[0m [\e[1;33mRADIUS\e[0m] \e[1;36mlogins\e[0m"
  22. cat $LOGR | grep "Login incorrect" | egrep -v "$IGN" | awk '{print $2,$3,$4,"htsipa01.hts.local",$(NF-7),$NF,"RAD"}' | awk '!seen[$0]++' | sed 's/)//g' >> /tmp/logins.failed
  23. cat $LOGR | grep "Invalid user" | egrep -v "$IGN" | awk '{print $2,$3,$4,"htsipa01.hts.local",$(NF-7),$NF,"RAD"}' | awk '!seen[$0]++' | sed 's/)//g' >> /tmp/logins.failed
  24. cat $LOGR | grep "Login OK" | egrep -v "$IGN" | awk '{print $2,$3,$4,"htsipa01.hts.local",$(NF-5),$(NF-2),"RAD"}' | awk '!seen[$0]++' | sed 's/)//g' >> /tmp/logins.success
  25. }
  26. sum(){
  27. CSUC=$(cat /tmp/logins.success | wc -l)
  28. CFAI=$(cat /tmp/logins.failed | wc -l)
  29. }
  30. #------------------------------- CORE ----------------------------------#
  31. clear
  32. aaa
  33. test -f /var/log/radius/radius.log && rad
  34. sum
  35. echo -e "- \e[1;32mSuccess\e[0m [\e[1;33m$CSUC\e[0m] Logins: [\e[1;32m/tmp/logins.success\e[0m]"
  36. echo -e "- \e[1;31mFailed\e[0m [\e[1;33m$CFAI\e[0m] Logins: [\e[1;31m/tmp/logins.failed\e[0m]"