Skip to content
Network Security Explained — Beginner's Guide

Network Security Explained — Beginner's Guide

DodaTech Updated Jun 6, 2026 11 min read

Network security is the practice of protecting computer networks from intruders, attacks, and unauthorized access using tools like firewalls, intrusion detection systems, and encrypted communication protocols.

What You’ll Learn

By the end of this tutorial, you’ll understand how firewalls filter traffic, how IDS/IPS detects intrusions, how VPNs encrypt connections, and you’ll write a simple iptables firewall rule.

Why Network Security Matters

Every device connected to the internet is a potential target. In 2025, over 15,000 network attacks occurred every minute globally. At DodaTech, Doda Browser includes built-in network-level protection against malicious sites, while Durga Antivirus Pro monitors network traffic for suspicious patterns. Understanding network security helps you build and maintain safer systems.

Network Security Learning Path

    flowchart LR
  A[Security Basics] --> B[Network Security]
  B --> C[Web Security]
  C --> D[Cryptography]
  D --> E[Ethical Hacking]
  E --> F[Pen Testing]
  B --> G{You Are Here}
  style G fill:#f90,color:#fff
  
Prerequisites: Cyber Security basics (CIA triad). Basic understanding of Linux commands and HTTP helps but isn’t required.

What Is Network Security? (The “Why” First)

Think of network security like security for your house’s doors and windows. Your house has walls (your computer), but the doors and windows (network connections) let things in and out. Network security ensures only the right things pass through.

Imagine your computer without network security. Anyone on the internet could:

  • Connect to your computer directly
  • Read data you send to websites
  • Send malicious traffic to crash your system

Network security tools prevent all of this. They’re the guards at the gate, checking every piece of traffic that enters or leaves your network.

Firewalls — The First Line of Defense

A firewall is a system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. Think of it as a bouncer at a club — it checks IDs (packet headers) and decides who gets in and who gets blocked.

How Firewalls Work

Every piece of data sent over a network is broken into packets. Each packet has a header containing:

  • Source IP address (where it came from)
  • Destination IP address (where it’s going)
  • Port number (which application should receive it)
  • Protocol (TCP, UDP, ICMP)

The firewall examines these headers and applies rules. For example:

# Allow incoming SSH connections (port 22)
# Block all other incoming traffic
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP

Types of Firewalls

TypeHow It WorksExample
Packet filterExamines packet headers onlyiptables, nftables
Stateful firewallTracks connection state (remembers past packets)firewalld, Windows Firewall
Application layerInspects actual content (not just headers)WAF, ModSecurity
Next-gen firewallCombines all above + threat intelligencePalo Alto, Fortinet

Simple iptables Example

Here’s a practical firewall setup for a basic web server:

# Flush existing rules
iptables -F

# Default policies: drop all incoming, allow all outgoing
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Allow established connections (responses to our outgoing traffic)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow loopback interface (local communication)
iptables -A INPUT -i lo -j ACCEPT

# Allow SSH (port 22) from trusted network only
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

# Allow HTTP (port 80) and HTTPS (port 443) from anywhere
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Log dropped packets (for monitoring)
iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: "

# Save rules
iptables-save > /etc/iptables/rules.v4

Line-by-line explanation:

  1. iptables -F — clears all existing rules. You start from scratch.
  2. -P INPUT DROP — sets the default policy to DROP. Any traffic not explicitly allowed is rejected.
  3. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT — allows responses to connections you initiated. Without this, you couldn’t even browse the web.
  4. -i lo -j ACCEPT — allows the computer to talk to itself (important for many applications).
  5. --dport 22 -s 192.168.1.0/24 — SSH access is restricted to the local network only. Remote SSH would need a VPN.
  6. --dport 80 and --dport 443 — web traffic is allowed from anywhere.
  7. -j LOG — logs blocked traffic for analysis.

IDS and IPS — Watching for Suspicious Activity

IDS (Intrusion Detection System) and IPS (Intrusion Prevention System) are like security cameras. IDS watches and alerts you. IPS watches and actively blocks threats.

  • IDS: “Someone is trying to connect to port 4444 from an unknown IP in Russia. Alert!”
  • IPS: “Someone is trying a SQL injection attack. Block them immediately.”

Snort IDS Rule Example

# Snort rule: alert when someone tries to access /etc/passwd via HTTP
alert tcp any any -> $HOME_NET 80 (
  msg:"Attempt to access /etc/passwd";
  content:"/etc/passwd";
  sid:1000001;
  rev:1;
)

This rule checks all HTTP traffic to port 80. If the content contains “/etc/passwd” (a common attack pattern), Snort generates an alert.

VPNs — Secure Tunnels Through the Internet

A VPN (Virtual Private Network) creates an encrypted tunnel between your device and a remote server. Think of it as a private armored car driving through a dangerous city. Even though the car is on public streets, the contents are secure.

How VPNs Protect You

Without VPN:

You (Coffee Shop Wi-Fi) --[Visible to attackers]--> Website

With VPN:

You (Coffee Shop Wi-Fi) --[Encrypted tunnel]--> VPN Server --> Website

On the coffee shop Wi-Fi without a VPN, anyone on that network can see every website you visit, every password you type (if the site isn’t using HTTPS), and every message you send. The VPN encrypts everything before it leaves your device.

Common VPN Protocols

ProtocolSpeedSecurityUse Case
OpenVPNMediumVery HighGeneral purpose, most trusted
WireGuardFastHighModern, lightweight, built into Linux kernel
IPsec/IKEv2FastHighMobile devices, corporate VPNs
PPTPFastLow (broken)Avoid — has known security flaws

Secure Protocols — HTTPS and SSH

HTTPS — The Lock on Your Web Traffic

HTTPS (HTTP Secure) encrypts the data between your browser and the website. The S stands for Secure, and it uses TLS (Transport Layer Security) to encrypt the connection.

You can check if a site uses HTTPS by looking for the padlock icon in your browser’s address bar.

# Check a website's HTTPS certificate using OpenSSL
echo | openssl s_client -connect dodatech.com:443 -servername dodatech.com 2>/dev/null | openssl x509 -noout -dates

# Output:
# notBefore=Jan 1 00:00:00 2026 GMT
# notAfter=Jan 1 00:00:00 2027 GMT

SSH — Secure Shell for Remote Access

SSH (Secure Shell) lets you securely log into remote computers and execute commands. It replaces older, insecure protocols like Telnet (which sends passwords in plain text).

# SSH into a remote server
ssh user@192.168.1.100

# Copy files securely
scp file.txt user@192.168.1.100:/home/user/

# Advanced: use SSH keys instead of passwords
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id user@192.168.1.100

SSH keys are more secure than passwords because:

  • They’re mathematically paired (public + private key)
  • The private key never leaves your device
  • Brute-forcing an SSH key is practically impossible

Common Network Security Mistakes

1. Leaving Default Ports Open

Attackers scan default ports first. Change SSH from port 22 to a non-standard port to reduce automated attacks — though this is security through obscurity, so combine it with key-only authentication.

2. Opening All Ports “Just in Case”

Each open port is a potential entry point. Only open ports you explicitly need. Use iptables or firewalld to enforce a default-deny policy.

3. No Monitoring or Logging

A firewall without logging is like a security camera that’s not recording. You won’t know if someone is trying to break in. Enable logging and review logs periodically.

4. Weak VPN Protocols

PPTP is broken and can be cracked in minutes. Always use OpenVPN or WireGuard for production VPN connections.

5. Forgetting Internal Network Security

Many attacks come from inside the network — an infected laptop, a rogue employee, or a compromised IoT device. Don’t assume the internal network is safe.

6. Not Updating Firewall Rules

Rules that were correct six months ago might leave you exposed today. Review your firewall rules quarterly.

7. Relying Only on Network Security

Network security is one layer. Combine it with endpoint security (antivirus), application security (secure coding), and user education (phishing awareness).

Common Mistakes Beginners Make

1. Skipping the Fundamentals

Many beginners jump straight to advanced topics without mastering the basics. Take time to understand the core concepts before moving on.

2. Not Practicing Enough

Reading tutorials without writing code leads to shallow understanding. Code along with every example and experiment on your own.

3. Ignoring Error Messages

Error messages tell you exactly what went wrong. Read them carefully — they usually point to the line and type of issue.

4. Copy-Pasting Without Understanding

It’s tempting to copy code from tutorials, but typing it yourself and understanding each line builds real skill.

5. Giving Up Too Early

Every developer hits frustrating bugs. Take breaks, ask for help, and remember that struggling is part of learning.

Practice Questions

1. What’s the difference between a packet-filtering firewall and a stateful firewall?

A packet-filtering firewall examines each packet independently. A stateful firewall tracks connections and considers the context of previous packets, making it more secure.

2. What port does SSH use by default?

Port 22. HTTPS uses port 443, HTTP uses port 80.

3. Why is HTTPS important?

HTTPS encrypts data between browser and server, preventing eavesdropping, tampering, and man-in-the-middle attacks on web traffic.

4. What does the iptables rule -A INPUT -p tcp --dport 22 -j ACCEPT do?

It allows incoming TCP connections on port 22 (SSH) from any source IP.

5. Challenge: Write an iptables rule that blocks all incoming traffic from IP 10.0.0.5 but allows all other traffic.

iptables -A INPUT -s 10.0.0.5 -j DROP

This rule drops all packets with source IP 10.0.0.5 before they reach any other rules.

Real-World Task: Secure Your Home Network

Set up a basic firewall on a Linux machine:

# Install and enable firewalld
sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

# Check current zone
sudo firewall-cmd --get-default-zone

# Allow services you need
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh

# Reload to apply
sudo firewall-cmd --reload

# List all rules
sudo firewall-cmd --list-all

This script uses firewalld (a modern front-end for nftables) to create a secure configuration. The --permanent flag ensures rules survive reboots.

FAQ

What’s the difference between a firewall and an antivirus?
A firewall controls network traffic (what comes in and out of your computer). Antivirus detects and removes malicious software (what’s already on your computer). They complement each other.
Do I need a firewall if I use a router?
Yes. Most home routers have a basic NAT firewall, but it’s not enough. A host-based firewall (like iptables or Windows Firewall) protects you from threats inside your network too.
What is a DMZ in networking?
A DMZ (Demilitarized Zone) is a separate network segment that sits between your internal network and the internet. Public-facing servers (web, email) go in the DMZ, so if they’re compromised, the attacker doesn’t reach your internal systems.
Can a VPN be hacked?
VPNs can be compromised if they use weak protocols (PPTP), have software vulnerabilities, or if the VPN provider logs and leaks data. Choose a reputable provider using OpenVPN or WireGuard.
How often should I update firewall rules?
Review firewall rules at least quarterly. After any significant infrastructure change, review immediately. Use the principle of least privilege — only allow what’s absolutely necessary.

Try It Yourself

Create a simple Python script that scans open ports on a local machine. This is a legitimate network diagnostic tool (port scanning without permission is illegal — always test on your own systems):

# port_scanner.py
# Requires Python 3.6+
# Only use on systems you own!
import socket
import sys

def scan_port(host, port, timeout=1):
    """Check if a single port is open on the given host."""
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(timeout)
    result = sock.connect_ex((host, port))
    sock.close()
    return result == 0

def main():
    if len(sys.argv) != 3:
        print("Usage: python port_scanner.py <host> <port_range>")
        print("Example: python port_scanner.py localhost 1-1024")
        sys.exit(1)

    host = sys.argv[1]
    port_range = sys.argv[2]

    try:
        start_port, end_port = map(int, port_range.split("-"))
    except ValueError:
        print("ERROR: Port range must be in format 'start-end' (e.g., 1-1024)")
        sys.exit(1)

    print(f"Scanning {host} for open ports {start_port}-{end_port}...")
    print("-" * 40)

    open_ports = []
    for port in range(start_port, end_port + 1):
        if scan_port(host, port):
            service = socket.getservbyport(port, "tcp") if port <= 65535 else "unknown"
            print(f"  PORT {port:5d}/tcp  OPEN  ({service})")
            open_ports.append(port)

    print("-" * 40)
    if open_ports:
        print(f"Found {len(open_ports)} open port(s)")
    else:
        print("No open ports found (firewall may be blocking)")

if __name__ == "__main__":
    main()

Expected output (on a machine with SSH and HTTP running):

Scanning localhost for open ports 1-1024...
----------------------------------------
  PORT    22/tcp  OPEN  (ssh)
  PORT    80/tcp  OPEN  (http)
  PORT   443/tcp  OPEN  (https)
----------------------------------------
Found 3 open port(s)

This is the same technique used by Durga Antivirus Pro to identify potential backdoors and unauthorized services running on your system.

What’s Next

What’s Next

Congratulations on completing this Network Security tutorial! Here’s where to go from here:

  • Practice daily — Consistency is more important than long study sessions
  • Build a project — Apply what you learned by building something real
  • Explore related topics — Check out other tutorials in the same category
  • Join the community — Discuss with other learners and share your progress

Remember: every expert was once a beginner. Keep coding!

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro