OpenSSL 创建自签名证书
Jun 10, 2024
由于 RSA 2048 已经不再安全,使用 RSA 4096 又太慢了,所以这次创建使用 ECC 384 算法的自签名证书。 openssl ecparam -genkey -name secp384r1 -out privkey.pem openssl req -new -key privkey.pem -out csr.pem -config server.cnf Tips: 查看完整的椭圆算法列表 openssl ecparam -…
使用 Nginx 反向代理的时候和上游服务器也使用 SSL 连接
Jun 09, 2024
当 Nginx 反向代理和上游服务器部署在不同位置的时候,如果 Nginx 和上游服务器通过 HTTP 通讯,就会存在中间人攻击的安全隐患。 比较安全的方式是反向代理服务器和上…
Nginx 负载均衡解决同 IP 连接漂移的问题
Jun 07, 2024
问题场景:设置了多个服务器以后,同一个客户端进来的连接会分配到不同的服务器上,在做端口转发的时候就会出现问题,必须保证同一个 IP 来源的请求始终…
修复 FreeBSD 大版本升级后出现的依赖库不能加载的问题
Jun 05, 2024
AWS 的 Lightsail 提供的 FreeBSD 版本是 13.1 ,使用 freebsd-update 升级到 14.1 后,出现了以下错误: $ pkg update ld-elf.so.1: Shared object "libssl.so.111" not found, required by "pkg" 修复方法,强制重新安装 pkg 修复依赖问题: $ pkg-static install -f pkg pkg-static: Warning: Major OS version…
使用 OpenSSL 获取某个域名的证书指纹
Jun 04, 2024
先获取服务器的证书,保存为 lvv.me.pem: $ openssl s_client -servername lvv.me -connect lvv.me:443 < /dev/null 2>/dev/null | openssl x509 -outform pem > lvv.me.pem 获取这个证书的指纹信息: $ openssl x509 -noout -fingerprint -sha256 -inform pem -in lvv.me.pem 8D:62:36:52:AD:5A:53:D1:FC:EA:5D:0A:35:CF:2F:60:5C:8C:74:42:2A:C6:AB:11:05:70:FD:A9:85:8A:0B:E0
FreeBSD 修改 lo0 接口的 MTU 值
Jun 02, 2024
FreeBSD 默认的回环接口 lo0 的 MTU 是 16384: lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 groups: lo nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> 可以通过配置提高到 65535: 编辑 /etc/rc.conf 文件,添加下面两行…
使用 PF 防火墙设置端口白名单
Jun 01, 2024
在 Debian 上有很方便的命令工具 ufw 可以设置对外允许访问的端口。 在 FreeBSD 上没有这个命令,但是可以使用 pf 防火墙配置规则达到相同的效果。 先编辑规则文件:/et…
使用 ping 命令确定最佳 MTU 大小
May 31, 2024
macOS: ping lvv.me -D -s 1464 Linux: ping -4 lvv.me -M do -s 1464 Windows: ping -4 lvv.me -f -l 1464 Linux 和 Windows 的 ping 的 -4 参数表示对 IPv4 地址进行测试,因为设置 Don't Fragment bit 仅在 IPv4 下支持。 如果数字设置过大 ping 就…
Nginx 配置端口转发
May 30, 2024
问题场景 C 是一台有公网 IP 的跳板机,A 和 B 是异地局域网的机器,并且 A、B、C 通过 WireGuard 组成了 VPN 局域网。 S 和 A 在同一个局域网内,并且 S 上运行了一个 Web…
为 sudo 命令设置不一样的 $PATH
May 30, 2024
普通用户和 root 用户的区别,root 用户可以执行 /sbin 和 /usr/sbin 路径下的命令,而且不希望普通用户的 $PATH 变量中有 root 用户专属的路径。 sh 和 bash 已经在默认的配置文件 /etc/profile…