Cloud House Technologies Logo
CloudHouse Technologies
HomeServicesProjectsBlogAbout UsCareersContact UsLogin
    Cloud House Technologies Logo
    CloudHouse Technologies
    HomeServicesProjectsBlogAbout UsCareersContact UsLogin

    How to Restrict Webmin Access by IP Address (Allowlist & Firewall Guide)

    Priya

    Content Writer & Researcher

    Last Updated: 26 June 2026
    How to Restrict Webmin Access by IP Address (Allowlist & Firewall Guide)
    🖥️

    Is Your Webmin Panel Exposed to the Internet? Let's Lock It Down

    Unrestricted Webmin access is one of the most common server misconfigurations we fix. CloudHouse Technologies will harden your panel, apply firewall rules, and set up multi-layer access controls — before attackers find it first.

    🔧 Book Free DiagnosisCall NowWhatsApp
    🖥️12,400+PCs Fixed
    ⭐4.9★Google Rating
    ⚡<15 minAvg. Response
    🛡️ISO 27001Certified

    If your Webmin panel is reachable from the public internet without IP restrictions, you are one brute-force campaign away from a full server compromise. Restricting Webmin access to trusted IP addresses is one of the most effective security controls a sysadmin can apply — and this guide shows you every method to do it correctly.

    Why Webmin Needs IP Access Restrictions

    Webmin runs on port 10000 by default and exposes a powerful administrative interface for your entire Linux server. Without IP restrictions, any IP on the internet can attempt to authenticate. Automated scanners actively probe port 10000 looking for exposed panels, and credential stuffing attacks against Webmin are routine.

    IP allowlisting limits who can even reach the login page. Combined with strong passwords and two-factor authentication, it makes unauthorised access nearly impossible.

    Common scenarios where IP restriction is critical:

    • VPS or dedicated server with a public IP
    • Webmin used for client server management
    • Reseller or hosting panel exposed on a shared host
    • Any server where the admin always connects from predictable IP addresses

    💡 None of these worked? Skip the guesswork.

    Get Expert Help →

    Method 1: GUI — Webmin IP Access Control Module

    The easiest approach is Webmin's built-in IP Access Control page, which modifies /etc/webmin/miniserv.conf for you.

    1Log in to Webmin

    Open https://your-server-ip:10000 and log in as root or an admin user.

    2Navigate to IP Access Control

    Go to Webmin → Webmin Configuration → IP Access Control.

    3Select "Only allow from listed addresses"

    Choose this option and enter each trusted IP, hostname, or CIDR network in the text box — one per line.

    Accepted formats:

    • Single IP: 203.0.113.45
    • CIDR range: 192.168.1.0/24
    • Netmask notation: 192.168.1.0/255.255.255.0
    • Hostname: admin.yourcompany.com
    • Wildcard domain: *.yourcompany.com
    4Save and verify

    Click Save. Webmin will write the change to miniserv.conf and apply it immediately. Test from an allowed IP to confirm access still works before ending your session.

    Warning: If you accidentally block your own IP, you will be locked out. Always keep an SSH session open while testing so you can edit /etc/webmin/miniserv.conf directly if needed.
    1Open the config file
    nano /etc/webmin/miniserv.conf
    2Locate or add the allow= line

    Look for an existing allow= line. If it exists, update it. If it does not exist, add it. Space-separate multiple entries:

    allow=203.0.113.45 192.168.1.0/24 10.0.0.0/8

    To block specific IPs instead of allowlisting, use:

    deny=198.51.100.0/24
    3Restart Webmin to apply changes
    systemctl restart webmin

    Or use the legacy scripts:

    /etc/webmin/stop && /etc/webmin/start
    4Verify the setting took effect
    grep "^allow=" /etc/webmin/miniserv.conf

    Method 3: UFW Firewall Rules (Recommended Layer)

    Webmin's built-in IP restriction controls access at the application layer. Adding a firewall rule provides a second, independent layer that blocks connections before they even reach Webmin's listener. This is best practice for defence-in-depth.

    Block all access to port 10000 by default, then allow only your IPs:

    # Deny all connections to Webmin port first
    ufw deny 10000/tcp
    
    # Allow your admin IP
    ufw allow from 203.0.113.45 to any port 10000 proto tcp
    
    # Allow your office CIDR
    ufw allow from 192.168.1.0/24 to any port 10000 proto tcp
    
    # Apply changes
    ufw reload

    Check the rules are active:

    ufw status verbose | grep 10000

    Expected output:

    10000/tcp                  ALLOW IN    203.0.113.45
    10000/tcp                  ALLOW IN    192.168.1.0/24
    10000/tcp                  DENY IN     Anywhere

    Method 4: iptables Rules

    If your server uses iptables instead of UFW, apply restrictions this way:

    # Allow trusted IP
    iptables -I INPUT -p tcp --dport 10000 -s 203.0.113.45 -j ACCEPT
    
    # Allow office network
    iptables -I INPUT -p tcp --dport 10000 -s 192.168.1.0/24 -j ACCEPT
    
    # Block everyone else
    iptables -A INPUT -p tcp --dport 10000 -j DROP

    Persist rules across reboots:

    apt install iptables-persistent -y
    netfilter-persistent save

    Handling Dynamic IPs and Remote Access

    If your admin team does not have fixed IP addresses, use one of these patterns:

    SSH tunnel (most secure option):

    ssh -L 10000:localhost:10000 user@your-server-ip

    Then browse to https://localhost:10000. Webmin is never exposed to the internet at all.

    VPN-based access: Assign Webmin to a private VPN IP only. Block port 10000 on the public interface entirely, allow only on the VPN interface (tun0):

    ufw allow in on tun0 to any port 10000 proto tcp
    ufw deny 10000/tcp

    Dynamic DNS allowlist: If your home IP changes but resolves to a consistent hostname, add the hostname to Webmin's allowlist and enable "Resolve hostnames on every request" in Webmin Configuration → IP Access Control. Note: hostname-based allowlisting carries a small DNS spoofing risk in adversarial environments.

    Verifying and Testing Your Restrictions

    After applying any IP restriction method, always verify from both an allowed and a disallowed IP.

    From an allowed IP — expect the login page:

    curl -sk https://your-server-ip:10000 | grep -i "webmin"

    From a disallowed IP — expect a connection refusal or error:

    curl -sk https://blocked-ip:10000
    # Expected: connection refused or timeout

    Check Webmin's auth log to confirm blocked attempts are logged:

    grep "Rejected connection" /var/webmin/miniserv.error | tail -20

    Combining IP Restrictions with Other Security Controls

    IP allowlisting is a strong control but works best as part of a layered security posture. Pair it with:

    • Two-factor authentication (2FA): Even if an allowed IP is compromised, attackers cannot log in without the TOTP code
    • Fail2Ban: Bans IPs with repeated failed logins — catches mistakes from allowed networks
    • Non-default port: Change Webmin from port 10000 to a high random port to reduce automated scanner hits
    • HTTPS only: Ensure Webmin is running with a valid TLS certificate so credentials are encrypted in transit
    • Disable root login: Create a named admin user and disable root-level Webmin authentication

    If you need help implementing a comprehensive Webmin and Linux server security hardening policy, CloudHouse Technologies' server hardening service covers firewall configuration, access controls, and ongoing monitoring.

    FAQs

    Get the Free Linux Server Admin Cheatsheet (PDF)

    Essential commands for server management, networking, and troubleshooting — all on one printable page.

    Running Linux servers? Let us manage them for you.

    Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response — so your servers stay up and your team stays focused.

    • Proactive OS patching and security updates
    • 24×7 monitoring with instant alerting
    • Backup configuration and disaster recovery
    • Dedicated Linux engineers on call
    See Pricing Plans →

    What our customers say

    “Our production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

    Arun S.

    CTO, SaaS Startup

    “They migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

    Deepak N.

    DevOps Lead

    Frequently Asked Questions

    If you lock yourself out via Webmin's IP Access Control, connect to the server via SSH and edit /etc/webmin/miniserv.conf directly. Find the allow= line and add your IP back, then run systemctl restart webmin. This is why you should always keep an SSH session open while changing IP restriction settings.

    Book your free 15-minute diagnosis

    A certified technician will call you back within 15 minutes during business hours.

    Share this article

    Leave a Comment

    Comments (0)

    Loading comments...

    Need Help Securing Your Webmin Panel?

    Locking down Webmin requires getting firewall rules, miniserv.conf settings, and SSH access controls right simultaneously. CloudHouse Technologies specialises in server security hardening — we'll secure your Webmin setup and monitor it ongoing so you can focus on running your business.

    Call Now — FreeWhatsApp Us

    Why CloudHouse?

    • ISO 27001:2022 certified
    • 12,400+ devices supported
    • 4.9★ on Google
    • Sub-15-minute response

    CloudHouse Technologies

    Innovative cloud solutions for modern businesses. We deliver cutting-edge technology with exceptional service.

    Contact Us

    CloudHouse Technologies Pvt.Ltd
    Special Economic Zone(SEZ),
    Infopark Thirissur,4B-15,
    Indeevaram,Nalukettu Road,
    Koratty, Kerala, India-680308
    0480-27327360
    info@cloudhousetechnologies.com

    Quick Links

    • Our Services
    • Gold Loan Software
    • About Us
    • Contact
    • Terms and Conditions
    • Privacy Policy
    ISO27001:2022
    Certified

    © 2026 CloudHouse Technologies Pvt.Ltd. All rights reserved.

    Back to top