SecureDrop Qubes日志脚本
项目描述
securedrop-log
这是一个为 Qubes 操作系统中的 SecureDrop 设计的 Python 模块和 qrexec 服务,用于记录。
如何使用/尝试这个?
在我们的示例中,我们将使用一个名为 logging 的虚拟机来存储日志,我们将使用 workvm 向 logging 虚拟机发送日志。
在 dom0
- 在
dom0
中创建一个文件/etc/qubes-rpc/policy/securedrop.Log
,内容如下。
workvm logging allow
@anyvm @anyvm deny
在 logging 虚拟机
将以下内容添加到 /etc/qubes-rpc/securedrop.Log
/usr/sbin/securedrop-log
然后将 securedrop-log
脚本放置到 /usr/sbin/
目录,并确保它是可执行的。
从 workvm 中的任何 Python 代码中使用
以下是一个使用 Python 记录的示例代码
import logging
from securedrop_log import SecureDropLog
def main():
handler = SecureDropLog("workvm", "proxy-debian")
logging.basicConfig(level=logging.DEBUG, handlers=[handler])
logger = logging.getLogger("example")
logger.info("kushal says it works")
if __name__ == "__main__":
main()
jounralctl 示例
您还需要 python3-systemd
软件包。
代码位于 journal-example.py
文件中。