安装 mod_security 时,说明指导我们添加:
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so
到 httpd.conf。
我想知道为什么他们更喜欢使用 LoadFile 而不是使用 rpath / LD_RUN_PATH /等进行链接。
答案1
使用 LoadFile 而不是直接链接是 Apache 推荐的最佳实践。实际上,这可以归结为两个问题:
1) 与其他模块的冲突可能会导致奇怪且难以诊断的副作用,并使 LoadModule 指令的顺序变得重要。
2)库版本控制可能导致两个模块加载两个不同的版本,这可能会导致符号表超载,并在发生崩溃时尝试诊断问题时导致严重的头发脱落。
实际上,PCRE 也应该包含在内,但 Apache 会在内部加载它,这通常是导致崩溃的原因。查看邮件列表存档中的 modsecurity 用户列表,您会看到许多由于 PCRE 库不匹配而导致的崩溃。使用 LoadFile 可以解决这些问题,但管理员必须使用外部 PCRE 库重新编译 Apache。