Modsecurity 会产生大量的磁盘 io 操作,文件www-data-ip.pag
会不断被读写。有什么解决方案可以有效减少这种情况吗?能不能以某种方式将其移至 RAM?
答案1
您可以使用https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#secdatadir指令,指向 RAM 中先前创建的目录:
mkdir -p /mnt/ramdisk/modsecurity
mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk/modsecurity
和
SecDataDir /mnt/ramdisk/modsecurity
(检查该目录中的权限,apache 用户是否可以创建文件等)并记住在 /etc/fstab 中永久执行此操作:
tmpfs /mnt/ramdisk/modsecurity tmpfs nodev,nosuid,noexec,nodiratime,size=1024M
奇怪的是指令中的“注释” SecDataDir
:
注意:目前不支持 SecDataDir。目前集合保存在内存中(in_memory-per_process)。
附加信息(如何读取文件,以及一些额外的并发问题)可以在https://github.com/SpiderLabs/ModSecurity/issues/2240。