分类 电脑 下的文章

nginx的ssl客户端认证 - ssl_verify_client

环境:宝塔环境中的nginx 1.16

过程:

1.先为站点szt.anqun.org设置好https访问

2.openssl genrsa -des3 -out ca.key 4096 # 创建好自己的 Certificate Authority,会要求输入一个密码

3.openssl req -new -x509 -days 365 -key ca.key -out ca.crt # 创建好CA Certificate

4.openssl genrsa -des3 -out user.key 4096 # 创建用户user的密匙

5.openssl req -new -key user.key -out user.csr # 创建用户user的CSR

6.openssl x509 -req -days 365 -in user.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out user.crt # 签发用户的证书

7.openssl pkcs12 -export -out user.pfx -inkey user.key -in user.crt -certfile ca.crt # 生成pfx证书,方便用户导入到浏览器里。会提示设置一个导入密码

8.在nginx的站点配置文件里,在适合的位置添加两行:

    # client certificate
    ssl_client_certificate /www/server/nginx/ca.crt;
    ssl_verify_client optional;

nginx-ssl-client-1.png

9.没有证书的用户访问,会提示400错误
nginx-ssl-client-2.png

10.在用户的浏览器,如火狐浏览器里导入pfx证书
nginx-ssl-client-3.png

11.访问站点时,会提示选择证书,确定选择后,正常访问
nginx-ssl-client-4.png

参考:

用find命令查找wordpress上传目录下的php文件

一网友反馈wordpress站点被阿里云提醒有异常的php木马文件。查看网站的错误日志,是有尝试访问uploads目录下php文件的记录。

可以尝试的方法:

1.在站点目录下,执行以下命令删除找出的php文件
find . -path "wp-content/uploads" -name "*.php" -delete

2.在nginx的站点配置文件中,禁止访问uploads目录下的php文件

# Deny access to uploads that aren’t images, videos, music, etc..
location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf|css)$ {
    deny all;
}

3.也可以禁止访问wordpress的后台:

location ~ ^/(wp-admin|wp-login.php) {
  include enable-php-72.conf; # php脚本执行
  allow 8.8.8.8; # 仅允许指定的IP访问
  deny all;
}

4.或禁止访问xmlrpc.php文件:

        location = /xmlrpc.php {
            deny all;
            access_log off;
            log_not_found off;
            return 444;
        }

参考:

在Windows里用grub4dos引导启动WinPE的iso镜像文件

环境:Windows 2016,grub4dos-0.4.6a,WinPE

过程:

1.在Windows 2016里,通过bcdedit添加grub4dos的启动项

2.在menu.lst里添加或编辑已有的例子,核对iso文件的路径,如:

title Test LiveISO
find --set-root --ignore-floppies --ignore-cd /test.iso
map --top --mem /test.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2

grub4dos-iso-boot-4.png

3.重启Windows 2016,在启动菜单里选择 Grub for DOS
grub4dos-iso-boot-1.png

4.在菜单里选择相应的iso项,如本例 Test LiveISO
grub4dos-iso-boot-2.png

5.成功加载iso文件,可在WinPE里使用chkdisk.exe检查和修复文件错误
grub4dos-iso-boot-3.png

参考:

找到cPanel的站点证书路径 - /var/cpanel/ssl/apache_tls/domain.com/combined

问题:cPanel的站点,布置了SSL证书,现在需要从apache转换到nginx提供https访问,但从cPanel中复制的私匙和证书,nginx会报错,提示证书不匹配。

cpanel-ssl-nginx-1.png

尝试:搜索.pem文件,找到/var/cpanel/ssl目录,再找到相应站点里的combined,查看到里边有私匙和证书。将combined文件添加到nginx里,可以使用。

cpanel-ssl-nginx-2.png

iredmail - 无法发出邮件 - STARTTLS 证书错误

现象:使用“雷鸟”邮件客户端,无法发邮邮件,提示“消息发送失败。发送邮件时出错:无法与传出服务器(SMTP) smtp.xxx.xxx 使用 STARTTLS 建立安全连接,因为它不宣称支持此功能。请关闭对此服务器的 STARTTLS,或者联系您的服务提供商。”

iredmail-starttls-587-cert-problem-1.png

过程:

1.查看 /var/log/maillog 的日志,有类似的内容“postfix/submission/smtpd[27449]: warning: No server certs available. TLS won't be enabled”

2.查看 /etc/postfix/main.cf 中的 smtpd_tls_cert_file 值 ,如不正常,纠正之

参考:https://docs.iredmail.org/letsencrypt.html