安全

pip-audit:Python 依赖安全扫描工具

pip-audit 是 PyPA(Python Packaging Authority)维护的依赖安全扫描工具,用于检查 Python 环境和依赖文件中是否存在已知漏洞。数据来源是 Python Packaging Advisory Database,通过 PyPI JSON API 或 OSV 查询。

和 npm audit 类似,但 pip 本身没有内置 audit 功能,pip-audit 填补了这个空缺。

安装

pip install pip-audit

需要 Python 3.10+。也支持 conda 安装:

conda install -c conda-forge pip-audit

基本用法

扫描当前环境

pip-audit

直接扫描当前虚拟环境中安装的所有包,输出有漏洞的包及 CVE 编号。

扫描 requirements 文件

pip-audit -r requirements.txt

扫描项目路径

pip-audit /path/to/project

会自动识别项目中的依赖文件(requirements.txt、pyproject.toml、setup.cfg 等)。

扫描 lock 文件

pip-audit --locked /path/to/project

crt.sh:查询证书签发记录工具

crt.sh 是 Sectigo(原 Comodo CA)提供的免费证书透明度(Certificate Transparency,CT)日志查询工具。输入域名就能查到该域名下所有签发过的 SSL/TLS 证书,包括子域名、证书机构、有效期等信息。渗透测试中常用来做子域名收集,运维中用来排查证书签发记录。

使用方法

打开 crt.sh,输入域名即可查询。比如查 example.com,会返回所有包含该域名的证书记录。

也可以直接用 URL 参数查询:

https://crt.sh/?q=example.com

返回结果包含:

  • 证书关联的域名(含通配符子域名)
  • 签发 CA
  • 证书起止时间
  • 证书序列号

类似工具

修改 SSH 监听端口与 SELinux 配置

概述

出于安全考虑,修改 SSH 默认端口(22)是一个常见的安全加固措施。本文介绍如何修改 SSH 监听端口,并正确配置 SELinux 以允许新端口的访问。

修改 SSH 监听端口

1. 编辑 SSH 配置文件

sudo vi /etc/ssh/sshd_config

找到 #Port 22 这一行,取消注释并修改为需要的端口:

Port 22
Port 2222

建议同时保留默认端口和自定义端口,便于测试。确认新端口正常工作后,再删除默认端口配置。

2. 重启 SSH 服务

sudo systemctl restart sshd

3. 验证新端口

# 检查 SSH 服务监听端口
sudo ss -tlnp | grep sshd

# 或使用 netstat
sudo netstat -tlnp | grep sshd

应该看到新端口(如 2222)已开始监听。