VALIDEXIS Services
  • 👋 About US
  • 🌐 Supported Networks
  • 🌍 Our Validators
  • 🔐 Validator Security: Our Approach and Protection Measures
    • 🔒Enhancing SSH Security for a Validator
    • 📡 TMKMS for Remote Signing
    • 🔑 Horcrux
    • 🛡️ Protecting Validator from DDoS Attacks
    • 🧩Multi-Factor Authentication (MFA) for a Validator
  • 🚨Monitoring
    • 📊 Node-exporter + Prometheus + Grafana
    • 🕵️ TenderDuty for Node Monitoring
  • 🧵 Setting up connection to IBC with Hermes
  • 🤖CelestiaUltraBot
    • 🏆 Contest
    • 🚀 Getting started
    • 🖥️ Validator monitoring
    • 🔍 Bridge Node Monitoring
    • 👛 Wallet
    • 🛸 AI Troubleshooting
  • 🟢 MAINNETS
    • Celestia
      • 🗂️ API/RPC/gRPC/AddrBook
      • 📸 Snapshot
      • 🔗 Validator Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 💾 Full Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 🌉 Bridge Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 💡 Light Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
    • Zetachain
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Xion
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Nibiru
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Kyve
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Juno
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Agoric
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • CosmosHub
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Lava
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Uptick
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Paloma
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Kusama
      • 🗂️ API/RPC
      • 📸 Snapshot
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • Polkadot
      • 🗂️ API/RPC
      • 📸 Snapshot
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
      • 🔧 Installing a Polkadot Node Using Kagome
      • 🧪 Benchmarking a Server for Substrate/Polkadot
      • 📘 Monitoring Polkadot Nodes with Prometheus and Alertmanager
      • 🔐 UFW Security Template
    • Starknet
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
    • NYM
      • ⚙️ Installation
      • 🛠️ Upgrade
      • 📜 Useful Commands
  • 🟡 TESTNETS
    • Celestia
      • 🗂️ API/RPC/AddrBook
      • 📸 Snapshot
      • 🔗 Validator Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 💾 Full Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 🌉 Bridge Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
      • 💡 Light Node Installation
        • 🛠️ Upgrade
        • 📜 Useful Commands
Powered by GitBook
On this page
  • Setting Up MFA for SSH Access
  • MFA for Hardware Security Keys (YubiKey)
  • MFA for the Validator Wallet
  • MFA for Monitoring and API
  • Protecting RPC and API with MFA
  1. 🔐 Validator Security: Our Approach and Protection Measures

🧩Multi-Factor Authentication (MFA) for a Validator

Multi-Factor Authentication (MFA) is a crucial security measure for a validator. It prevents unauthorized access to the server, wallet, and critical node management systems.

Setting Up MFA for SSH Access

Enabling Two-Factor Authentication with Google Authenticator

Install Google Authenticator

sudo apt update && sudo apt install libpam-google-authenticator -y

Generate a Secret Key

google-authenticator

A QR code and key will appear. Save your backup codes!

Configure PAM for SSH

sudo nano /etc/pam.d/sshd

Add this line at the beginning:

auth required pam_google_authenticator.so

Enable MFA in the SSH Configuration

sudo nano /etc/ssh/sshd_config

Modify the following parameters:

ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

Restart SSH:

sudo systemctl restart sshd

Now, SSH access will require a one-time password (OTP) from Google Authenticator.


MFA for Hardware Security Keys (YubiKey)

Install FIDO2/U2F Support

sudo apt install libpam-u2f -y

Register Your YubiKey

mkdir -p ~/.config/Yubico
pamu2fcfg > ~/.config/Yubico/u2f_keys

Press the YubiKey button to confirm registration.

Configure PAM for SSH

sudo nano /etc/pam.d/sshd

Add:

auth required pam_u2f.so

Now, SSH access will require the hardware security key.


MFA for the Validator Wallet

Best Option – Hardware Wallet (Ledger, Trezor)

  • Store private keys on Ledger Nano X or Trezor Model T.

  • Connect only when signing transactions.

  • Keplr + Ledger is an ideal solution for Cosmos validators.

Securing a Hot Wallet

If the wallet is stored on the server, run:

chmod 600 ~/.wallet/keystore
chown username:username ~/.wallet/keystore
  • Backup your mnemonic phrase offline.

  • Restrict access to wallet files using ACL (Access Control List).


MFA for Monitoring and API

Securing Grafana with a Password + MFA

  1. Enable OAuth 2.0 with Google/Auth0 for Grafana.

  2. Restrict access to Grafana with 2FA.

  3. Set up Fail2Ban to protect against brute-force attacks:

sudo nano /etc/fail2ban/jail.local

Add:

[grafana]
enabled = true
port = 3000
filter = grafana
logpath = /var/log/grafana/grafana.log
maxretry = 5
bantime = 3600

Apply changes:

sudo systemctl restart fail2ban

Protecting RPC and API with MFA

Securing RPC Access via NGINX + OAuth

  1. Install NGINX + JWT authentication.

  2. Restrict access to /rpc, /api by IP addresses and keys.

  3. Implement Cloudflare Access to enforce MFA for API access.

Previous🛡️ Protecting Validator from DDoS AttacksNext🚨Monitoring

Last updated 3 months ago