HEX
Server: nginx/1.16.1
System: Linux ecs-04358622 4.19.90-2107.6.0.0100.oe1.bclinux.x86_64 #1 SMP Wed Dec 1 19:59:44 CST 2021 x86_64
User: nginx (994)
PHP: 8.0.0
Disabled: NONE
Upload Files
File: //usr/local/edr/var/baseline/nginxcheck.sh
#!/bin/bash

if [ ! -f $3 ]
then
        echo "3046#5700#2#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        sleep 0.5
elif [ $1 == 0 ]
then
        echo "检查控制并发连接"
	WORKER_NUM=`cat $3  | grep worker_connections | grep -v '#' | awk -F ';' '{print $1}' | awk '{print $2}'`
	if [ -z $WORKER_NUM ]
	then
		sed -i '/events {/a\    worker_connections  $2' $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/worker_connections  $WORKER_NUM;/worker_connections  $2;/g" $3 
        	echo "3046#5699#1#$1#$2#$WORKER_NUM#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 1 ]
then
        echo "检查keepalive timeout"
	TMOUT_NUM=`cat $3  | grep keepalive_timeout | grep -v '#' | awk -F ';' '{print $1}' | awk '{print $2}'`
	if [ -z $TMOUT_NUM ]
	then
		sed -i '/http {/a\    keepalive_timeout  $2' $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/keepalive_timeout  $TMOUT_NUM;/keepalive_timeout  $2;/g" $3 
        	echo "3046#5699#1#$1#$2#$TMOUT_NUM#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 2 ]
then
        echo "检查client header timeout"
	CLIENT_HEADER_TIMEOUT=`cat $3  | grep client_header_timeout | grep -v '#' | awk -F 's;' '{print $1}' | awk '{print $2}'`
	if [ -z $CLIENT_HEADER_TIMEOUT ]
	then
		sed -i "/location/{s/$/\n            client_header_timeout  "$2"s;/;:f;n;b f;}" $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/client_header_timeout  "$CLIENT_HEADER_TIMEOUT"s;/client_header_timeout  "$2"s;/g" $3 
        	echo "3046#5699#1#$1#$2#$CLIENT_HEADER_TIMEOUT#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 3 ]
then
        echo "检查限制客户端的下载速度"
	LIMIT_RATE=`cat $3  | grep limit_rate | grep -v '#' | awk -F 'k;' '{print $1}' | awk '{print $2}'`
	if [ -z $LIMIT_RATE ]
	then
		sed -i "/location/{s/$/\n            limit_rate  "$2"k;/;:f;n;b f;}" $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/limit_rate  "$LIMIT_RATE"k;/limit_rate  "$2"k;/g" $3 
        	echo "3046#5699#1#$1#$2#$LIMIT_RATE#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 5 ]
then
        echo "检查默认错误页上的nginx版本号是否关闭"
	SERVER_TOKEN=`cat $3  | grep server_tokens | grep -v '#' | awk -F ';' '{print $1}' | awk '{print $2}'`
	if [ -z $SERVER_TOKEN ]
	then
		sed -i "/listen/{s/$/\n        server_tokens  off;/;:f;n;b f;}" $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/server_tokens  "$SERVER_TOKEN";/server_tokens  off;/g" $3 
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 6 ]
then
        echo "检查client body timeout"
	CLIENT_BODY_TIMEOUT=`cat $3  | grep client_body_timeout | grep -v '#' | awk -F 's;' '{print $1}' | awk '{print $2}'`
	if [ -z $CLIENT_BODY_TIMEOUT ]
	then
		sed -i "/location/{s/$/\n            client_body_timeout  "$2"s;/;:f;n;b f;}" $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/client_body_timeout  "$CLIENT_BODY_TIMEOUT"s;/client_body_timeout  "$2"s;/g" $3 
        	echo "3046#5699#1#$1#$2#$CLIENT_BODY_TIMEOUT#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
elif [ $1 == 7 ]
then
        echo "检查send timeout"
	SEND_TIMEOUT=`cat $3  | grep send_timeout | grep -v '#' | awk -F 's;' '{print $1}' | awk '{print $2}'`
	if [ -z $SEND_TIMEOUT ]
	then
		sed -i "/location/{s/$/\n            send_timeout  "$2"s;/;:f;n;b f;}" $3
        	echo "3046#5699#1#$1#$2#0#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	else
		sed -i "s/send_timeout  "$SEND_TIMEOUT"s;/send_timeout  "$2"s;/g" $3 
        	echo "3046#5699#1#$1#$2#$SEND_TIMEOUT#" >> /usr/local/edr/var/baseline/nginxcheck_result
        	sleep 0.5
	fi
fi