Automatic WordPress security: local firewall, malware and file-integrity scanning, vulnerability protection, quarantine, scheduled backups, an optional page cache, and automatic global threat intelligence. See README.md for installation, update, and uninstall instructions.
119 lines
5.8 KiB
PHP
119 lines
5.8 KiB
PHP
<?php
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
$argus_active_page = 'intelligence';
|
|
include ARGUS_WPD_DIR . 'admin/views/partials/header.php';
|
|
?>
|
|
|
|
<h1 class="argus-wpd-page-title"><?php esc_html_e( 'Intelligence', 'argus-wordpress-defence' ); ?></h1>
|
|
<p style="color:var(--muted);font-size:13px;margin:0 0 24px;"><?php esc_html_e( 'Threat intelligence sources feeding ARGUS Defence.', 'argus-wordpress-defence' ); ?></p>
|
|
|
|
<div class="argus-wpd-not-connected">
|
|
<span class="icon"><?php echo 'active' === $anis_status['protection'] ? '🛡' : '🔌'; ?></span>
|
|
<div>
|
|
<h3>
|
|
<?php
|
|
if ( 'active' === $anis_status['protection'] ) {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: ACTIVE', 'argus-wordpress-defence' );
|
|
} elseif ( 'limited' === $anis_status['protection'] ) {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: TEMPORARILY LIMITED', 'argus-wordpress-defence' );
|
|
} else {
|
|
esc_html_e( 'GLOBAL THREAT INTELLIGENCE: CONNECTING', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</h3>
|
|
<p>
|
|
<?php if ( 'active' === $anis_status['protection'] ) : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is automatically connected to the ARGUS threat intelligence network. Continuously updated intelligence helps identify and block malicious sources detected across the ARGUS security network. Everything below is this site\'s own local intelligence.', 'argus-wordpress-defence' ); ?>
|
|
<?php elseif ( 'limited' === $anis_status['protection'] ) : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is continuing to protect your website while intelligence connectivity is being restored automatically.', 'argus-wordpress-defence' ); ?>
|
|
<?php else : ?>
|
|
<?php esc_html_e( 'ARGUS Defence is connecting to the global threat intelligence network -- this happens automatically, no action needed. Everything below is this site\'s own local intelligence, already fully active.', 'argus-wordpress-defence' ); ?>
|
|
<?php endif; ?>
|
|
</p>
|
|
<p style="margin-top:10px;"><a href="<?php echo esc_url( admin_url( 'admin.php?page=argus-wpd-anis' ) ); ?>" class="button"><?php esc_html_e( 'View Threat Intelligence Status', 'argus-wordpress-defence' ); ?></a></p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="argus-wpd-tile-row">
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'WAF Rule Corpus', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value"><?php echo esc_html( number_format_i18n( $waf_rule_count ) ); ?></div>
|
|
</div>
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'Vulnerability Intelligence', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value" style="font-size:16px;">
|
|
<?php if ( $vuln_row_count > 0 ) : ?>
|
|
<span style="color:var(--emerald)"><?php esc_html_e( 'Active', 'argus-wordpress-defence' ); ?></span>
|
|
<?php else : ?>
|
|
<span style="color:var(--faint)"><?php esc_html_e( 'Standby', 'argus-wordpress-defence' ); ?></span>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
<div class="argus-wpd-tile">
|
|
<div class="argus-wpd-tile-label"><?php esc_html_e( 'GeoIP Database', 'argus-wordpress-defence' ); ?></div>
|
|
<div class="argus-wpd-tile-value" style="font-size:16px;">
|
|
<?php if ( $geoip_status && ! empty( $geoip_status['range_count'] ) ) : ?>
|
|
<span style="color:var(--emerald)"><?php esc_html_e( 'Loaded', 'argus-wordpress-defence' ); ?></span>
|
|
<?php else : ?>
|
|
<span style="color:var(--faint)"><?php esc_html_e( 'Building', 'argus-wordpress-defence' ); ?></span>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="argus-wpd-panel">
|
|
<h2><?php esc_html_e( 'Local Intelligence Sources', 'argus-wordpress-defence' ); ?></h2>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type">WAF</span>
|
|
<span class="argus-wpd-ioc-desc"><?php echo esc_html( sprintf( __( 'Application-layer signature corpus (SQLi/XSS/RCE/path traversal/protocol anomaly) -- %d rules, updated with this plugin.', 'argus-wordpress-defence' ), $waf_rule_count ) ); ?></span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type">VULN</span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
echo esc_html(
|
|
$vuln_row_count > 0
|
|
? __( 'Vulnerability intelligence -- actively matching installed plugins and themes against known security issues.', 'argus-wordpress-defence' )
|
|
: __( 'Vulnerability intelligence -- WordPress core is checked live against WordPress.org. Plugin and theme results activate automatically as intelligence becomes available.', 'argus-wordpress-defence' )
|
|
);
|
|
?>
|
|
</span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type">GEOIP</span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
if ( $geoip_status && ! empty( $geoip_status['range_count'] ) ) {
|
|
echo esc_html(
|
|
sprintf(
|
|
__( 'Self-hosted RIR delegation database -- %s IPv4 ranges, last refreshed %s.', 'argus-wordpress-defence' ),
|
|
number_format_i18n( $geoip_status['range_count'] ),
|
|
$geoip_status['last_refresh'] ? human_time_diff( strtotime( $geoip_status['last_refresh'] . ' UTC' ) ) . ' ' . __( 'ago', 'argus-wordpress-defence' ) : __( 'never', 'argus-wordpress-defence' )
|
|
)
|
|
);
|
|
} else {
|
|
esc_html_e( 'Self-hosted RIR delegation database has not built its first snapshot yet -- refreshes automatically once daily, no action needed.', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</span>
|
|
</div>
|
|
<div class="argus-wpd-ioc-row">
|
|
<span class="argus-wpd-ioc-type">ANIS</span>
|
|
<span class="argus-wpd-ioc-desc">
|
|
<?php
|
|
if ( 'not_connected' === $anis_status['protection'] ) {
|
|
esc_html_e( 'Global threat intelligence -- connecting automatically.', 'argus-wordpress-defence' );
|
|
} else {
|
|
esc_html_e( 'Global threat intelligence -- automatically updated to help identify malicious sources.', 'argus-wordpress-defence' );
|
|
}
|
|
?>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<?php include ARGUS_WPD_DIR . 'admin/views/partials/footer.php'; ?>
|