mirror of
https://github.com/mayfrost/guides.git
synced 2024-11-01 07:26:04 +00:00
Update SECURITY.md
This commit is contained in:
parent
0bad4580d1
commit
32c55cef2b
67
SECURITY.md
67
SECURITY.md
@ -36,50 +36,51 @@ Not necessarily meant to be followed step by step, although it is recommended. S
|
|||||||
|
|
||||||
## Medium Level Security
|
## Medium Level Security
|
||||||
* __Level 17__: Uninstall network facing services like Avahi (Bonjour), CUPS (replace with Line Printer if needed), Telnet, the R-tools (rlogin, rsh, rcp, rwho, rexec), fingerd, and uninstall services if unused like ssh/web/ftp/mail.
|
* __Level 17__: Uninstall network facing services like Avahi (Bonjour), CUPS (replace with Line Printer if needed), Telnet, the R-tools (rlogin, rsh, rcp, rwho, rexec), fingerd, and uninstall services if unused like ssh/web/ftp/mail.
|
||||||
* __Level 20__: Use an [OpenNIC provider](https://servers.opennicproject.org/) known to not save logs together with DNSCrypt to prevent DNS Leaking.
|
* __Level 18__: Use Uncomplicated Firewall ("ufw") to block inbound AND outbound network traffic, permitting only what you need. The graphical version ("Gufw") is beginner-friendly.
|
||||||
* __Level 21__: Use YaCy with collaborative database disabled when in need to search on the web.
|
* __Level 19__: Use YaCy with collaborative database disabled when in need to search on the web.
|
||||||
* __Level 22__: Use the Tor Browser to navigate the internet through Tor.
|
* __Level 20__: Use the Tor Browser to navigate the internet through Tor.
|
||||||
* __Level 18__: Use Uncomplicated Firewall ("ufw") to block inbound AND outbound network traffic, permitting only what you need.
|
* __Level 21__: Encrypt your e-mails with GnuPG when possible. Thunderbird has the Enigmail plugin for this, you can script the use of GPG on Mutt and Mailx.
|
||||||
* __Level 19__: Use Firejail or Bubblewrap to sandbox your applications.
|
* __Level 22__: Use Firejail or Bubblewrap to sandbox your applications.
|
||||||
* __Level 23__: Use [Bastille Linux](http://bastille-linux.sourceforge.net/source.htm) to harden your system.
|
* __Level 23__: Use [Bastille Linux](http://bastille-linux.sourceforge.net/source.htm) to harden your system.
|
||||||
* __Level 24__: Use a command line web browser like links2 and only browse web pages without javascript or cookies when possible.
|
* __Level 24__: Use an [OpenNIC provider](https://servers.opennicproject.org/) known to not save logs together with DNSCrypt to prevent DNS Leaking.
|
||||||
* __Level 25__: Use a source based distro, preferably without crypto libraries on its package manager (no Python). Gentoo is one option, CRUX is advised and it is easy to setup, see [this link](https://github.com/mayfrost/guides/blob/master/INITIATION.md).
|
* __Level 25__: Use a source based distro, preferably without crypto libraries on its package manager (no Python), and tweak the installation files to use the minimum required dependencies. Gentoo is one option, CRUX is another and it is easy, see [this link](https://github.com/mayfrost/guides/blob/master/INITIATION.md).
|
||||||
|
|
||||||
## High Level Security
|
## High Level Security
|
||||||
* __Level 26__: Encrypt your e-mails with GnuPG. Thunderbird has the Enigmail plugin for this, you can script the use of GPG on Mutt.
|
* __Level 26__: Use a command line web browser like links2 and only browse web pages without javascript or cookies when possible.
|
||||||
* __Level 27__: Set a tight configuration for iptables on each port open and drop packets for everything. Use nftables on newer kernels.
|
* __Level 27__: Set a tight configuration for iptables on each port open and drop packets for everything. Use nftables on newer kernels.
|
||||||
* __Level 28__: Use [qmail](https://www.schneier.com/blog/archives/2007/11/thoughts_on_the.html) for your own e-mail server. Exim and cmail are other options.
|
* __Level 28__: Use [qmail](https://www.schneier.com/blog/archives/2007/11/thoughts_on_the.html) for your own e-mail server. Exim and cmail are other options.
|
||||||
* __Level 29__: Use Squid for caching websites.
|
* __Level 29__: Use Squid for caching websites.
|
||||||
* __Level 30__: Set [BIND9](https://unix.stackexchange.com/questions/270716/configure-bind-as-forwarder-only-no-root-hints-encrypted-rpz-blacklist-wh/270796#270796) for caching DNS queries on your local DNS server.
|
* __Level 30__: Set [BIND9](https://unix.stackexchange.com/questions/270716/configure-bind-as-forwarder-only-no-root-hints-encrypted-rpz-blacklist-wh/270796#270796) for caching all DNS queries on your local DNS server.
|
||||||
* __Level 31__: Use port forwarding and a port knocker on your router or server and unregister your reverse dns records.
|
* __Level 31__: Use port forwarding and a port knocker on your router or server and unregister your reverse dns records.
|
||||||
* __Level 32__: Use Arpalert/ArpON (for Man-In-The-Middle -MITM- Detection), [zapret](https://github.com/bol-van/zapret) (for Deep Packet Inspection -DPI- Block and Circumvention), and Suricata/Snort (for Network Intrusion Detection).
|
* __Level 32__: Use Arpalert/ArpON (for Man-In-The-Middle -MITM- Detection), [zapret](https://github.com/bol-van/zapret) (for Deep Packet Inspection -DPI- Block and Circumvention), and Suricata/Snort (for Network Intrusion Detection).
|
||||||
* __Level 33__: Use the IRC, e-mail and torrent services available inside i2p, and use Tor as an outproxy for i2p when in need to access the regular web (only for browsing).
|
* __Level 33__: Compile the kernel yourself and add only necessary features and selected modules. Enable KASLR and Capabilities on kernel configuration.
|
||||||
* __Level 34__: Compile the kernel yourself and add only necessary features and selected modules. Enable KASLR and Capabilities on kernel configuration.
|
* __Level 34__: When possible give your applications a separate user account and use chattr, sudo, chroot, fakeroot, ulimit and quota with them.
|
||||||
* __Level 35__: When possible give your applications a separate user account and use sudo, chroot, fakeroot, ulimit and quota with them.
|
* __Level 35__: Use Lynis to audit your system.
|
||||||
* __Level 36__: Use Lynis to audit your system.
|
* __Level 36__: Use a complete host intrusion detection framework like Tiger, which can work with Samhain (for integrity check), Unhide/Chkrootkit/rkhunter (for rootkit detection), ClamAV/Linux Malware Detect and a system logger like sysklogd.
|
||||||
* __Level 37__: Use a complete host intrusion detection framework like Tiger, which can work with Samhain (for integrity check), Unhide/Chkrootkit/rkhunter (for rootkit detection), ClamAV/Linux Malware Detect and a system logger like sysklogd.
|
* __Level 37__: Use [RSBAC](https://www.rsbac.org/) (for RBAC) with AppArmor (for filesystem ACL).
|
||||||
* __Level 38__: Use [RSBAC](https://www.rsbac.org/) (for RBAC) with AppArmor (for filesystem ACL).
|
|
||||||
|
|
||||||
## Physical Access Counter-Measures
|
## Physical Access Counter-Measures
|
||||||
* __Level 39__: Set a BIOS password (DON'T FORGET THIS PASSWORD!).
|
* __Level 38__: Set a BIOS password (DON'T FORGET THIS PASSWORD!).
|
||||||
* __Level 40__: Use USBGuard (to prevent Juice Jacking).
|
* __Level 39__: Use USBGuard (to prevent Juice Jacking).
|
||||||
* __Level 41__: Use disk encryption with cryptsetup (dm-crypt), saving the key on a separate USB that you keep with yourself at all times.
|
* __Level 40__: Use disk encryption with cryptsetup (dm-crypt), saving the key on a separate USB that you keep with yourself at all times.
|
||||||
* __Level 42__: Move your boot partition to a USB and encrypt it with cryptboot. Use the option on Libreboot too.
|
* __Level 41__: Move your boot partition to a USB and encrypt it with cryptboot. Use the option on Libreboot too.
|
||||||
|
|
||||||
## Costly Counter-Measures
|
## Costly Counter-Measures
|
||||||
* __Level 43__: Buy a VPS in a non-extradition, privacy friendly country outside the Five Eyes under a different name and with a good way of not getting traced by payments, then set up your own VPN server so you can audit all the traffic.
|
* __Level 42__: Buy a VPS in a non-extradition, privacy friendly country outside the Five Eyes under a different name and with a good way of not getting traced by payments, then set up your own VPN server so you can audit all the traffic.
|
||||||
* __Level 44__: Buy a phone with Replicant and libre firmware. Tehnoetic sells an S3 phone with Replicant and only libre firmware enabled, so far is the best option.
|
* __Level 43__: Buy a phone with Replicant and libre firmware. Tehnoetic sells an S3 phone with Replicant and only libre firmware enabled, so far is the best option.
|
||||||
* __Level 45__: Buy a router compatible with LibreCMC and install LibreCMC, keep it up to date and give it a strong password.
|
* __Level 44__: Buy a router compatible with LibreCMC and install LibreCMC, keep it up to date and give it a strong password.
|
||||||
* __Level 46__: Buy a computer compatible with the Libreboot firmware and the Linux-libre kernel, then install both or buy it preinstalled. Thinkpads model x200, t400 and t500 are the best options. Remember to check a compatible Wi-Fi card and physically remove cables connecting cameras and microphones.
|
* __Level 45__: Buy a computer compatible with the Libreboot firmware and the Linux-libre kernel, then install both or buy it preinstalled. Thinkpads model x200, t400 and t500 are the best options. Remember to check a compatible Wi-Fi card and physically remove cables connecting cameras and microphones.
|
||||||
* __Level 47__: Buy a separate camera and microphone and phisically remove any cameras and microphones from your computer.
|
* __Level 46__: Buy a separate camera and microphone and phisically remove any cameras and microphones from your computer.
|
||||||
|
|
||||||
## Deterrent Counter-Measures
|
## Deterrent Counter-Measures
|
||||||
* __Level 48__: Learn to hack yourself first.
|
* __Level 47__: Learn to hack yourself first.
|
||||||
* __Level 49__: Use only libre software (software "free as in freedom").
|
* __Level 48__: Use only libre software (software "free as in freedom").
|
||||||
* __Level 50__: Reduce the amount of software installed in your computer.
|
* __Level 49__: Reduce the amount of software installed in your computer.
|
||||||
* __Level 51__: Opt for text-based programs with less library dependencies than their GUI counterparts.
|
* __Level 50__: Opt for text-based programs with less library dependencies than their GUI counterparts.
|
||||||
* __Level 52__: Support the GPL license as to prevent proprietary license wrapping (as with BSD/MIT/Apache licenses). GPLv3 in specific to prevent tivoization, a hardware level lockout method.
|
* __Level 51__: Support the GPL license as to prevent proprietary license wrapping (as with BSD/MIT/Apache licenses). GPLv3 in specific to prevent tivoization, a hardware level lockout method.
|
||||||
* __Level 53__: Deduplicate efforts and converge strategies to achieve a "tight base system" in common (use the koan "if is not strictly necessary it should be strictly optional, but still optional"), and that means making things modular and avoiding unnecessary dependencies instead of trusting "crypto libraries" like in Python.
|
* __Level 52__: Deduplicate efforts and converge strategies to achieve a "tight base system" in common (use the koan "if is not strictly necessary it should be strictly optional, but still optional"), and that means making things modular and avoiding unnecessary dependencies instead of trusting "crypto libraries" like in Python.
|
||||||
* __Level 54__: Abandon "cloud computing" and traditional, non-publicly auditable, data mined networks and erase your online persona. Use exclusively peer-to-peer services with specific protocols instead of all-in-one networks. Use IRC for live chat, and NNTP for newsgroups (per topic forums, what "social media" should be).
|
|
||||||
* __Level 55__: Abandon the Internet. Participate in local mesh networks and collaborate with global scale meshnet projects like [gternet](https://mesh.gentoo.today/wiki/Main_Page).
|
## Exit Level Security
|
||||||
* __Level 56__: [Don't f\*ck it up](https://www.youtube.com/watch?v=J1q4Ir2J8P8). Protip: you can't.
|
* __Level 53__: Abandon "cloud computing" and traditional, non-publicly auditable, data mined networks and erase your online persona. Use exclusively peer-to-peer services with specific protocols instead of all-in-one networks. Use IRC for live chat, e-mail for direct contact, and NNTP for newsgroups (per topic forums, what "social media" should be). IRC, e-mail and torrent services are available inside i2p, as it is NNTPChan. Tor can serve as an outproxy for i2p to reach the regular web.
|
||||||
|
* __Level 54__: Abandon the Internet. Participate in local mesh networks and collaborate with global scale meshnet projects like [gternet](https://mesh.gentoo.today/wiki/Main_Page).
|
||||||
|
* __Level 55__: [Don't f\*ck it up](https://www.youtube.com/watch?v=J1q4Ir2J8P8). Protip: you can't.
|
||||||
|
Loading…
Reference in New Issue
Block a user