|
|
@@ -0,0 +1,59 @@
|
|
|
+#!/bin/bash
|
|
|
+#########################################################################
|
|
|
+# Check VPN connection including users #
|
|
|
+# Created by DoIT-PM #
|
|
|
+# ver 0.2 #
|
|
|
+#########################################################################
|
|
|
+
|
|
|
+#---------------------------- VARIABLES --------------------------------#
|
|
|
+BDA="23"
|
|
|
+TIM=$(date +%H)
|
|
|
+DAY=$(date +%d)
|
|
|
+DAB=$(date +%y%m%d)
|
|
|
+DAT=$(date +%b" "%_d)
|
|
|
+WEB="/opt/librenms/html/admin/vpn"
|
|
|
+test -f /var/log/messages && LOG="/var/log/messages"
|
|
|
+test -f /var/log/syslog && LOG="/var/log/syslog"
|
|
|
+REP="/tmp/vpn.rep"
|
|
|
+test -d $WEB || mkdir $WEB
|
|
|
+test -f $REP && rm -rf $REP
|
|
|
+
|
|
|
+#---------------------------- COLLECTION -------------------------------#
|
|
|
+collect(){
|
|
|
+echo -e "- \e[1;32mExtracting\e[0m data from [\e[1;33m$DAT\e[0m]"
|
|
|
+echo "-------- ---------------- ------------ ----------------" > $REP
|
|
|
+echo "TIME VPN-PROFILE USER-NAME IP-ADDRESS" >> $REP
|
|
|
+echo "-------- ---------------- ------------ ----------------" >> $REP
|
|
|
+cat $LOG | grep "$DAT" | grep "ASA-6-113039" | awk '{print $3,$8,$10,$12}' | sed 's/</ /g' | sed 's/>/ /g' >> $REP
|
|
|
+echo "-------- ---------------- ------------ ----------------" >> $REP
|
|
|
+}
|
|
|
+
|
|
|
+#----------------------------- BIG-DATA --------------------------------#
|
|
|
+bigdata(){
|
|
|
+if [ "$TIM" -eq "$BDA" ];
|
|
|
+then
|
|
|
+ echo -e "- \e[1;32mAdding\e[0m day data to BigData"
|
|
|
+ cat $REP | grep "^[0-9]" > $WEB/vpn.tmp
|
|
|
+ sed -i "s/^/$DAB /" $WEB/vpn.tmp
|
|
|
+ cat $WEB/vpn.tmp >> $WEB/vpn.rep
|
|
|
+ echo "------ -------- ---------------- ------------ ----------------" > $WEB/vpn.clr
|
|
|
+ echo "DATE TIME VPN-PROFILE USER-NAME IP-ADDRESS" >> $WEB/vpn.clr
|
|
|
+ echo "------ -------- ---------------- ------------ ----------------" >> $WEB/vpn.clr
|
|
|
+ cat $WEB/vpn.rep | awk '!seen[$0]++' | sort >> $WEB/vpn.clr
|
|
|
+ echo "------ -------- ---------------- ------------ ----------------" >> $WEB/vpn.clr
|
|
|
+ cat $WEB/vpn.clr | column -t > $WEB/vpn.txt
|
|
|
+else
|
|
|
+ echo -e "- \e[1;31mNOT\e[0m right time for updating BigData"
|
|
|
+fi
|
|
|
+}
|
|
|
+
|
|
|
+#------------------------------- CORE ----------------------------------#
|
|
|
+clear
|
|
|
+collect
|
|
|
+bigdata
|
|
|
+cat $REP | column -t
|
|
|
+USR=$(cat $REP | awk '{print $3}' | egrep -v "USER|\---" | sort | uniq | wc -l)
|
|
|
+VPN=$(cat $REP | egrep -v "USER|\---" | sort | wc -l)
|
|
|
+echo -e "- Summary today VPN access: [\e[1;33m$VPN\e[0m]"
|
|
|
+echo -e "- Unique today VPN users: [\e[1;33m$USR\e[0m]"
|
|
|
+echo -e "- Report summary: [\e[1;35m$WEB/vpn.txt\e[0m]"
|