Security Best Practices
Operating a production validator requires strict adherence to security best practices to protect your validator, vote account, and staked assets.Key Management
Withdrawer Key Security (CRITICAL)
Never Store Withdrawer Key on Validator: The authorized withdrawer keypair has ultimate control over your vote account. Compromise of this key means:- Complete loss of vote account control
- Ability for attacker to withdraw all funds
- Ability to change all vote account settings
- Permanent loss if the key is lost
-
Hardware Wallet:
- Ledger or Trezor devices
- Best practice for mainnet validators
- Provides physical security and transaction signing
-
Paper Wallet:
- Seed phrase written and stored securely
- Multiple copies in different physical locations
- Fireproof and waterproof storage containers
- Never digitized or photographed
-
Multisig:
- Distributed control across multiple hardware wallets
- Requires M-of-N signatures for operations
- Recommended for large validator operations
- Provides redundancy and security
-
Air-Gapped Computer:
- Dedicated offline computer never connected to network
- Used only for signing critical transactions
- Secure physical location
- Changing vote account commission
- Changing authorized voter
- Changing authorized withdrawer
- Withdrawing funds from vote account
Identity and Vote Account Keypairs
File Permissions:- Document recovery procedures
- Test recovery process on testnet
- Store backup locations in secure documentation
- Maintain updated inventory of all keypairs
Key Rotation
Identity Key Rotation: Change validator identity periodically or after security incidents:Network Security
Firewall Configuration
Essential Firewall Rules:Port Security
Minimize Exposed Ports:- Only open ports required for validator operation
- Never expose RPC publicly unless necessary
- Use VPN or SSH tunneling for administrative access
SSH Hardening
Disable Password Authentication: Edit/etc/ssh/sshd_config:
DDoS Mitigation
System Limits: Already configured in deployment sysctl settings. Network-Level Protection:- Use upstream DDoS protection (cloud provider, Cloudflare)
- Consider deploying behind load balancer
- Monitor for unusual traffic patterns
Access Control
User Access Management
Principle of Least Privilege:Admin RPC Security
Restrict Admin RPC Access:Two-Factor Authentication
Enable 2FA for SSH:Audit Logging
System Audit (auditd)
Install and Configure:Validator Logging
Log Retention:Security Information and Event Management (SIEM)
Centralized Logging: Consider forwarding logs to centralized SIEM:- Splunk
- ELK Stack (Elasticsearch, Logstash, Kibana)
- Graylog
- Failed login attempts
- Keypair file access
- Service restarts
- Validator delinquency
- Unexpected configuration changes
System Security
Operating System Hardening
Keep System Updated:/etc/fstab:
Kernel Hardening
Additional sysctl Settings: Add to/etc/sysctl.d/99-security.conf:
Intrusion Detection
Install AIDE (Advanced Intrusion Detection Environment):Incident Response
Preparation
Incident Response Plan:- Document contact information for team members
- Define escalation procedures
- Maintain list of critical systems and dependencies
- Document recovery procedures
- Regularly test incident response
Detection
Monitor for Indicators:- Unexpected validator downtime
- Unusual network traffic
- Failed authentication attempts
- Unexpected file changes
- Validator delinquency without known cause
- Unusual CPU/memory usage
Response Procedures
If Compromise is Suspected:- Isolate: Disconnect validator from network if safe to do so
- Assess: Determine scope of compromise
- Contain: Prevent further damage
- Eradicate: Remove threat
- Recover: Restore from clean backups
- Post-Incident: Document and improve defenses
- Discord: #validator-support
- Security issues: Report per SECURITY.md guidelines
Compliance and Best Practices
Security Checklist
Pre-Deployment:- Withdrawer key stored offline
- Identity and vote account keys backed up
- Firewall configured and enabled
- SSH hardened (key-only, fail2ban installed)
- System fully updated
- Running as non-root user
- File permissions set correctly
- Audit logging configured
- Weekly security updates
- Monthly key backup verification
- Quarterly security review
- Regular log review
- Monitor security advisories
- Test incident response procedures
Security Resources
Official Documentation:- SECURITY.md in repository
- Solana Discord #validator-support
- Bug bounty program (check official channels)
- CIS Ubuntu Hardening Guide
- NIST Cybersecurity Framework
- SANS Security Resources