Perfect OpSEC - Become Invisible Online
This series is for educational purposes only. To get back to top-level table click here.
Linux OS Hardening - Basics
This list will cover the basic checklist to preform when you're securing your OS. If you didn't choose a Linux OS, then I can't help you I'm sorry. I'm sure Windows/Mac can be configured to be privacy-focused but I'm not interesting in learning how, and therefore won't be teaching you.
- All sensitive data kept on external encrypted USB
- Setup a non-root account with a strong password
- Ensure disk is encrypted (FDE)
- Enable screensaver with idle timer
- Secure ssh settings (No root remote access, change port, no password auth at least)
-
netstat -lt
-> disable anything you don't need - Firewall is at least enabled. In another guide we'll get hardcore here. (Default is block all incoming and forwarding, allow all outbound.)
- Check for rootkits -> chrootkit
- Keep the machine up to date, always
- Disable Bluetooth
- Remove packages that phone home
- Disable bash history
- Install AV
- Bios Password and disable boot from USB
- Disable mic/webcam
Disable Bash history
unset HISTFILE; unset SAVEFILE
rm ~/.bash_history
ln -s /dev/null ~/.bash_history
export HISTFILE=/dev/null
export SAVEFILE=/dev/null
rm ~/.zsh_history - Kali
ln -s /dev/null ~/.zsh_history - Kali
Remove packages that phone home
sudo apt purge apport popularity-contest -y
sudo apt autoremove
systemctl stop apport.service
systemctl disable apport.service
systemctl mask apport.service
systemctl stop whoopsie.service
systemctl disable whoopsie.service
systemctl mask whoopsie.service
Settings:
- Launch "Settings" from the Application Menu
- Click on "Privacy"
- Change Connectivity Checking -> OFF
- Change "Location Services" to OFF
- Click on "Usage & History" then turn OFF "Recently Used" and put "Retain History" on "1 day"
- Click on "Problem Reporting" and select OFF // Never
Patch some dir permissions
chmod o-w /var/crash
chmod o-w /var/metrics
chmod o-w /var/tmp
Randomize MAC for any Wifi connection
vim /etc/NetworkManager/conf.d/00-macrandomize.conf
:
[device]
wifi.scan-rand-mac-address=yes
[connection]
wifi.cloned-mac-address=random
ethernet.cloned-mac-address=random
connection.stable-id=${CONNECTION}/${BOOT}
Restart NetworkManager
systemctl restart NetworkManager
AppArmor
Install:
apt install -y apparmor-profiles apparmor-utils
Add some basic profiles
aa-enforce /etc/apparmor.d/usr.bin.firefox
aa-enforce /etc/apparmor.d/usr.sbin.avahi-daemon
aa-enforce /etc/apparmor.d/usr.sbin.dnsmasq
aa-enforce /etc/apparmor.d/bin.ping
aa-enforce /etc/apparmor.d/usr.sbin.rsyslogd
Auditing
echo "# Monitor changes and executions within /tmp
-w /tmp/ -p wa -k tmp_write
-w /tmp/ -p x -k tmp_exec" > /etc/audit/rules.d/tmp-monitor.rules
echo "# Monitor administrator access to /home directories
-a always,exit -F dir=/home/ -F uid=0 -C auid!=obj_uid -k admin_home_user" > /etc/audit/rules.d/admin-home-watch.rules
augenrules
systemctl restart auditd.service
chkrootkit
# Install
apt install chkrootkit
# Check if interfaces are in promiscuous mode (they shouldn't be!)
chkrootkit