Sysadmin Cheatsheet

Networking Fundamentals

OSI · IPv4 · TCP/UDP · DNS

OSI Model
#LayerProtocol / TechKey Role
7ApplicationHTTP, FTP, DNS, SMTP, SNMPUser-facing data exchange
6PresentationSSL/TLS, JPEG, ASCIIEncoding, encryption, compression
5SessionNetBIOS, RPC, PPTPOpen/maintain/close sessions
4TransportTCP, UDPSegmentation, ports, reliability
3NetworkIP, ICMP, OSPF, BGPLogical addressing, routing
2Data LinkEthernet, MAC, ARP, VLANsPhysical addressing, framing
1PhysicalCables, hubs, bits, NICsRaw bit transmission
IPv4 Address Ranges
RangeTypeNotes
10.0.0.0/8PrivateClass A, large networks
172.16.0.0/12PrivateClass B (172.16-31.x)
192.168.0.0/16PrivateClass C, home/SOHO
127.0.0.0/8Loopback127.0.0.1 = localhost
169.254.0.0/16APIPAAuto-assigned when DHCP fails
224.0.0.0/4MulticastOne-to-many delivery
0.0.0.0UnspecifiedDefault route / all interfaces
DNS Record Types
RecordPurposeExample
AIPv4 addressexample.com → 93.184.216.34
AAAAIPv6 addressexample.com → 2606:…
CNAMECanonical aliaswww → example.com
MXMail serverPriority + mail host
NSNameserversDelegates zone authority
TXTText dataSPF, DKIM, site verification
SOAZone authorityPrimary NS, serial, TTLs
PTRReverse DNSIP → hostname lookup
SRVService location_sip._tcp.example.com
TCP vs UDP
PropertyTCPUDP
ConnectionConnection-oriented (3-way handshake)Connectionless, no handshake
ReliabilityGuaranteed delivery, retransmits lost packetsBest-effort, packets may be lost
OrderingSequenced delivery guaranteedOut-of-order delivery possible
SpeedSlower (overhead from acks, windowing)Faster, minimal overhead
Use casesHTTP/S, SSH, FTP, SMTP, RDP, databasesDNS, DHCP, VoIP, video streams, NTP

CIDR & Subnets

Subnet masks · Host counts · Block sizes

CIDRSubnet MaskHostsBlock SizeExample / Use
/8255.0.0.016,777,21416M10.0.0.0/8 - large org
/16255.255.0.065,53464K172.16.0.0/16 - campus
/20255.255.240.04,0944KAWS default VPC subnets
/24255.255.255.0254256192.168.1.0/24 - typical LAN
/25255.255.255.128126128192.168.1.0/25 - split /24 in half
/26255.255.255.1926264192.168.1.0/26 - quarter of a /24
/27255.255.255.2243032192.168.1.0/27 - small dept segment
/28255.255.255.2401416192.168.1.0/28 - server cluster
/29255.255.255.24868Point-to-point link
/30255.255.255.25224Router-to-router link
/31255.255.255.25422RFC 3021 p2p (no broadcast)
/32255.255.255.25511Single host route / loopback

Tip: Usable hosts = 2n - 2 (subtract network + broadcast). /31 is the exception (RFC 3021).

Ports & VPN Technologies

Well-known ports · VPN protocols

Well-Known Ports
Port(s)ProtocolServiceNotes
20 / 21TCPFTP20=data, 21=control. Use SFTP/FTPS instead
22TCPSSH / SFTP / SCPSecure remote shell and file transfer
23TCPTelnetPlaintext - disable, use SSH
25TCPSMTPMail relay between servers
53TCP/UDPDNSUDP for queries, TCP for zone transfers/large
67 / 68UDPDHCP67=server, 68=client
80TCPHTTPUnencrypted web - redirect to 443
88TCP/UDPKerberosAuthentication in AD environments
110TCPPOP3Email retrieval - use POP3S (995)
123UDPNTPTime sync - critical for Kerberos/logs
143TCPIMAPEmail access - use IMAPS (993)
161 / 162UDPSNMP161=poll, 162=trap. Use v3 with auth
389TCP/UDPLDAPDirectory services - use LDAPS (636)
443TCPHTTPSHTTP over TLS. Also used by some VPNs
445TCPSMBWindows file shares - block at perimeter
465 / 587TCPSMTPS / SMTP-TLSEncrypted mail submission
514UDPSyslogLog forwarding - use TLS syslog (6514)
636TCPLDAPSLDAP over TLS
993TCPIMAPSIMAP over TLS
995TCPPOP3SPOP3 over TLS
1433TCPMS SQL ServerDefault SQL Server port
1521TCPOracle DBOracle database listener
3306TCPMySQL / MariaDBCommon web app database port
3389TCPRDPRemote Desktop - never expose to internet
5432TCPPostgreSQLDefault Postgres port
5900TCPVNCRemote desktop - use only over VPN/tunnel
6379TCPRedisNo auth by default - bind to localhost
8080 / 8443TCPHTTP/S AltDev servers, proxies, alt web services
27017TCPMongoDBNo auth by default - secure before exposing
VPN Technologies
TypeProtocolPort(s)Notes
IPSec / IKEv2ESP / IKEUDP 500 / 4500Fast, native on most OS, preferred for site-to-site
OpenVPNTLSUDP/TCP 1194Flexible, open-source, common for remote access
WireGuardUDP51820Modern, minimal code, fastest throughput
SSL VPNHTTPSTCP 443Works through firewalls, browser or client-based
L2TP/IPSecL2TP + ESPUDP 1701 / 500 / 4500Common legacy, double-encapsulation overhead; 4500 for NAT-T
PPTPGRE + TCPTCP 1723Obsolete - broken crypto, avoid

Security, Threats & Hardening

Attacks · Hardening · Crypto · Auth

Threat / Attack Reference
CategoryAttackDescription
PhishingPhishing / Spear / WhalingFraudulent emails targeting all users / specific individuals / executives
PhishingVishing / SmishingVoice call or SMS-based social engineering
Web AppSQL InjectionMalicious SQL inserted into input fields to query or corrupt the DB
Web AppXSS (Cross-Site Scripting)Injected scripts execute in victim's browser via a trusted site
Web AppCSRFForged request tricks authenticated user into unwanted action
Web AppIDORAccessing objects by changing an ID in the URL/request
MalwareRansomwareEncrypts files, demands payment for key
MalwareRootkitHides malware presence at OS/kernel level
MalwareKeyloggerRecords keystrokes to capture credentials
NetworkMITMAttacker intercepts communication between two parties
NetworkARP SpoofingLinks attacker MAC to legitimate IP to intercept LAN traffic
NetworkDDoS / SYN FloodOverwhelm target with traffic / half-open TCP connections
Social Eng.Pretexting / TailgatingFabricated scenario to obtain info / following into secure area
InsiderPrivilege EscalationExploiting vuln or misconfiguration to gain higher access
Hardening Checklist
Action
DODisable unused ports and services
DOEnable MFA / 2FA on all accounts
DOApply least privilege (PoLP) everywhere
DOPatch OS within 30 days of release
DOEnable host-based firewall (UFW/iptables)
DOUse key-based SSH auth, disable password auth
DODisable root SSH login (PermitRootLogin no)
DOEncrypt data at rest and in transit
DOLog and monitor all auth events
DON'TUse default credentials on any device
DON'TRun services as root unnecessarily
DON'TExpose RDP / management ports to internet
DON'TDisable SELinux/AppArmor without a plan
DON'TStore plaintext credentials in scripts/repos
Cryptography Algorithms
AlgorithmTypeKey Size / Notes
AES-256Symmetric256-bit. NIST standard, fastest for bulk data
ChaCha20SymmetricStream cipher, faster than AES on mobile
RSAAsymmetric2048+ min (4096 recommended for long-term)
ECDSA / ECDHAsymmetricECC - same security as RSA with shorter keys
Ed25519AsymmetricPreferred for SSH keys, fast and secure
SHA-256 / SHA-3HashUse for integrity checks, digital signatures
bcrypt / Argon2Password hashArgon2 is winner of Password Hashing Competition
TLS 1.3ProtocolOnly version to use - 1.0/1.1 deprecated, 1.2 legacy
Authentication Methods
MethodUse Case
Password + MFA/TOTPBaseline for all user accounts
SSH Key Pairs (Ed25519)Server access, CI/CD pipelines
PKI / X.509 CertificatesTLS, client auth, code signing
OAuth 2.0 / OIDCWeb app delegation, "Sign in with Google"
SAML 2.0Enterprise SSO, IdP federation
KerberosActive Directory authentication (tickets)
RADIUSNetwork access (WiFi 802.1X, VPN auth)
LDAP / Active DirectoryCentralized user/group directory

OS & Commands

Linux · Windows/PS · Storage · RAID · Backup

Linux - Process & Performance
CommandDescription
top / htopReal-time process monitor. htop is interactive
ps auxAll processes with user and CPU/mem usage
ps aux | grep nginxFind process by name
kill -9 <PID>Force-kill process by PID (SIGKILL)
pkill -f nginxKill all processes matching name pattern
systemctl status sshdCheck service status (systemd)
systemctl restart nginxRestart a systemd service
systemctl enable nginxEnable service to start on boot
journalctl -u nginx -fFollow systemd logs for a service
free -hMemory usage in human-readable format
vmstat 1CPU/IO/memory stats every 1 second
uptimeSystem uptime and load averages (1/5/15 min)
Linux - Networking & Firewall
CommandDescription
ip addr showShow all network interfaces and IP addresses
ip route showDisplay routing table
ss -tulnpTCP/UDP listening ports with process names
netstat -tulnpListening ports (legacy, use ss on modern systems)
ping -c 4 8.8.8.8Test connectivity (4 packets)
traceroute 8.8.8.8Trace route hops to destination
nmap -sV -p 1-1000 <IP>Scan top 1000 ports with service version
dig example.com ADNS lookup for A record
curl -I https://example.comFetch HTTP response headers only
Linux - Files, Permissions & Users
CommandDescription
chmod 755 filerwxr-xr-x - owner full, group/other read+exec
chmod u+x script.shAdd execute permission for owner
chown user:group fileChange file owner and group
find / -perm -4000Find all SUID binaries (privilege escalation risk)
useradd -m -s /bin/bash uCreate user with home dir and bash shell
usermod -aG sudo usernameAdd user to sudo group
passwd usernameSet or change user password
grep -r "error" /var/log/Recursively search logs for "error"
tail -f /var/log/syslogFollow log file in real-time
df -hDisk usage by filesystem in human-readable
du -sh /var/log/*Size of each item in /var/log
tar -czf out.tar.gz /dirCreate gzipped tarball of directory
rsync -avz src/ dest/Sync files with verbose output and compression
Linux Filesystem Hierarchy
PathWhat Lives Here
/Root of the entire filesystem tree - everything hangs off here
/binEssential user binaries (ls, cp, mv, bash) needed before /usr is mounted
/sbinEssential system binaries for root (fdisk, ifconfig, init, fsck)
/usrRead-only user data: most installed apps, libraries, and docs go here
/usr/binNon-essential user commands (gcc, python3, git, curl, vim)
/usr/localLocally compiled or admin-installed software - not managed by the package manager
/etcSystem-wide configuration files (/etc/ssh/sshd_config, /etc/hosts, /etc/cron.d)
/varVariable data that grows: logs (/var/log), mail, spool, databases, package cache
/var/logSystem and service logs (syslog, auth.log, dmesg, journald writes here)
/tmpTemporary files - cleared on reboot, world-writable, no exec in hardened configs
/homeUser home directories (/home/alice). Root's home is /root, not here
/rootHome directory for the root account
/devDevice files: disks (/dev/sda), terminals (/dev/tty), null (/dev/null)
/procVirtual FS exposing kernel and process info (/proc/cpuinfo, /proc/meminfo)
/sysVirtual FS for kernel devices and drivers - used by udev and hardware management
/bootKernel images, initramfs, and GRUB config - keep separate partition for safety
/libShared libraries needed by /bin and /sbin at boot
/optOptional third-party software installed as self-contained packages (e.g. /opt/splunk)
/mntTemporary mount point for manually mounted filesystems
/mediaAuto-mount point for removable media (USB drives, DVDs)
/srvService data served to the network (web root, FTP files)
/runRuntime data since last boot: PID files, sockets, lock files (tmpfs)
Windows Filesystem Hierarchy

Drive-letter based (C:, D:). NTFS is standard - supports permissions, ACLs, compression, and encryption.

PathWhat Lives Here
C:\Root of the drive - each volume has its own root under a drive letter
C:\WindowsOS root containing system binaries, configuration files, and critical subdirectories
C:\Windows\System3264-bit system executables, DLLs, and management tools (cmd.exe, notepad.exe, etc.)
C:\Windows\SysWOW6432-bit system binaries for backward compatibility on 64-bit Windows
C:\Windows\System32\driversKernel-mode drivers (.sys files) loaded at boot
C:\Windows\TempSystem-wide temporary files - safe to clear periodically
C:\Program FilesDefault install directory for 64-bit applications
C:\Program Files (x86)Default install directory for 32-bit applications on 64-bit Windows
C:\ProgramDataSystem-wide app data and config shared across all users (hidden by default)
C:\Users\PublicShared folder accessible to all local users
C:\Users\%USERNAME%Per-user profile root - contains all personal folders and app data
...\AppData\RoamingPer-user config that follows domain profiles (Outlook, VS Code settings, etc.)
...\AppData\LocalLocal-only app data: cache, application state, Temp subfolder
...\AppData\Local\TempUser-specific temp files - a common target for malware drops
...\Desktop / DownloadsStandard personal folders inside each user profile
Windows / PowerShell
CommandDescription
Get-ProcessList all running processes (PS)
Stop-Process -Name notepadKill process by name (PS)
Get-Service | Where Status -eq RunningList only running services (PS)
systeminfoOS version, RAM, hotfixes, uptime
net user /domainList domain users
net localgroup administratorsList local admins
Get-HotFix | Sort-Object InstalledOn -DescendingInstalled Windows Updates and KBs, newest first
Get-ExecutionPolicyCheck current PowerShell script execution policy
Get-CimInstance Win32_OperatingSystem | select LastBootUpTimeWhen the system last rebooted
Get-WinEvent -LogName Security -MaxEvents 50Recent Security event log entries (PS)
RAID Types
RAIDMethodMin DisksFault Tolerance
RAID 0Striping2None - any disk failure = total loss
RAID 1Mirroring21 disk failure tolerated
RAID 5Stripe + parity31 disk failure tolerated
RAID 6Stripe + dual parity42 disk failures tolerated
RAID 10Stripe of mirrors41 per mirror pair
Backup Strategy Types
TypeWhat It Backs UpSpeedRestore
FullAll data every timeSlowestSingle set - fastest restore
IncrementalChanges since last backup (any)FastestNeed all incrementals + last full
DifferentialChanges since last full onlyMediumLast full + latest differential
SnapshotPoint-in-time copy (CoW)InstantInstant rollback, storage overhead
Windows Networking
CommandDescription
ipconfig /allFull adapter info including MAC address, DNS servers, DHCP lease, and gateway
netstat -anoAll active TCP/UDP connections with associated PIDs (legacy but universal)
Get-NetTCPConnectionModern netstat equivalent - active TCP connections with state and owning process ID
Get-DnsClientCacheView locally cached DNS records - useful for diagnosing stale or poisoned entries
Get-NetRouteDisplay the full routing table - equivalent to route print
Get-NetAdapterList physical and virtual network adapters with link speed and status
(Invoke-RestMethod ipinfo.io/json).ipRetrieve public egress IP address from PowerShell - no browser needed
Restart-Computer -ComputerName "PC01" -ForceRemotely restart a machine by name - requires WinRM or admin share access
Windows Storage & Services
CommandDescription
Get-DiskList all physical disks with size, partition style (MBR/GPT), and health status
Get-VolumeShow all volumes with drive letter, filesystem, total size, and free space
Get-PhysicalDisk | select FriendlyName, HealthStatus, OperationalStatusSMART-based health status per physical disk - spot failing drives early
Get-ChildItem C:\Path -Recurse | Measure-Object -Sum LengthCalculate total disk usage of a directory tree in bytes
Get-Service | Where Status -eq RunningList only services currently in a Running state
Get-Service | where Status -eq 'StartPending'Find services stuck in Starting - indicates a hung or deadlocked service
Restart-Service -Name sshdRestart a named service by its service name (not display name)
Get-CimInstance Win32_Service | select Name, PathName, StartModeService binary path and start mode - useful for spotting malicious service installs

Logs & Monitoring

Linux logs · Windows Event IDs · Cron

Linux Log Paths
Path / CommandContents
/var/log/auth.logSSH logins, sudo, auth failures (Debian/Ubuntu)
/var/log/secureSame as auth.log on RHEL/CentOS
/var/log/syslogGeneral system messages and daemon output
/var/log/messagesKernel + system messages (RHEL/CentOS)
/var/log/kern.logKernel ring buffer messages
/var/log/nginx/access.logHTTP requests to Nginx web server
/var/log/nginx/error.logNginx errors and connection issues
/var/log/apache2/error.logApache web server errors
/var/log/cronCron job execution history
journalctl -u nginxSystemd journal for a specific service
journalctl -b -p errAll errors since last boot (systemd)
Windows Event IDs
Event IDLogMeaning
4624SecuritySuccessful logon
4625SecurityFailed logon attempt
4648SecurityLogon with explicit credentials (runas)
4672SecuritySpecial privileges assigned to new logon
4688SecurityNew process created (process tracking)
4720SecurityUser account created
4740SecurityAccount locked out
4776SecurityDC validated credentials (NTLM)
7045SystemNew service installed on the system
1102SecurityAudit log cleared - investigate immediately
Log Query Tools
Tool / CommandUse
Event Viewer (eventvwr.msc)Windows GUI for all event logs
Get-WinEvent -LogName SecurityPowerShell security log access
grep "Failed" /var/log/auth.logFilter failed SSH attempts
last -n 20Last 20 logins from /var/log/wtmp
lastbFailed login attempts (/var/log/btmp)
Cron Job Syntax
FieldRangeExampleMeaning
Minute0-5930At minute 30
Hour0-2314At 14:00 (2pm)
Day/Month1-311On the 1st of month
Month1-12*/3Every 3 months
Day/Week0-71-5Mon-Fri (0=7=Sunday)
*any*Every value in field
*/nstep*/15Every n units
,list1,15,30At specific values
Cron ExpressionSchedule
0 2 * * *Every day at 02:00
*/5 * * * *Every 5 minutes
0 0 1 * *First day of every month, midnight
30 8 * * 1-5Weekdays at 08:30
0 */4 * * *Every 4 hours on the hour
@reboot /path/scriptRun once at system startup
0 3 * * 0Weekly Sunday at 03:00
0 12 1 1 *Yearly - January 1st at noon

Certificates & Firewall

OpenSSL · UFW · iptables

OpenSSL Certificate Commands
CommandPurpose
openssl x509 -in cert.pem -text -nooutInspect cert: expiry, SAN, issuer, subject
openssl req -new -key key.pem -out csr.pemGenerate CSR from existing private key
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365Self-signed cert with new 4096-bit RSA key
openssl verify -CAfile ca.pem cert.pemVerify cert chain against a CA bundle
openssl s_client -connect host:443Test TLS handshake, view cert chain live
openssl pkcs12 -export -out bundle.pfxExport cert + key to PFX/PKCS12 format
openssl dhparam -out dh.pem 2048Generate Diffie-Hellman params for TLS
certbot renew --dry-runTest Let's Encrypt auto-renewal (Certbot)
certbot certonly --nginx -d example.comIssue/renew cert for nginx domain
UFW / iptables Rules
CommandAction
ufw enableActivate UFW firewall
ufw status verboseShow all rules with details
ufw allow 22/tcpAllow SSH (TCP port 22)
ufw allow from 10.0.0.0/8Allow all traffic from subnet
ufw deny 23Block Telnet port
ufw delete allow 80/tcpRemove a specific allow rule
iptables -L -n -vList all iptables rules with packet counts
iptables -A INPUT -p tcp --dport 443 -j ACCEPTAccept HTTPS inbound traffic
iptables -A INPUT -j DROPDrop all other inbound (default deny)
iptables-save > /etc/iptables.rulesPersist iptables rules across reboots

DevOps Tools

Docker · Git · Kubernetes basics · IaC

Docker Essential Commands
CommandDescription
docker build -t name:tag .Build image from Dockerfile in current dir
docker run -d -p 80:80 --name c nginxRun detached container with port mapping
docker ps -aList all containers (running + stopped)
docker exec -it <id> bashOpen interactive shell in running container
docker logs -f <id>Follow container log output
docker stop <id>Gracefully stop a container (SIGTERM)
docker rm <id>Remove stopped container
docker imagesList locally stored images
docker rmi name:tagDelete a local image
docker pull nginx:alpinePull image from Docker Hub
docker push registry/img:tagPush image to registry
docker-compose up -dStart all services in docker-compose.yml
docker system prune -afRemove all unused containers, images, networks
docker inspect <id>Full JSON metadata for container/image
Git Essentials
CommandDescription
git initInitialize new local repository
git clone <url>Clone remote repository locally
git statusShow working tree and staging area status
git add -pInteractively stage chunks of changes
git commit -m "message"Commit staged changes with message
git push origin mainPush local commits to remote
git pull --rebaseFetch and rebase onto remote changes
git branch -aList all local and remote branches
git checkout -b feature/xCreate and switch to new branch
git merge --no-ff feature/xMerge feature branch, preserve history
git stash popApply most recent stash and remove it
git log --oneline --graphCompact visual branch history
git reset HEAD~1Undo last commit, keep changes staged
git revert <hash>Create new commit that undoes a past commit
DevOps Tool Landscape
CategoryTools
ContainersDocker, Podman, containerd
OrchestrationKubernetes, Docker Swarm, Nomad
CI/CDGitHub Actions, GitLab CI, Jenkins, CircleCI
IaCTerraform, Pulumi, CloudFormation, Bicep
Config MgmtAnsible, Chef, Puppet, SaltStack
MonitoringPrometheus, Grafana, Datadog, New Relic
LoggingELK Stack, Loki, Splunk, CloudWatch
SecretsHashiCorp Vault, AWS Secrets Manager, SOPS

Networking Deep Dive

DNS resolution · Cables · WiFi 802.11

DNS Resolution - 8-Step Process
StepWho ActsWhat Happens
1Browser / OSCheck local DNS cache (TTL-based). If hit, done.
2OSCheck /etc/hosts (Linux) or C:\Windows\System32\drivers\etc\hosts
3OS to ResolverQuery sent to configured recursive resolver (ISP or 8.8.8.8)
4Resolver to RootResolver queries a root server (.) - 13 root server clusters
5Resolver to TLDRoot refers resolver to .com / .org / .io TLD server
6Resolver to Auth NSTLD refers resolver to the authoritative nameserver for the domain
7Auth NS respondsReturns A/AAAA record (the actual IP address)
8Resolver cachesStores result per TTL, returns to client. Client caches too.
Cable Types
CableMax SpeedMax LengthNotes
Cat5100 Mbps100mObsolete, avoid for new installs
Cat5e1 Gbps100mMinimum current standard
Cat610 Gbps55mCommon for new installs
Cat6A10 Gbps100m10G at full 100m distance
Cat710 Gbps100mShielded, proprietary connectors
Fiber MM10+ Gbps2kmMultimode, shorter runs, cheaper
Fiber SM100+ Gbps100kmSingle-mode, long distance, datacenter
T568BStd-Orange-wh, Orange, Green-wh, Blue… (standard)
T568AStd-Crossover: swap pairs 2 and 3 from T568B
WiFi 802.11 Standards
StandardBandMax SpeedNotes
802.11b2.4 GHz11 MbpsLegacy, long range, slow
802.11g2.4 GHz54 MbpsBackward compat with b
802.11n2.4/5 GHz600 MbpsMIMO, dual band - WiFi 4
802.11ac5 GHz3.5 GbpsWave 2, MU-MIMO - WiFi 5
802.11ax2.4/5/6 GHz9.6 GbpsOFDMA, BSS coloring - WiFi 6/6E
802.11be2.4/5/6 GHz46 GbpsMulti-link operation - WiFi 7
Cloud Service Models
ModelYou ManageExamples
IaaSOS, runtime, apps, dataAWS EC2, Azure VMs, GCP Compute
PaaSApp and data onlyHeroku, Azure App Service, App Engine
SaaSNothing (just use it)Office 365, Salesforce, Gmail
FaaSCode onlyAWS Lambda, Azure Functions, Cloud Run

Cloud Platforms - AWS & Azure

Core services · IAM · VNet/VPC · Shared responsibility

AWS Core Services
ServiceCategoryWhat it Does
EC2ComputeVirtual machines - pay-as-you-go, reserved, or spot pricing
LambdaComputeServerless functions - event-driven, pay-per-execution
ECS / EKSContainersECS = managed containers; EKS = managed Kubernetes
S3StorageObject storage - 11-nines durability, unlimited scale
EBSStorageBlock storage volumes attached to EC2 instances
EFSStorageManaged NFS for Linux - shared across multiple EC2s
RDSDatabaseManaged SQL DB - MySQL, Postgres, SQL Server, Oracle, Aurora
DynamoDBDatabaseFully managed NoSQL - key-value and document model
VPCNetworkingIsolated virtual network with subnets, route tables, NACLs, SGs
Route 53NetworkingDNS + health checks + routing policies (failover, latency, geo)
CloudFrontNetworkingCDN with 400+ PoPs, caches S3/EC2 content globally
IAMSecurityUsers, groups, roles, and policies for access control
CloudWatchMonitoringMetrics, logs, alarms, dashboards for all AWS services
CloudFormationIaCInfrastructure as Code using JSON/YAML templates
Azure Core Services
ServiceCategoryWhat it Does
Virtual MachinesComputeIaaS VMs - VM Scale Sets for autoscaling, Availability Zones for HA
App ServiceComputePaaS web hosting - no OS management, built-in autoscale, deployment slots
Azure FunctionsComputeServerless event-driven code - pay-per-execution
ACI / AKSContainersACI = serverless containers; AKS = managed Kubernetes cluster
Blob StorageStorageObject store - Hot/Cool/Archive tiers, lifecycle management
Azure DiskStorageManaged disks: Standard HDD, Standard SSD, Premium SSD
Azure FilesStorageManaged SMB/NFS file shares - cloud and hybrid use
Azure SQL / Cosmos DBDatabaseManaged SQL; Cosmos = multi-model NoSQL (DynamoDB equivalent)
VNetNetworkingIsolated virtual network with subnets, NSGs, route tables, peering
Azure DNSNetworkingHost DNS zones, manage records, private DNS zones for VNets
Azure CDN / Front DoorNetworkingCDN delivery + global load balancing with WAF
Azure AD (Entra ID)IdentityCloud identity: users, groups, MFA, SSO, Conditional Access
Azure MonitorMonitoringMetrics, Log Analytics workspace, alerts, Application Insights
ARM Templates / BicepIaCJSON/Bicep Infrastructure as Code for Azure resources
AWS vs Azure Service Mapping
AWSAzureCategory
EC2Virtual MachinesCompute
LambdaAzure FunctionsServerless
ECS / EKSACI / AKSContainers
S3Blob StorageObject Store
EBSAzure DiskBlock Storage
EFSAzure FilesFile Share
RDSAzure SQL DatabaseManaged SQL
DynamoDBCosmos DBNoSQL DB
VPCVNetNetworking
Security GroupsNSG (Network Security Group)Firewall
Route 53Azure DNSDNS
CloudFrontAzure CDN / Front DoorCDN
IAMAzure AD + RBACIdentity
CloudWatchAzure MonitorMonitoring
CloudFormationARM Templates / BicepIaC
Direct ConnectExpressRoutePrivate Link
AWS VPN GatewayAzure VPN GatewayVPN
AWS ConfigAzure PolicyCompliance
Azure RBAC Built-in Roles
RoleReadGrantCreate/DelScope
OwnerFull control of all resources
ContributorAll actions except access grants
ReaderView only, no changes
User Access AdminManage user access only
Global Admin (AAD)---All Azure AD resources
User Admin (AAD)---Users, groups, passwords
AWS vs Azure Pricing
ModelAWSAzure
Pay-as-you-goOn-DemandPay-as-you-go
Reserved (1-3yr)Reserved InstancesReserved Instances
Spot / PreemptibleSpot InstancesSpot VMs (up to 90% off)
Savings PlansCompute Savings PlansAzure Savings Plan
IngressFreeFree
EgressCharged (per GB)Charged (per GB out)
Shared Responsibility Model
LayerOn-PremisesIaaSPaaSSaaS
Physical DC / HardwareYOUProviderProviderProvider
Hypervisor / Host OSYOUProviderProviderProvider
Guest OS / RuntimeYOUYOUProviderProvider
Middleware / ApplicationYOUYOUYOU (app)Provider
Data / ContentYOUYOUYOUYOU
Network ConfigurationYOUSharedSharedProvider
Identities / AccountsYOUYOUYOUYOU
VNet / VPC Key Concepts
ConceptAWS (VPC)Azure (VNet)
Address SpaceCIDR block (e.g. 10.0.0.0/16)CIDR block, can add multiple prefixes
SubnetsPublic (IGW route) / PrivateAny subnet - NSG controls inbound/outbound
Firewall (stateful)Security Groups (instance level)Network Security Groups (NSG)
Firewall (stateless)NACLs (subnet level)NSG has stateful rules, no separate NACL
PeeringVPC Peering (same/cross-region)VNet Peering / Global VNet Peering
Private WANDirect ConnectExpressRoute
VPNAWS VPN GatewayAzure VPN Gateway
NATNAT Gateway (managed, per-AZ)NAT Gateway (managed)
DNSRoute 53 / VPC DNS (169.254.169.253)Azure DNS / Private DNS Zones
Flow LogsVPC Flow Logs to S3/CloudWatchNSG Flow Logs to Storage/Log Analytics
HA vs Fault Tolerance vs Disaster Recovery
ConceptGoalDowntimeAWS ExampleAzure Example
High AvailabilityKeep running despite single failuresMinutes (auto-heal)Multi-AZ RDS, ALB across AZsAvailability Zones, Azure Load Balancer
Fault ToleranceZero downtime, no errors, continuousNear zeroS3 (11-nines), DynamoDB, Global TablesCosmos DB, Storage LRS/ZRS/GRS
Disaster RecoveryRestore after regional catastropheHours (RTO goal)Pilot light, warm standby, multi-regionAzure Site Recovery, geo-replication

RPO (Recovery Point Objective) = max acceptable data loss in time. RTO (Recovery Time Objective) = max acceptable downtime after disaster.

Resources & Tools

Communities · Core tools · Diagnostics

Communities & Learning
ResourceURL / LocationWhat it Covers
r/sysadmin · r/linux · r/linuxadmin · r/netsecreddit.comCommunity Q&A, incident threads, war stories, tooling discussions
Brutalist Reportbrutalist.reportDaily tech & security headlines, aggregated and unformatted
Microsoft Learnlearn.microsoft.comFree official docs, learning paths, and certifications for Azure, Windows, and M365
O'Reilly Topicsoreilly.com/topicsBroad technical learning - books, videos, courses
Ask Ubuntuaskubuntu.comUbuntu-focused Q&A, highly indexed by search engines
DigitalOcean Tutorialsdigitalocean.comClear, practical guides for Linux, OSS, and infra topics
ServerFaultserverfault.comStack Exchange for professional sysadmins and network engineers
Core Tools
ToolURL / SourceWhat it Does
MX Toolboxmxtoolbox.comDNS, mail, SPF / DMARC / DKIM checks in one place
Sysinternals SuiteMicrosoft / learn.microsoft.comWindows diagnostics & troubleshooting (Process Monitor, Autoruns, TCPView…)
PuTTYputty.orgSSH, Telnet, serial - still essential for Cisco and console work
WinSCPwinscp.netFast file transfer over FTP / SFTP / SSH with GUI
Angry IP Scanner / Advanced IP Scannerangryip.orgQuick network sweeps - host discovery and port scan
WinDbgMicrosoft Store / WDKWindows kernel and crash dump debugging
Wiresharkwireshark.orgPacket capture and deep protocol analysis
Rufusrufus.ieWrite bootable USB images (ISO → USB) on Windows
Nmapnmap.orgNetwork scanning, host discovery, OS fingerprinting, port enumeration
OpenSSLopenssl.orgTLS, certificate generation, cert inspection, and crypto utilities
Gitgit-scm.comVersion control for scripts, configs, and infrastructure-as-code
Crontab Gurucrontab.guruCron expression editor and validator - instant visual feedback
cheat.shcheat.shInstant CLI cheatsheets from the terminal: curl cheat.sh/tar
End-of-Life Infoendoflife.dateSupport and EoL timelines for OS, runtimes, databases, and tools
Diagnostics & Security
ToolURLWhat it Does
WhatIsMyIPAddresswhatismyipaddress.comIP lookup with strong GeoIP resolution - useful for egress verification
Cloudflare Speed Testspeed.cloudflare.comClean download / upload / latency test - no ads, no Flash
VirusTotalvirustotal.comMalware and URL scanning across 60+ antivirus engines simultaneously
ANY.RUNapp.any.runInteractive sandbox for malware and phishing analysis - watch execution live
No results found. Try a different search term.