ROOTPLOIT
Server: Apache
System: Linux node6122.myfcloud.com 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User: bashacomputer (1004)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/nagios/plugins/vz7_check_a2_fw.sh
#!/bin/bash
#
# Firewall rules check for vz7 nodes
# Refactored to add logging - BFENG-551

LOGFILE="/var/log/check_fw.log"
TMPFILE=$(mktemp /tmp/check_fw.XXXXXX)

_LOG() {
  echo -e "$(date '+%Y-%m-%d %H:%M:%S')" >> "$LOGFILE"
  echo "$1" | tee -a "$LOGFILE"
}

/sbin/iptables -S | grep -wE 'INPUT|DROP|REJECT' >> "$TMPFILE"

IPT=$(cat "$TMPFILE")
IDRP=$(echo "$IPT" | grep -c 'INPUT DROP')
DRP=$(echo "$IPT" | grep -c DROP)
REJ=$(echo "$IPT" | grep -c REJECT)

if [ "$IDRP" -eq 0 ]; then
  _LOG "check_fw - Iptables firewall has no default DROP policy!"
  cat "$TMPFILE" >> "$LOGFILE"
  rm "$TMPFILE"
  exit 2
elif [ "$DRP" -eq 0 ] && [ "$REJ" -eq 0 ]; then
  _LOG "check_fw - Iptables firewall DROP/REJECT rules are missing!"
  cat "$TMPFILE" >> "$LOGFILE"
  rm "$TMPFILE"
  exit 2
fi

/sbin/iptables -nvL | grep 'Chain' | awk '{print $2}' > "$TMPFILE"
CHAINS=$(cat "$TMPFILE")

for CHAIN in $CHAINS; do
  if [ "$CHAIN" != "FORWARD" ] && [ "${CHAIN:0:6}" != "OUTPUT" ] && [ "${CHAIN:0:4}" != "LOG_" ] && [ "${CHAIN:0:5}" != "SOLUS" ] && [[ ! $CHAIN =~ "LIBVIRT" ]]; then
    CNT=$(expr "$(/sbin/iptables -S "$CHAIN" | wc -l)" '-' 1)
    if [ "$CNT" -eq 0 ]; then
      _LOG "check_fw - Iptables firewall rules are missing!"
      cat "$TMPFILE" >> "$LOGFILE"
      rm "$TMPFILE"
      exit 2
    else
      echo "check_fw - Iptables firewall is OK"
      rm "$TMPFILE"
      exit 0
    fi
  fi
done