Computers communicate by breaking information into packets and sending those packets through a series of network layers and devices.
Network communication uses layers, packets, addresses and protocols.
What Is a Protocol?
A protocol is a set of rules that devices follow when communicating. Without common rules, computers would not know how to format, send or interpret information.
HTTP and HTTPS
Used to request and deliver web pages and web content.
TCP
Provides reliable delivery and checks that data arrives correctly.
UDP
Provides fast communication without the same delivery guarantees.
Ethernet
Defines how devices communicate across wired local networks.
Data Is Sent as Packets
A large file or message is divided into smaller pieces called packets. Each packet contains information such as its source, destination and position within the original message.
The application creates data.
Protocols add headers containing addressing and control information.
The data is divided into packets.
Routers and switches forward the packets.
The receiving device reassembles the packets.
TCP/IP Layers
Layer
Function
Examples
Application
Provides network services to applications.
HTTP, DNS, SMTP
Transport
Controls conversations and delivery.
TCP, UDP, ports
Internet
Provides logical addressing and routing.
IP, ICMP
Network Access
Moves data across the physical network.
Ethernet, Wi-Fi, fibre
Ports Identify Services
An IP address identifies a device. A port number identifies a service or application running on that device.
HTTPS: 443
HTTP: 80
DNS: 53
SSH: 22
FTP: 21
Think of it this way: Think of an IP address as a building address and a port as a room number. Together, they help data reach the correct service.
TCP and UDP
TCP checks that packets arrive and can retransmit missing information. UDP is faster and is often used for live video, voice calls, gaming and other applications where speed is more important than perfect delivery.
Summary
Computers communicate through protocols. Data is divided into packets, labelled with addresses and ports, transported through network devices, and rebuilt by the receiving computer.
IP addresses identify devices on a network. DHCP automatically assigns network settings, while DNS converts easy-to-remember website names into numerical IP addresses.
DHCP gives devices network settings, while DNS helps them locate websites.
What Is an IP Address?
An Internet Protocol address is a numerical address assigned to a device. It allows information to be delivered to the correct destination.
Example IPv4 Address
192.168.1.25
IPv4 addresses contain four numbers separated by full stops. Each number can range from 0 to 255.
Example IPv6 Address
2001:db8:85a3::8a2e:370:7334
IPv6 was created because the world required more addresses than IPv4 could provide.
Private and Public IP Addresses
Type
Purpose
Example
Private IP
Used inside a home, school or business network.
192.168.1.25
Public IP
Used to identify a network on the internet.
Assigned by an internet provider
Loopback
Used by a computer to communicate with itself.
127.0.0.1
How DHCP Works
DHCP stands for Dynamic Host Configuration Protocol. It automatically gives a device an IP address, subnet mask, default gateway and DNS server.
A device broadcasts a DHCP Discover message.
The DHCP server offers an available IP address.
The device requests the offered address.
The server confirms the lease.
Key idea: Without DHCP, every computer would need to be configured manually. DHCP makes network setup faster and reduces configuration errors.
How DNS Works
DNS stands for Domain Name System. People use names such as example.com, but computers communicate using IP addresses. DNS performs the translation between the two.
Website requested:
example.com
DNS response:
example.com → 93.184.216.34
IP addresses identify devices, DHCP provides network configuration and DNS translates domain names into addresses. These three concepts are essential for understanding how computers access network services.
Computer networking allows devices to communicate, share information, access the internet and work together. This guide introduces the essential networking concepts every beginner should understand.
A basic modern network connects users, devices, servers and internet services.
What Is a Computer Network?
A computer network is a group of connected devices that communicate with one another. The connection may use copper cables, fibre-optic cables, wireless signals or a combination of different technologies.
Networks can be very small, such as two computers connected together, or extremely large, such as the internet, which connects networks across the world.
Devices
Computers, phones, printers, servers, cameras and smart devices.
Connection
Ethernet, Wi-Fi, fibre optics, mobile networks or satellite links.
Rules
Protocols such as TCP/IP, HTTP, DNS and DHCP control communication.
Services
Websites, email, file sharing, video calls, cloud storage and databases.
Important Networking Devices
Network Interface Card: Allows a device to connect to a network.
Switch: Connects devices inside the same local network.
Router: Connects different networks and usually provides internet access.
Modem: Connects a local network to an internet service provider.
Firewall: Controls traffic and blocks unauthorised connections.
Server: Provides services or resources to other computers.
Key idea
A switch connects devices within a network, while a router connects one network to another.
LAN, WAN and the Internet
LAN
A Local Area Network covers a home, office, school or building.
WAN
A Wide Area Network connects locations over larger distances.
Internet
The internet is a global collection of interconnected networks.
What You Will Learn
The remaining articles explain IP addressing, DHCP, DNS, data packets, ping, Cisco Packet Tracer, network cables, RJ45 connectors and the practical steps needed to connect computers together.
Summary
Networking is the foundation of modern computing. Once you understand devices, connections and protocols, more advanced subjects such as routing, switching, security and cloud networking become easier to learn.
Secure Shell is one of the most important tools for administering Linux and Unix systems. It is also a common target for password spraying, stolen credentials, exposed keys, and configuration errors.
SSH hardening reduces these risks by limiting who can connect, how they authenticate, what they can access, and which network features are available after login.
Before you begin: Keep your existing SSH session open while making changes. Test a second connection before closing the original session.
Why SSH Hardening Matters
🔑
Stronger authentication
Replace weak passwords with protected cryptographic keys.
🛡️
Reduced attack surface
Disable unused features and limit exposed network services.
📊
Better visibility
Monitor authentication events and investigate unusual activity.
SSH Hardening Checklist
Keep the operating system and OpenSSH packages updated.
Use individual administrator accounts instead of shared accounts.
Use Ed25519 or another modern SSH key type.
Protect private keys with strong passphrases.
Disable direct root login.
Disable password authentication after key access is tested.
Restrict SSH access to approved users or groups.
Use a VPN, bastion host, or firewall allowlist where possible.
Disable forwarding and tunneling features that are not required.
Centralize and review SSH authentication logs.
1 Create a Dedicated Administrative Account
Avoid using a shared administrator or root account for daily management. Individual accounts make it easier to review access, remove former users, and investigate suspicious activity.
# Create a user
sudo adduser adminuser
# Debian or Ubuntu
sudo usermod -aG sudo adminuser
# Fedora, RHEL, Rocky Linux, or AlmaLinux
sudo usermod -aG wheel adminuser
2 Use Strong SSH Keys
Ed25519 is a strong modern default for SSH authentication. Generate the key on a trusted local computer, not on the remote server.
ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519
Set a strong passphrase when prompted. The private key must remain secret and should never be uploaded to the server.
ssh-copy-id -i ~/.ssh/id_ed25519.pub This email address is being protected from spambots. You need JavaScript enabled to view it.
The public key may be installed on the server. The private key should remain only on approved client devices and protected backups.
Set secure file permissions
# On the client
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
# On the server
chmod 700 /home/adminuser/.ssh
chmod 600 /home/adminuser/.ssh/authorized_keys
chown -R adminuser:adminuser /home/adminuser/.ssh
3 Harden the SSH Server Configuration
The SSH daemon configuration is commonly located at /etc/ssh/sshd_config. Create a backup before editing:
# Keep the standard port unless your network policy requires another
Port 22
# Disable direct root login
PermitRootLogin no
# Use public-key authentication
PubkeyAuthentication yes
# Disable password-based authentication after key testing
PasswordAuthentication no
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
# Permit only approved users
AllowUsers adminuser
# Disable features that are not required
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no
PermitTunnel no
# Limit authentication attempts
MaxAuthTries 3
LoginGraceTime 30
# Close inactive sessions
ClientAliveInterval 300
ClientAliveCountMax 2
# Limit concurrent sessions
MaxSessions 10
Do not disable passwords before testing your key. Open a second terminal and confirm that adminuser can log in successfully using the SSH key.
Validate the configuration
sudo sshd -t
If the command returns an error, fix the configuration before reloading the service.
# Debian or Ubuntu
sudo systemctl reload ssh
# Fedora or RHEL-based systems
sudo systemctl reload sshd
Test a new connection:
ssh -i ~/.ssh/id_ed25519 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Restrict Network Access
SSH should be reachable only from networks that need administrative access. A VPN, private network, bastion host, or firewall allowlist can significantly reduce exposure.
Example using UFW:
# Allow SSH only from a trusted network
sudo ufw allow from 203.0.113.0/24 to any port 22 proto tcp
# Enable the firewall
sudo ufw enable
# Review active rules
sudo ufw status verbose
Replace the example network with your actual trusted administrative network. Changing the SSH port may reduce automated scanning noise, but it does not replace strong authentication or firewall rules.
5 Add Multi-Factor Authentication
Sensitive environments should consider adding a second authentication factor to SSH. Options include hardware security keys, one-time passwords, and centralized identity providers.
Before applying MFA broadly, test account enrollment, emergency access, recovery procedures, and offline administration scenarios.
6 Restrict Individual SSH Keys
SSH keys can include restrictions in the server user's ~/.ssh/authorized_keys file:
These options can restrict the source address and disable forwarding or interactive shell access when those features are unnecessary.
7 Monitor SSH Activity
Regular log review can identify password spraying, unexpected administrator logins, unfamiliar source addresses, and disabled accounts being targeted.
# View recent SSH logs on systemd systems
sudo journalctl -u ssh --since "24 hours ago"
# Some distributions use sshd as the service name
sudo journalctl -u sshd --since "24 hours ago"
# Debian and Ubuntu authentication logs
sudo grep -i "ssh" /var/log/auth.log
Send authentication logs to a centralized monitoring platform when possible. Create alerts for repeated failures, new administrator accounts, unexpected successful logins, and activity outside normal maintenance windows.
Common SSH Hardening Mistakes
Relying only on a non-standard port: Port changes do not protect weak credentials.
Disabling root access too soon: Create and test another administrative account first.
Locking yourself out: Maintain an existing session while testing changes.
Sharing one private key: Use an individual key for every administrator.
Leaving forwarding enabled: Disable agent forwarding, port forwarding, and X11 forwarding unless a documented workflow requires them.
Ignoring old accounts: Remove inactive accounts and revoke former users' keys promptly.
Skipping recovery tests: Verify emergency access before deploying stricter controls.
Final SSH Security Review
The operating system and OpenSSH packages are regularly updated.
Each administrator has an individual account.
Private keys are protected with strong passphrases.
Direct root login is disabled.
Password login is disabled after successful key testing.
Only approved users or groups can connect.
Firewall or VPN controls limit SSH exposure.
Unused forwarding and tunneling features are disabled.
SSH authentication events are centrally logged.
Emergency access and recovery procedures are tested.
Key takeaway: Secure SSH administration requires several layers working together: strong authentication, least privilege, limited network exposure, carefully tested configuration changes, timely patching, and continuous monitoring.
Conclusion
SSH remains a reliable foundation for remote server administration, but its security depends on how it is configured and maintained. Disabling unnecessary access, enforcing modern authentication, reducing network exposure, and reviewing logs regularly can greatly reduce the risk of unauthorized access.
Treat SSH hardening as part of a broader security program that also includes vulnerability management, backups, centralized logging, endpoint security, and tested incident-response procedures.
Software Vulnerabilities in 2026: Why Patching Matters
Outdated software can give attackers an easy route into a business. Learn how patching and vulnerability management can reduce cyber risk.
Software vulnerabilities are weaknesses that attackers may exploit. They can exist in operating systems, applications, websites, servers, network devices and cloud services.
What Is a Software Vulnerability?
A vulnerability is a weakness in software or configuration that may allow unauthorised access, data theft, malware installation or disruption.
When a provider discovers a weakness, it may release a security update, commonly known as a patch.
Why Patching Matters
Attackers frequently search for systems that have known weaknesses. Delaying a security update may leave a business exposed even after a fix is available.
Patching Is a Business Responsibility
A successful attack can interrupt operations, expose information and create recovery costs. Patching should therefore be part of regular business risk management.
Systems That Require Attention
Operating systems.
Web browsers.
Website content management systems.
Plugins, templates and extensions.
VPN and remote-access software.
Firewalls and routers.
Servers and cloud applications.
Third-party business software.
Build a Practical Patching Process
Create an inventory of hardware and software.
Identify internet-facing systems.
Monitor security updates from suppliers.
Prioritise critical and high-risk vulnerabilities.
Test updates where necessary.
Record completed and delayed updates.
Replace unsupported software.
Review the process regularly.
Website Security and Joomla Extensions
Joomla websites require regular maintenance. Keep Joomla itself, templates, extensions and plugins updated, and remove components that are no longer required.
Website administrator accounts should use strong unique passwords and multi-factor authentication wherever available.
Final Thoughts
Patching is one of the simplest and most important ways to reduce exposure to known software weaknesses.
Maintain an accurate software inventory, prioritise important updates and never leave unsupported systems exposed unnecessarily.
Learning Networking is Fun and Beneficial For Future Careers, Projects or just as a hobby.
Discover The Joy of Understanding Hardware and Networking/Network Security and benefit from it now and start your career today!
About Me
Hi this is my Homelab Project that I had created back in November 2025!
I have been Networking for around 16 years, currently studying CompTIA. My goal & passion is to have a career in Network Engineering & Network Security.