TMAegisBeta
Thêm quy tắc cho nginx

NGINX

TMA-NGINX-2.4.4

Ensure send_timeout is set to 10 seconds or less, but not 0

Trung bìnhCấp 1Tự độngnginx

Mô tả

The send_timeout directive sets a timeout for transmitting a response to the client between two successive write operations. Every send_timeout must be between 1 and 10 seconds and the directive must be set (default 60s). Evaluated on the merged configuration printed by `nginx -T` (all included files; needs permission to read them). CIS marks this recommendation Manual; the automated check implements its audit procedure.

Cách kiểm tra

Phương pháp kiểm tra: Lệnh shell

shell
out=$(nginx -T 2>/dev/null) || exit 1; printf '%s\n' "$out" | awk '{l=$0; o=""; q=""; for(i=1;i<=length(l);i++){c=substr(l,i,1); if(q!=""){o=o c; if(c==q) q=""; continue} if(c=="\""||c=="\047"){q=c; o=o c; continue} if(c=="#") break; if(c==";"||c=="{"){print o c; o=""; continue} if(c=="}"){if(o~/[^[:space:]]/) print o; print "}"; o=""; continue} o=o c} if(o~/[^[:space:]]/) print o}' | awk 'function a(i,  x){x=$i; sub(/;$/,"",x); gsub(/["\047]/,"",x); return x} function inb(n,  i){for(i=1;i<=sp;i++) if(st[i]==n) return 1; return 0} ($1=="send_timeout"){v=a(2); m=1; if(v~/m$/) m=60; sub(/[ms]$/,"",v); seen[$1]=1; if(v*m<1||v*m>10) bad=1} {o=gsub(/\{/,"{"); c=gsub(/\}/,"}"); while(o-->0){sp++; b=$1; sub(/\{.*/,"",b); st[sp]=b} while(c-->0 && sp>0) sp--} END{print (seen["send_timeout"]&&!bad)?"compliant":"noncompliant"}'
Đầu ra mong đợi
compliant

Cách khắc phục

Phương pháp khắc phục: Hướng dẫn hoặc bản vá hạ tầng

Set 'send_timeout 10;' in the http block. Then run nginx -t and reload nginx.

Thuộc tính

Hệ điều hành
Bất kỳ
Thẻ
nginxdos
Tham chiếu
CIS NGINX Benchmark v3.0.0 - 2.4.4 Ensure send_timeout is set to 10 seconds or less, but not 0

Kiểm tra máy này

Chạy lệnh này trên máy bạn được phép kiểm tra. Lần quét chỉ ở chế độ đọc.

shell
tmaegis scan --target nginx