Nginx.note
1、Nginx、OCSP Stapling:
vim /etc/nginx/sites-enabled/default
有时可能OCSP Stapling访问失败,那么就将ssl证书和ca根证书合成一个文件,放到 ssl_certificate中(注意ssl证书在前,ca证书在后):
cat ssl.crt ca.crt > new.crt //然后ssl_certificate调用这个证书即可

·测试 OCSP:
openssl s_client -connect app.hq.int:443 -servername app.hq.int -status | grep OCSP
2、LDAP 身份认证:
apt install -y nslcd libnginx-mod-http-auth-pam



## 这里不需要给密码权限,因为给了它就能用本地用户登陆,不给权限就只能使用 ldap用户登陆
usermod -aG shadow www-data·仅允许 Vis001 - Vis050 和 user1 登陆:
# 因为我们前面创建用户时,将 Vis001 - Vis050 加入到了 Vis1组(gid 3001),因此下面只需要允许 gid 3001的组和user1(uid/gid 2001)的用户登陆即可# 模板:man nslcd.conf > 1
直接复制
注意,配置了这个不影响 id 查询用户,只会在用户登陆时进行额外限制
vim /etc/nslcd.conf只允许 Vis001 - Vis050 登陆:

只允许 user1 和 Vis001 - Vis050 登陆:

(| ) 表示 或,这里面定义的条件,只需要匹配其中一项即可
# 不能写多条,写多条默认是 and·测试:
user2、其他用户登陆失败:

user1、Vis001-Vis050 登陆成功:


3、apparmor:
1)限制 Nginx:
apt install -y apparmor-utils rsyslog //创建时依赖 /var/log/syslog文件,安装rsyslog就会自动创建
which nginx
aa-genprof /usr/sbin/nginx
# 输入 f然后就会生成 /etc/apparmor.d/usr.sbin.nginx 文件,生成的默认就是 Enforce模式
vim /etc/apparmor.d/usr.sbin.nginx
systemctl restart apparmor
systemctl restart nginx
两个deny是题目要求的
file、network、capability作用是允许它访问所有资源,也就是等于不做 apparmor限制2)限制 CGI脚本:
aa-genprof /var/www/cgi-bin/monitor.sh //输入脚本路径
# 输入 fvim /etc/apparmor.d/var.www.cgi-bin.monitor.sh然后也是一样,复制上面 Nginx 那三个放行条目即可

systemctl restart apparmor
4、网页脚本:
apt install -y fcgiwrap nginx-doc# 启动 fcgiwrap:
vim /etc/profile
# nginx 站点:
## nginx 站点放到 80下,不要放在443中
vim /etc/nginx/sites-enabled/default
模板:
apt install -y nginx-doc/usr/share/doc/nginx/examples/mailman

fcgiwrap 路径:

# 脚本:
vim /var/www/cgi-bin/monitor.sh
旧:
# 编写 bash脚本:
mkdir /var/www/cgi-bin/
touch /var/www/cgi-bin/monitor.sh
chmod +x /var/www/cgi-bin/monitor.sh
mkdir /var/www/html/statusset -e ,当脚本中出现非 0 返回值时,直接退出脚本,而不会报错

vim /etc/crontab
