如何在Debian上排查OpenSSL问题

Debian OpenSSL 系统故障排除流程:
系统更新:
sudo apt 更新
sudo apt update
版本检查:
opensl版本
dpkg -l | dpkg -l | grep libssl
编译依赖项:
sudo apt install build-essential
sudo apt install checkinstall
sudo apt install perl
动态库控制:
ldd $(opensl)| grep ssl
编译源码:
wget https://www.openssl.org/source/openssl-3 .0.1 2 .tar.gz
tar -xzf openssl-.tar.gz
cd openssl-
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl 无分区
sudo make install
检查 PRNG:
cat /proc/sys/kernel/random/entropy_avail
sudo apt install haveged
sudo systemctl enable --now haveged
故障排除证据:
sudo grep -i "openssl|ssl" /var/log/syslog
sudo Journalctl -u openssl --since "1 hourago"
调试协议:
openssl s_client -connect example.com:4 4 3 -debug -showcerts -state
恢复版本:
sudo apt install openssl=1 .1 .1 n-0+deb1 1 u5
sudo apt-mark keep openssl libssl1 .1
源位置:
一个openssl
RFC5 2 4 6 (TLS1 .2 )
RFC8 4 4 6 (TLS1 .3 )
典型问题解决方案: Apache启动SSL错误:
ldd /usr/sbin/apache2 | ldd /usr/sbin/apache2 | ldd /usr/sbin/apache2 挂钩 SSL
sudo apt install apache2 -dev
sudo apxs2 -i -a -n sslmod_ssl.so
sudo apache2 ctl configtest
按顺序排除故障并记录结果。

查看是否安装apache

嘿,你提到了这个方法来判断Apache是​​否安装。
我以前在帮朋友调试服务器时用过它。
但说实话,这种方法有点老套,现在Windows系统已经发生了很大的变化。

上周有客户问我为什么安装了Apache后在Win1 1 上找不到服务。
我让他尝试一下你所说的方法 - 按 Windows 键 + R 并输入 services.msc。
结果,他反馈说他在服务列表中没有看到 ApacheHTTPServer 条目。

后来我告诉他我可能要改变主意了。
现在Windows系统默认情况下不会自动启动很多服务,尤其是像Apache这样可能占用8 0端口的服务,如果直接在services.msc中查找,可能看不到。
我让他查看任务管理器 - 切换到“详细信息”选项卡并搜索 httpd.exe。
哎,他还真找到了,不过状态是“正在运行”,启动类型却是“手动”。

所以你看,这个方法要看具体情况。
对于Windows 1 0、1 1 等新版本系统,直接使用services.msc查找可能会有点混乱。
最好先尝试使用命令行,输入net start httpd(注意这个命令可能需要先以管理员身份运行cmd)看看是否可以启动服务。
如果命令行报错说找不到服务,那么基本就是没有安装。

或者更简单,如果系统盘中有Apache的安装目录,比如C:\Program Files\Apache Group\Apache2 ,直接打开该目录,看看是否有可执行文件httpd.exe。
上次我在测试环境安装的时候,这个方法是最快的。

无论如何,这取决于你。
此方法在Win7 和Win8 系统上可能可靠。
现在Win1 0和Win1 1 还需要多几个步骤来确认。