Issue
When restarting CSF, the following ipset errors occur from Imunify360: "Cannot find executable with the name 'ipset'. ipset_exe=None"
Running /usr/local/csf/bin/csfpost.sh
Checking ipsets consistent
rules checker failed with unhandled error: IPSetEXENotFoundError("Cannot find executable with the name 'ipset'. ipset_exe=None")
Traceback (most recent call last):
File "/opt/imunify360/venv/share/imunify360/scripts/rules_checker.py", line 314, in
main(action)
File "/opt/imunify360/venv/share/imunify360/scripts/rules_checker.py", line 290, in main
loop.run_until_complete(action(rc, rp))
File "/opt/alt/python311/lib64/python3.11/asyncio/base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/share/imunify360/scripts/rules_checker.py", line 159, in check_ipsets_consistent
await rc._check_ipsets_consistent()
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/utils/lazy_init.py", line 120, in _check_ipsets_consistent
await self.__check_ipset_consistent(version, state)
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/utils/lazy_init.py", line 129, in __check_ipset_consistent
if outdated := await self.ruleset.get_outdated_ipsets(version):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/__init__.py", line 506, in get_outdated_ipsets
all_ipsets = await entity.get_ipsets_count(ip_version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/ipset/ip.py", line 844, in get_ipsets_count
ipset_count = await libipset.get_ipset_count(set_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/ipset/libipset.py", line 370, in get_ipset_count
command = _gen_ipset_cmd(["list", setname, "-terse"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/ipset/libipset.py", line 53, in _gen_ipset_cmd
return [get_ipset_exe()] + call_args
^^^^^^^^^^^^^^^
File "/opt/imunify360/venv/lib64/python3.11/site-packages/im360/internals/core/ipset/libipset.py", line 46, in get_ipset_exe
raise IPSetEXENotFoundError(
im360.internals.core.ipset.libipset.IPSetEXENotFoundError: Cannot find executable with the name 'ipset'. ipset_exe=None
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit
Environment
- Imunify360
- CSF
- DirectAdmin
- CloudLinux
Solution
Workaround
Add the following to `/usr/local/csf/bin/csfpost.sh` and leave our line as is:
#!/bin/bash
/opt/imunify360/venv/bin/python3 /opt/imunify360/venv/share/imunify360/scripts/rules_checker.py ipsets-consistent
### any customization here
/etc/csf/csfpost.sh
Cause
Fix:
export PATH=/usr/sbin/:$PATH
As in:
#!/bin/sh
export PATH=/usr/sbin/:$PATH
/opt/imunify360/venv/bin/python3
/opt/imunify360/venv/share/imunify360/scripts/rules_checker.py
ipsets-consistent
And try restarting both CSF and Imunify:
csf -x
csf -e
systemctl restart imunify360
----
The issue will be fixed in the task https://cloudlinux.atlassian.net/browse/DEF-33083
Useful links
DEF-32935, DEF-32934
Comments
0 comments
Please sign in to leave a comment.