Webmin Module
Complete Webmin module for managing VistoShield through the Webmin web interface with native look and feel.
Installation
The Webmin module is automatically installed when the VistoShield installer detects Webmin. To install manually:
Method 1: Via Webmin UI
- Log in to Webmin as root
- Go to Webmin → Webmin Configuration → Webmin Modules
- Select Install from local file
- Enter the path:
/usr/local/vistoshield/panel-plugins/webmin/vistoshield.wbm.gz - Click Install Module
Method 2: Via Command Line
/usr/share/webmin/install-module.pl \
/usr/local/vistoshield/panel-plugins/webmin/vistoshield.wbm.gz
After installation, the VistoShield module appears under Servers in the Webmin sidebar.
Module Features
Configuration Editor
A web-based editor for /etc/vistoshield/vistoshield.conf that:
- Groups settings by category with descriptive labels
- Validates values before saving (type checks, range checks)
- Preserves comments and formatting in the configuration file
- Shows the default value for each setting
- Highlights changed values that differ from defaults
.conf file and they will survive edits through the Webmin interface.
Daemon Control
Start, stop, restart, and check the status of the VistoShield daemon. The status page shows:
- Running state and PID
- Uptime and memory usage
- Active firewall backend
- Number of blocked IPs (IPv4 and IPv6)
- Feature states (enabled/disabled)
Blocked IPs
View all currently blocked IP addresses in a sortable table:
| Column | Description |
|---|---|
| IP Address | The blocked IPv4 or IPv6 address |
| Reason | Why it was blocked (LFD, rate limit, bot, manual, etc.) |
| Blocked At | Timestamp when the block was applied |
| Expires | When the block will be removed (or "Permanent") |
| Actions | Unblock button and lookup link |
Bulk actions: select multiple IPs and unblock them at once, or flush all temporary blocks.
Allow / Deny Lists
Manage whitelist and blacklist files with a textarea editor. Supports one IP or CIDR per line with optional comments.
Bot Signatures
Browse the signature database with search and filtering. Features:
- Search by pattern, category, or description
- Filter by action type (block, challenge, monitor, allow)
- Change actions inline with dropdown selectors
- One-click remote update with merge preview
Log Viewer
Color-coded real-time log viewer for /var/log/vistoshield/vistoshield.log:
- Color coding by log level (red for errors, yellow for warnings, white for info)
- Search and filter by keyword, IP, or log level
- Configurable line count (last 50, 100, 500 lines)
- Auto-refresh toggle for real-time monitoring
Access Control
Webmin's built-in access control system determines who can use the VistoShield module. Configure per-user permissions from Webmin → Webmin Users:
- Full access — All features including configuration and daemon control
- View only — Can view status, blocked IPs, and logs but cannot make changes
- No access — Module is hidden from the user
Module Files
| File | Description |
|---|---|
module.info | Module metadata (name, version, category) |
index.cgi | Main dashboard page |
config.cgi | Configuration editor |
blocked.cgi | Blocked IP management |
lists.cgi | Allow/Deny list editor |
signatures.cgi | Bot signature management |
logs.cgi | Log viewer |
lib/vistoshield-lib.pl | Shared Perl library functions |
/usr/local/bin/vistoshield is executable and the Webmin user has permission to run it (typically root or via sudo).