I am wondering why Brute Force Monitor is adding entries in csf.deny instead of using csf command to ban through iptables directly. Wouldnt this be a more neat integration?
There is a choice. By default as Ohm J stated, the perm block is used.
However, you can create custom files if you want to use temporary blocks.
This requires the brute_force_notice_ip.sh and block_ip.sh in the /usr/local/directadmin/scripts/custom directory.
This will however overrule the build in section. I can give you the contents if you're interested. I also use them as I also want to decide on what to give perm blocks and how long temp blocks should be active.