Bird
Raised Fist0
Linux CLIscripting~5 mins

Firewall basics (ufw, iptables) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the primary purpose of a firewall in Linux?
A firewall controls incoming and outgoing network traffic to protect the system from unauthorized access and attacks.
Click to reveal answer
beginner
What does ufw stand for and what is it used for?
ufw stands for Uncomplicated Firewall. It is a user-friendly tool to manage firewall rules on Linux systems.
Click to reveal answer
beginner
How do you enable the firewall using ufw?
You enable the firewall by running the command: sudo ufw enable. This activates the firewall with the current rules.
Click to reveal answer
intermediate
What is iptables used for in Linux?
iptables is a powerful command-line tool to configure the Linux kernel firewall, allowing detailed control over network traffic.
Click to reveal answer
intermediate
How would you list all current iptables rules?
Use the command sudo iptables -L -v to list all current firewall rules with details.
Click to reveal answer
Which command enables the firewall using ufw?
Asudo ufw enable
Bsudo ufw start
Csudo iptables enable
Dsudo firewall start
What does the command sudo iptables -L do?
ALists all current firewall rules
BDeletes all firewall rules
CEnables the firewall
DDisables the firewall
Which tool is simpler for beginners to manage firewall rules?
Aiptables
Btcpdump
Cnetstat
Dufw
What is the default policy of ufw if not changed?
AAllow all outgoing traffic
BAllow all incoming traffic
CDeny all incoming traffic
DDeny all outgoing traffic
Which command adds a rule to allow SSH traffic using ufw?
Asudo iptables allow ssh
Bsudo ufw allow 22
Csudo ufw block 22
Dsudo iptables add ssh
Explain how to enable and check the status of the firewall using ufw.
Think about commands to turn on ufw and how to see if it is active.
You got /3 concepts.
    Describe the difference between ufw and iptables in managing Linux firewalls.
    Consider which tool is simpler and which is more powerful.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of a firewall like ufw or iptables on a Linux system?
      easy
      A. To update the Linux kernel automatically
      B. To speed up the internet connection
      C. To manage user accounts and passwords
      D. To control network access and protect the system from unauthorized connections

      Solution

      1. Step 1: Understand firewall function

        A firewall controls network traffic to protect the system from unwanted access.
      2. Step 2: Identify the correct purpose

        Options B, C, and D describe unrelated system tasks, so only To control network access and protect the system from unauthorized connections fits.
      3. Final Answer:

        To control network access and protect the system from unauthorized connections -> Option D
      4. Quick Check:

        Firewall = network protection [OK]
      Hint: Firewalls block or allow network traffic to protect your system [OK]
      Common Mistakes:
      • Confusing firewall with system update tools
      • Thinking firewall manages user accounts
      • Assuming firewall speeds up internet
      2. Which of the following is the correct command to enable the ufw firewall?
      easy
      A. ufw enable
      B. ufw start
      C. ufw on
      D. ufw activate

      Solution

      1. Step 1: Recall ufw command to enable firewall

        The correct command to enable ufw is ufw enable.
      2. Step 2: Check other options

        Commands like ufw start, ufw on, and ufw activate are invalid.
      3. Final Answer:

        ufw enable -> Option A
      4. Quick Check:

        Enable ufw = ufw enable [OK]
      Hint: Remember: 'enable' starts ufw, not 'start' or 'on' [OK]
      Common Mistakes:
      • Using 'ufw start' instead of 'ufw enable'
      • Typing 'ufw on' which is not a valid command
      • Confusing with systemctl commands
      3. What will be the output of the command sudo ufw status after running sudo ufw allow 22 and sudo ufw enable on a fresh system?
      medium
      A. Status: active\nTo Action From\n-- ------ ----\n80 ALLOW Anywhere
      B. Status: active\nTo Action From\n-- ------ ----\n22 ALLOW Anywhere
      C. Status: active\nNo rules configured
      D. Status: inactive\nNo rules configured

      Solution

      1. Step 1: Understand commands run

        sudo ufw allow 22 opens port 22 (SSH). sudo ufw enable activates the firewall.
      2. Step 2: Predict ufw status output

        The status will be active and show port 22 allowed from anywhere.
      3. Final Answer:

        Status: active\nTo Action From\n-- ------ ----\n22 ALLOW Anywhere -> Option B
      4. Quick Check:

        Allow 22 + enable = active with port 22 allowed [OK]
      Hint: Allow port then enable ufw to see active status with rules [OK]
      Common Mistakes:
      • Expecting status inactive after enabling
      • Confusing allowed ports (80 vs 22)
      • Missing the 'active' status line
      4. You wrote the command sudo ufw allow sshd but it returns an error. What is the likely cause and how to fix it?
      medium
      A. The service name 'sshd' is incorrect; use 'ssh' instead
      B. You need to run the command without sudo
      C. The firewall is disabled; enable it first
      D. The port number must be specified instead of service name

      Solution

      1. Step 1: Identify the error cause

        The service name for SSH in ufw is 'ssh', not 'sshd'. Using 'sshd' causes an error.
      2. Step 2: Correct the command

        Use sudo ufw allow ssh to allow SSH traffic properly.
      3. Final Answer:

        The service name 'sshd' is incorrect; use 'ssh' instead -> Option A
      4. Quick Check:

        Use correct service names like 'ssh' [OK]
      Hint: Use 'ssh' not 'sshd' as ufw service name [OK]
      Common Mistakes:
      • Trying without sudo and expecting success
      • Assuming firewall must be enabled before allowing ports
      • Using port numbers when service names are accepted
      5. You want to block all incoming traffic except SSH (port 22) and HTTP (port 80) using iptables. Which sequence of commands achieves this correctly?
      hard
      A. sudo iptables -P OUTPUT DROP\nsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      B. sudo iptables -P INPUT ACCEPT\nsudo iptables -A INPUT -p tcp --dport 22 -j DROP\nsudo iptables -A INPUT -p tcp --dport 80 -j DROP
      C. sudo iptables -P INPUT DROP\nsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT\nsudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      D. sudo iptables -P INPUT DROP\nsudo iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT\nsudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

      Solution

      1. Step 1: Set default policy to DROP incoming traffic

        sudo iptables -P INPUT DROP blocks all incoming by default.
      2. Step 2: Allow incoming SSH and HTTP ports

        Commands to accept TCP traffic on ports 22 and 80 allow SSH and HTTP.
      3. Step 3: Allow established connections

        sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT lets responses through.
      4. Final Answer:

        sudo iptables -P INPUT DROP\nsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT\nsudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -> Option C
      5. Quick Check:

        Default DROP + allow ports 22,80 + established accept = correct [OK]
      Hint: Set default DROP, then allow needed ports and established states [OK]
      Common Mistakes:
      • Setting OUTPUT policy instead of INPUT
      • Dropping allowed ports instead of accepting
      • Forgetting to allow established connections
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard