Security management for Hostinger VPS srv759970 - Fail2ban, WordPress security audits (25+ checks, 0-100% scoring), infrastructure audit. Use for security hardening, IP bans, or security assessments.
Manages Hostinger VPS security with Fail2ban controls, WordPress audits, and infrastructure checks.
/plugin marketplace add theflysurfer/claude-skills-marketplace/plugin install theflysurfer-claude-skills-marketplace@theflysurfer/claude-skills-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Security infrastructure for srv759970.hstgr.cloud.
| Property | Value |
|---|---|
| Host | automation@69.62.108.82 |
| Fail2ban | Ubuntu 24.04 default |
| Logs | /var/log/nginx/*-access.log |
| Jail | Purpose | Max Retry | Ban Time |
|---|---|---|---|
| wordpress-auth | Login brute-force | 5 | 1 hour |
| wordpress-hard | Recon attacks | 3 | 2 hours |
| wordpress-xmlrpc | XML-RPC abuse | 2 | 1 hour |
ssh srv759970 'sudo fail2ban-client status'
ssh srv759970 'sudo fail2ban-client status wordpress-auth'
ssh srv759970 'sudo fail2ban-client status wordpress-auth | grep "Banned IP"'
# Ban
ssh srv759970 'sudo fail2ban-client set wordpress-auth banip 1.2.3.4'
# Unban
ssh srv759970 'sudo fail2ban-client set wordpress-auth unbanip 1.2.3.4'
# Unban from all jails
ssh srv759970 'sudo fail2ban-client unban 1.2.3.4'
ssh srv759970 'sudo grep "Ban" /var/log/fail2ban.log | tail -20'
| Score | Level | Action |
|---|---|---|
| 90-100% | EXCELLENT | Maintain |
| 75-89% | GOOD | Minor fixes |
| 50-74% | WARNING | Hardening needed |
| < 50% | CRITICAL | Immediate action |
# Nginx security headers
ssh srv759970 'curl -sI https://site.srv759970.hstgr.cloud | grep -iE "x-frame|x-content|strict-transport"'
# Server info exposure
ssh srv759970 'curl -sI https://site.srv759970.hstgr.cloud | grep -iE "server:|x-powered"'
# wp-config.php permissions
ssh srv759970 'ls -la /opt/wordpress-site/wp-config.php'
# Admin users
ssh srv759970 'docker exec wp-cli-site wp user list --role=administrator'
# Plugin updates
ssh srv759970 'docker exec wp-cli-site wp plugin list --update=available'
# All containers
ssh srv759970 'docker ps -a --format "table {{.Names}}\t{{.Status}}"'
# Docker disk usage
ssh srv759970 'docker system df'
# Orphan volumes
ssh srv759970 'docker volume ls -f dangling=true'
# Orphan images
ssh srv759970 'docker images -f dangling=true'
# Cron jobs
ssh srv759970 'crontab -l && sudo crontab -l'
# PM2 processes
ssh srv759970 'pm2 list'
Add to server block:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# In /etc/nginx/nginx.conf
server_tokens off;
# Disable file editing
ssh srv759970 'docker exec wp-cli-site wp config set DISALLOW_FILE_EDIT true'
# Set secure permissions
ssh srv759970 'docker exec -u root wordpress-site chmod 640 /var/www/html/wp-config.php'
# Check who's attacking
ssh srv759970 'sudo grep "Ban" /var/log/fail2ban.log | tail -50'
ssh srv759970 'sudo tail -f /var/log/nginx/access.log | grep -E "wp-login|xmlrpc"'
# Ban attacker
ssh srv759970 'sudo fail2ban-client set wordpress-hard banip ATTACKER_IP'
# Check banned IPs
ssh srv759970 'sudo fail2ban-client status wordpress-auth'
# Check admin users
ssh srv759970 'docker exec wp-cli-site wp user list --role=administrator'
# Check recent logins
ssh srv759970 'docker exec wp-cli-site wp user list --field=user_login,user_registered'
# Check modified files
ssh srv759970 'find /opt/wordpress-site -mtime -1 -type f | head -50'
# Fail2ban status
ssh srv759970 'sudo fail2ban-client status'
# Ban IP
ssh srv759970 'sudo fail2ban-client set wordpress-auth banip X.X.X.X'
# Unban IP
ssh srv759970 'sudo fail2ban-client set wordpress-auth unbanip X.X.X.X'
# Security headers check
ssh srv759970 'curl -sI https://site.com | grep -iE "x-frame|x-content|strict"'
# WordPress admin users
ssh srv759970 'docker exec wp-cli-site wp user list --role=administrator'
# Orphan volumes
ssh srv759970 'docker volume ls -f dangling=true'
# Recent attacks
ssh srv759970 'sudo grep "Ban" /var/log/fail2ban.log | tail -20'
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.