MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/imunify360/venv/lib64/python3.11/site-packages/im360/simple_rpc/uninstall_cleanup.py
import logging
import os

from defence360agent.contracts.config import AcronisBackup
from defence360agent.rpc_tools.lookup import RootEndpoints, bind
from defence360agent.utils import Scope
from im360.plugins.protector.lfd import LFD
from im360.subsys import csf
from im360.utils.net import OUT, TCP

logger = logging.getLogger(__name__)


class UninstallCleanupEndpoints(RootEndpoints):
    SCOPE = Scope.IM360

    @bind("remove-csf-ports")
    async def remove_csf_ports(self):
        if not os.path.isfile(csf.CSF_CONFIG):
            logging.info("Nothing to do, there is no csf config file")
            return
        try:
            ports = AcronisBackup.PORTS
            ranges = AcronisBackup.RANGE
            csf.remove_ports(TCP, OUT, *ports, ranges=ranges)
            await csf.restart_all()
            logging.info("Successfully removed Acronis ports from csf config")

        except Exception:
            logger.exception("Failed to remove Arconis ports from csf config")

    @bind("remove-block-report-script")
    async def restore_block_report_script(self):
        await LFD().shutdown()

    @bind("restore-configs")
    async def pre_uninstall(self):
        await self.remove_csf_ports()
        await self.restore_block_report_script()