Hãy xem InSpec, một công cụ cho phép bạn "biến sự tuân thủ, bảo mật và các yêu cầu chính sách khác của bạn thành các bài kiểm tra tự động".
https://www.inspec.io
Nó có thể thực hiện tất cả các kiểm tra cấu hình mà bạn cần cho máy chủ Nginx của mình. Đây là một cách để kiểm tra sự tồn tại của tệp conf và giá trị của server_tokens
:
conf_path = '/etc/nginx/nginx.conf'
control 'Server tokens should be off' do
describe file(conf_path) do
it 'The config file should exist and be a file.' do
expect(subject).to(exist)
expect(subject).to(be_file)
end
end
if (File.exist?(conf_path))
Array(nginx_conf(conf_path).params['http']).each do |http|
describe "http:" do
it 'server_tokens should be off if found in the http context.' do
Array(http["server_tokens"]).each do |tokens|
expect(tokens).to(cmp 'off')
end
end
end
end
end
end
Nếu được đặt chính xác, InSpec trả về:
✔ Server tokens should be off: File /etc/nginx/nginx.conf
✔ File /etc/nginx/nginx.conf The config file should exist and be a file.
✔ http: server_tokens should be off if found in the http context.
Nếu không:
× Server tokens should be off: File /etc/nginx/nginx.conf (1 failed)
✔ File /etc/nginx/nginx.conf The config file should exist and be a file.
× http: server_tokens should be off if found in the http context.
expected: "off"
got: ["on"]
(compared using `cmp` matcher)
server_token
không có gì để làm với phiên bản PHP. Nó thường được gửi trong tiêu đề riêng biệtX-Powered-By
. Tôi đoán bạn cần php.net/manual/en/ini.core.php#ini.expose-php