Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Real Time Server Security Monitoring Dashboard

CSecurity

Real-time security monitoring dashboard for OpenClaw and Linux server infrastructure. Monitors gateway status, network security, public exposure, system updates, SSH access, TLS certificates, and resource usage.

19 stars
0 votes
0 copies
1 views
Added 9/19/2026
developmentjavascriptrustgojavashellbashnodeapifrontendbackend

Works with

api

Security Analysis

C64/100
mediumUses curl or wget to download content
criticalAccesses sensitive system or user directories
highPerforms destructive filesystem operations
criticalModifies startup scripts or system services for persistence

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add rondoflow/rondoflow --skill real-time-server-security-monitoring-dashboard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Real Time Server Security Monitoring Dashboard?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Real Time Server Security Monitoring Dashboard
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/rondoflow-real-time-server-security-monitoring-dashboard/badge)](https://www.skillsdirectory.com/skills/rondoflow-real-time-server-security-monitoring-dashboard)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: real-time-server-security-monitoring-dashboard
description: "Real-time security monitoring dashboard for OpenClaw and Linux server infrastructure. Monitors gateway status, network security, public exposure, system updates, SSH access, TLS certificates, and resource usage."
category: "Data & Analytics"
author: community
version: "1.2.1"
icon: chart-bar
---

# Security Dashboard Skill

Real-time security monitoring dashboard for OpenClaw and Linux server infrastructure.

## Features

- **OpenClaw Security:** Gateway status, binding, authentication, sessions, version tracking
- **Network Security:** Tailscale status, public ports, firewall, active connections
- **Public Exposure:** Port binding analysis, dashboard security, exposure level assessment
- **System Security:** Updates, uptime, load, failed login attempts
- **SSH & Access:** Password auth status, fail2ban, banned IPs, active sessions
- **Certificates & TLS:** Caddy status, TLS configuration, WireGuard encryption
- **Resource Security:** CPU/memory/disk usage, config file permissions

## Installation

### 1. Install the Skill

```bash
cd /root/clawd/skills/security-dashboard
sudo ./scripts/install.sh
```

This will:
- **Ask user preference:** Run as dedicated user (recommended) or root
- Create `openclaw-dashboard` user with limited sudo privileges (if non-root)
- Create systemd service with security hardening
- Configure localhost binding (127.0.0.1 only)
- Start the dashboard on port 18791
- Enable auto-start on boot

**Security Note:** Running as a dedicated user with limited sudo is recommended. The dashboard only needs sudo for security checks (fail2ban, firewall, systemctl status) - not full root access.

### 2. Access the Dashboard

**Localhost only (secure by default):**

Via SSH port forwarding:
```bash
ssh -L 18791:localhost:18791 root@YOUR_SERVER_IP
```

Then visit: http://localhost:18791

## Usage

### Start/Stop/Restart

```bash
sudo systemctl start security-dashboard
sudo systemctl stop security-dashboard
sudo systemctl restart security-dashboard
```

### Check Status

```bash
sudo systemctl status security-dashboard
```

### View Logs

```bash
sudo journalctl -u security-dashboard -f
```

### API Endpoint

Get raw security metrics:
```bash
curl http://localhost:18791/api/security | jq
```

## Security Hardening

The dashboard follows security best practices to minimize attack surface:

### Dedicated User (Recommended)
The install script creates a `openclaw-dashboard` user with **limited sudo privileges**:
- ✅ No shell access (`/bin/false`)
- ✅ No home directory
- ✅ Only specific sudo commands allowed (fail2ban, firewall, systemctl status)
- ✅ Cannot execute arbitrary commands

### Systemd Hardening
Service runs with security restrictions:
```ini
NoNewPrivileges=true      # Cannot escalate privileges
PrivateTmp=true          # Isolated tmp directory
ProtectSystem=strict     # Read-only filesystem except skill dir
ProtectHome=true         # No access to /home
ReadWritePaths=...       # Only skill directory is writable
Restart=on-failure       # Restart only on crashes (not always)
```

### Network Binding
- **Default:** `127.0.0.1` (localhost only)
- Not accessible from network without SSH tunnel or VPN
- No public exposure risk

### Running as Root (Not Recommended)
If you choose `root` during install:
- ⚠️ Full system access if compromised
- ⚠️ No privilege separation
- ⚠️ Only suitable for trusted, isolated environments

Use the dedicated user option for production deployments.

## Configuration

### Change Port

Edit `/root/clawd/skills/security-dashboard/server.js`:
```javascript
const PORT = 18791; // Change this
```

Then restart:
```bash
sudo systemctl restart security-dashboard
```

### Change Binding

**Default:** `127.0.0.1` (localhost only - secure)  
**Alternative:** `0.0.0.0` (all interfaces - only with Tailscale!)

Edit `server.js` line 445:
```javascript
server.listen(PORT, '127.0.0.1', () => {
  // Change '127.0.0.1' to '0.0.0.0' if needed
});
```

⚠️ **Security Warning:** Only bind to `0.0.0.0` if behind Tailscale or firewall!

### Customize Metrics

Add custom checks in `server.js`:
- `getOpenClawMetrics()` - OpenClaw-specific metrics
- `getNetworkMetrics()` - Network security
- `getSystemMetrics()` - System-level checks
- `getPublicExposure()` - Port/binding analysis

## Dashboard Sections

### 🦞 OpenClaw Security
- Gateway running/stopped status
- Binding configuration (loopback/public)
- Auth token length and mode
- Active sessions + subagents
- Skills count
- Current version + update availability

### 🌐 Network Security
- Tailscale connection status + IP
- Public ports count
- Firewall status (UFW/firewalld)
- Active TCP connections

### 🌍 Public Exposure
- Exposure level (Excellent/Minimal/Warning/High)
- Public port details (service names)
- Kanban board binding
- Security dashboard binding
- OpenClaw gateway binding
- Tailscale active/inactive
- Security recommendations

### 🖥️ System Security
- Updates available
- Server uptime
- Load average
- Failed SSH logins (24h)
- Root processes count

### 🔑 SSH & Access Control
- SSH service status
- Password authentication (enabled/disabled)
- fail2ban status
- Banned IPs count
- Active SSH sessions

### 📜 Certificates & TLS
- Caddy status
- Public TLS enabled/disabled
- Tailscale WireGuard encryption

### 📊 Resource Security
- CPU usage percentage
- Memory usage percentage
- Disk usage percentage
- Config file permissions (should be 600)

## Security Alerts

Dashboard generates real-time alerts:

**Critical (Red):**
- Weak gateway token (< 32 chars)
- SSH password authentication enabled
- Insecure config permissions (not 600)
- **Firewall inactive** (UFW/firewalld not running)
- **fail2ban inactive** (SSH brute-force protection disabled)

**Warning (Yellow):**
- Tailscale disconnected
- 20+ system updates available
- 10+ failed login attempts in 24h
- Disk > 80% full

**Info (Blue):**
- Gateway exposed without Tailscale
- Non-standard configurations

## Integration Points

### Morning Briefing
Add security status to morning report:
```bash
curl -s http://localhost:18791/api/security | jq '.status'
```

### Heartbeat Checks
Monitor for critical alerts:
```bash
curl -s http://localhost:18791/api/security | \
  jq '.alerts[] | select(.level == "critical")'
```

### Alerting Integration
Pipe alerts to notification systems:
```bash
./scripts/check-alerts.sh | xargs -I {} notify-send "Security Alert" "{}"
```

## Architecture

**Backend:** Node.js HTTP server  
**Frontend:** Vanilla JavaScript (no frameworks)  
**Port:** 18791 (configurable)  
**Binding:** 127.0.0.1 (localhost only)  
**Service:** systemd unit  

**Files:**
- `server.js` - Main backend (metrics collection + API)
- `public/index.html` - Dashboard UI
- `lib/` - Shared utilities (if needed)

## Dependencies

- Node.js (v18+)
- `systemctl` - Service management
- `ss` - Socket statistics
- `ufw` or `firewalld` - Firewall check
- `tailscale` - VPN status (optional)
- `fail2ban` - Ban tracking (optional)
- `openclaw` - Gateway monitoring

All dependencies are standard Linux utilities except OpenClaw.

## Troubleshooting

### Dashboard not loading

1. Check service status:
   ```bash
   sudo systemctl status security-dashboard
   ```

2. Check logs:
   ```bash
   sudo journalctl -u security-dashboard -n 50
   ```

3. Verify port is listening:
   ```bash
   ss -tlnp | grep 18791
   ```

4. Test API directly:
   ```bash
   curl http://localhost:18791/api/security
   ```

### Gateway Status "Unknown"

- Verify OpenClaw gateway is running:
  ```bash
  pgrep -f openclaw-gateway
  ```

- Check OpenClaw config exists:
  ```bash
  cat ~/.openclaw/openclaw.json
  ```

### Metrics showing "Unknown"

- Commands may require sudo permissions
- Check script execution permissions
- Verify paths exist (sessions, skills, etc.)

## Uninstall

```bash
sudo systemctl stop security-dashboard
sudo systemctl disable security-dashboard
sudo rm /etc/systemd/system/security-dashboard.service
sudo systemctl daemon-reload
```

Then remove skill directory:
```bash
rm -rf /root/clawd/skills/security-dashboard
```

## Publishing

To publish to ClawdHub:
```bash
clawdhub publish security-dashboard
```

## License

MIT

## Author

Created by Erdma for Brian Christner's infrastructure monitoring.

Attribution

rondoflowrondoflow
View sourceMore from rondoflow →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284722 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →