contentintech

Linux Security Cheatsheet

Quick reference for Linux security — permission bits, hardening commands, SSH config, and audit log locations.

PermissionsHardeningSELinuxAuditing
NotesCheatsheet

Permission Bits / Octal

Octal Symbolic Use
400r--------Read-only key
600rw-------Private file
644rw-r--r--Config/doc
700rwx------Private dir
755rwxr-xr-xExecutable/dir
4755rwsr-xr-xSUID (audit!)
1777rwxrwxrwtSticky (/tmp)

Essential Commands

Command Purpose
chmod 600 fSet octal permissions
chown u:g fSet owner and group
chattr +i fMake immutable
lsattr fShow ext attributes
getcap -r /List file capabilities
setcap cap_net_bind_service=+ep fGrant a capability
umask 027Default-deny group/other

SSH Hardening (sshd_config)

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no
AllowUsers alice bob
MaxAuthTries 3
LoginGraceTime 20
X11Forwarding no
ClientAliveInterval 300
# apply: sudo systemctl reload ssh

ufw Commands

Command Effect
ufw default deny incomingDeny inbound baseline
ufw allow 443/tcpOpen a port
ufw limit 22/tcpRate-limit SSH
ufw allow from 10.0.0.0/24Allow a subnet
ufw enableActivate firewall
ufw status verboseShow rules

SUID / Privesc Audit

# SUID binaries
find / -perm -4000 -type f 2>/dev/null
# SGID binaries
find / -perm -2000 -type f 2>/dev/null
# World-writable files
find / -xdev -type f -perm -0002 2>/dev/null
# Files with capabilities
getcap -r / 2>/dev/null
# Sudo rights for current user
sudo -l

Log File Locations

Path Contents
/var/log/auth.logAuth/SSH (Debian)
/var/log/secureAuth (RHEL)
/var/log/syslogGeneral messages
/var/log/audit/audit.logauditd events
/var/log/faillogFailed logins
journalctlsystemd unified log

SELinux / AppArmor

SELinux AppArmor
getenforceaa-status
setenforce 1aa-enforce <profile>
setenforce 0aa-complain <profile>
sestatusaa-disable <profile>
ausearch -m avcjournalctl audit denials

File Integrity (AIDE)

sudo aideinit                  # build baseline DB
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check              # detect changes vs baseline

Section navigation