Murus Firewall for Mac | Principle of Least Privilege

🛡️ Murus Firewall

Principle of Least Privilege

Professional-grade PF firewall control for macOS. Implement network-level least privilege with custom rulesets, port blocking, and protocol filtering.

⏱️ 45 minutes 🟡 Intermediate 💰 $20-40

⚠️ Why Murus Matters

Murus gives you control over macOS's built-in PF (Packet Filter) firewall - the same powerful firewall used by enterprise networks and security professionals.

While LuLu monitors outbound connections, Murus implements principle of least privilege at the network level - blocking everything by default and only allowing what you explicitly permit.

What is Murus?

Murus is a GUI (Graphical User Interface) for macOS's built-in PF (Packet Filter) firewall. It transforms the complex command-line PF into an easy-to-use application with:

  • 🎯 Network profiles - Different rules for Home, Work, Public WiFi
  • 🔒 Port-based blocking - Block specific ports and protocols
  • 📱 Application filtering - Control which apps can use the network
  • 📊 Real-time logging - See blocked and allowed connections
  • Preset templates - Quick setup for common scenarios
  • 🔧 Advanced PF control - For power users who know PF syntax

💡 Murus vs LuLu - When to Use Each

LuLu: Application-level outbound firewall. Alerts you when apps try to connect out. Great for detecting malware and blocking telemetry.

Murus: Network-level firewall. Blocks by port, protocol, and IP address. Great for implementing security policies and network segmentation.

Best practice: Use both together! LuLu for application control, Murus for network control.

Murus Lite vs Murus Pro

FeatureMurus Lite ($20)Murus Pro ($40)
PF Firewall Control✅ Yes✅ Yes
Network Profiles✅ 3 profiles✅ Unlimited
Preset Rules✅ Basic✅ Advanced
Application Filtering✅ Yes✅ Yes
Port Blocking✅ Yes✅ Yes
Real-time Logging❌ No✅ Yes
VPN Support❌ No✅ Yes
Advanced PF Editing❌ No✅ Yes
Price$20$40

💡 Which Version Should You Get?

Murus Lite ($20): Perfect for most users. Gives you firewall control, profiles, and basic rules. Great starting point.

Murus Pro ($40): For security professionals and power users. Real-time logging, unlimited profiles, VPN support, and raw PF editing.

Recommendation: Start with Lite. You can upgrade to Pro later if you need advanced features.

Understanding Principle of Least Privilege

Murus implements principle of least privilege - a security concept where you:

  1. Block everything by default
  2. Only allow what's necessary
  3. Minimize attack surface

Example: Public WiFi Profile

When connected to public WiFi at a coffee shop:

  • Block all incoming connections
  • Block file sharing (SMB, AFP)
  • Block SSH, VNC, remote desktop
  • Allow only HTTPS (port 443) and DNS (port 53)
  • Allow VPN connections if needed

This ensures even if malware gets on your Mac, it can't communicate out or accept incoming attacks.

Step 1: Purchase and Download Murus

1 Visit the Murus website:

🔗 https://www.murusfirewall.com/

Choose between Murus Lite ($20) or Murus Pro ($40).

After purchase, download the DMG installer.

✅ Why Murus is Trusted

Murus has been around since 2011 and is developed by Objective Development (makers of Little Snitch). It's used by security professionals and enterprises worldwide.

Step 2: Install Murus

2 Open the downloaded Murus_[version].dmg file.

Drag Murus.app to your Applications folder.

3 Launch Murus from Applications.

You'll be prompted for your administrator password - Murus needs this to control the PF firewall.

⚠️ Murus Controls System Firewall

Murus directly controls macOS's PF firewall. When Murus is active, it takes over firewall management. You can disable it anytime to return to normal.

Step 3: Initial Setup

4 On first launch, Murus will show the Setup Assistant.

Choose your initial security level:

  • Permissive: Allow most traffic (good for learning)
  • Balanced: Block incoming, allow outgoing (recommended)
  • Restrictive: Block everything except essentials (advanced)

⚠️ Start with Balanced Mode

If you jump straight to Restrictive mode, you may break internet access for apps. Start with Balanced and tighten security gradually.

Step 4: Understanding the Interface

Murus has several key sections:

📊 Dashboard

Shows firewall status, current profile, and quick controls.

  • ON/OFF toggle for firewall
  • Current profile indicator
  • Quick stats (rules active, connections blocked)

🎯 Profiles

Create different firewall configurations for different networks.

  • Home: Relaxed rules, allow file sharing
  • Work: Moderate rules, allow work apps
  • Public WiFi: Strict rules, block everything unnecessary

📝 Rules

Create custom firewall rules:

  • Block/allow specific ports
  • Block/allow specific IP addresses
  • Block/allow specific applications
  • Set rule priority

📚 Presets

Pre-configured rules for common scenarios:

  • Block all incoming connections
  • Allow web browsing only
  • Enable file sharing
  • VPN configurations

Step 5: Creating Network Profiles

Network profiles let you switch firewall rules based on where you are.

5 Click "Profiles" in the sidebar.

Click the "+" button to create a new profile.

Example: Public WiFi Profile

6 Create a profile named "Public WiFi".

Add these rules:

  1. Block all incoming connections (default)
  2. Allow HTTPS (port 443) outbound
  3. Allow DNS (port 53) outbound
  4. Block SMB (ports 139, 445) - file sharing
  5. Block SSH (port 22) incoming
  6. Block VNC (port 5900) incoming

💡 Profile Switching

You can manually switch profiles or set Murus to auto-switch based on WiFi network name (SSID). This way, your Mac automatically applies strict rules when you connect to public WiFi.

Step 6: Creating Custom Rules

Let's create a rule to block a specific port:

7 Go to "Rules" section.

Click "Add Rule" (+ button).

8 Configure the rule:

  • Action: Block or Allow
  • Direction: Incoming, Outgoing, or Both
  • Protocol: TCP, UDP, ICMP, or Any
  • Port: Specific port number or range
  • Source/Destination: Any, specific IP, or IP range

Example Rules

✅ Allow SSH from Specific IP

  • Action: Allow
  • Direction: Incoming
  • Protocol: TCP
  • Port: 22
  • Source: 192.168.1.100 (your trusted computer)

This allows SSH only from your trusted IP, blocking all other SSH attempts.

🚫 Block Telemetry Servers

  • Action: Block
  • Direction: Outgoing
  • Protocol: Any
  • Destination: telemetry.example.com

This blocks connections to known telemetry servers.

Step 7: Using Preset Rules

Murus includes preset rules for common scenarios:

9 Click "Presets" in the sidebar.

Browse available presets:

  • Block All Incoming: Maximum security
  • Web Browsing Only: Allow HTTP/HTTPS, block everything else
  • File Sharing: Enable SMB, AFP, AirDrop
  • Remote Access: Allow SSH, VNC, Screen Sharing

10 Click a preset to apply it to your current profile.

You can customize the preset after applying it.

Step 8: Monitoring (Murus Pro Only)

If you have Murus Pro, you get real-time logging:

Go to "Log" section to see:

  • 🔴 Blocked connections - What was denied
  • 🟢 Allowed connections - What was permitted
  • 📊 Connection details - Source, destination, port, protocol
  • Timestamps - When each connection occurred

💡 Use Logs to Refine Rules

Review logs regularly to see what's being blocked. If a legitimate app is blocked, create an allow rule for it. If you see suspicious blocked connections, investigate further.

Step 9: Integration with LuLu

For maximum security, use Murus and LuLu together:

🔄 How They Work Together

Murus (Network Layer):

  • Blocks by port, protocol, IP address
  • Implements network-level security policies
  • Controls what can reach your Mac from outside

LuLu (Application Layer):

  • Monitors which apps are connecting out
  • Alerts on suspicious application behavior
  • Blocks malware and telemetry at app level

✅ Defense in Depth

Using both firewalls creates defense in depth - multiple layers of security. If one layer fails, the other catches threats.

Common Use Cases

🏠 Home Network

  • ✅ Allow file sharing (SMB, AFP)
  • ✅ Allow AirDrop and Handoff
  • ✅ Allow printer access
  • ❌ Block incoming SSH (unless you use it)
  • ❌ Block incoming VNC (unless you use it)

💼 Work Network

  • ✅ Allow VPN connections
  • ✅ Allow work-related ports
  • ✅ Allow SSH from specific IPs
  • ❌ Block personal file sharing
  • ❌ Block gaming ports

☕ Public WiFi

  • ❌ Block ALL incoming connections
  • ❌ Block file sharing completely
  • ❌ Block SSH, VNC, remote access
  • ✅ Allow only HTTPS and DNS
  • ✅ Force VPN for all traffic

Troubleshooting

⚠️ App Not Working After Enabling Murus

If an app stops working:

  1. Check Murus logs (Pro) or temporarily disable Murus
  2. Identify which port/protocol the app needs
  3. Create an allow rule for that port/protocol
  4. Re-enable Murus and test

⚠️ Internet Not Working

If you lose internet access:

  1. Disable Murus temporarily
  2. If internet returns, your rules are too restrictive
  3. Make sure you allow DNS (port 53) and HTTPS (port 443)
  4. Start with a preset like "Web Browsing Only"

⚠️ Can't Access Local Network

If you can't access printers, file shares, or other local devices:

  1. Add allow rules for your local network range (e.g., 192.168.1.0/24)
  2. Allow SMB (ports 139, 445) for file sharing
  3. Allow mDNS (port 5353) for device discovery

Advanced: Raw PF Editing (Murus Pro)

Murus Pro lets you edit raw PF rules for maximum control:

⚠️ Advanced Users Only

Raw PF editing requires knowledge of PF syntax. Incorrect rules can break network connectivity. Only use this if you understand PF firewall configuration.

Example PF rule to block a specific IP:

block drop from 192.0.2.1 to any

This blocks all traffic from IP 192.0.2.1.

✅ Murus is Now Protecting Your Mac!

You've successfully installed and configured Murus firewall. Your Mac now has professional-grade network-level protection with principle of least privilege.

Next steps: Create profiles for different networks, review logs regularly, and combine with LuLu for complete protection.