{{Header}} {{#seo: |description=Computer Security Introduction and General Advice. Steps for Better Security before Installing {{project_name_long}}. |image=Abstract-989922-640.jpg }} [[File:Abstract-989922-640.jpg|thumb]] {{intro| {{security_intro}} This page is an introduction to computer security. }} = Introduction = {{mbox | image = [[File:Ambox_warning_pn.svg.png|40px|alt={{project_name_short}} first time users warning]] | text = Before reviewing chapters in the Computer Security section, be sure to also read the [[Warning]] page. }} {{mbox | type = notice | image = [[File:Ambox_notice.png|40px|alt=Info]] | text = Wiki entries in this section purposefully focus on: * General computing security information. * Host operating system security advice. * Preparatory steps before installing {{project_name_short}} using a Type I hypervisor ({{q_project_name_long}}) or a Type II hypervisor like VirtualBox or KVM. }} == Essentials == {{mbox | type = notice | image = [[File:Ambox_notice.png|40px|alt=Info]] | text = ''"Security is a process, not a product."'' -- Bruce Schneier, encryption and security expert. https://www.schneier.com/essays/archives/2000/04/the_process_of_secur.html In other words, security is a continual process -- not an end destination -- that is informed by new knowledge that is constantly gathered. }} It is important to understand that {{project_name_short}} and all general software cannot guarantee absolute anonymity or security; 'perfect security' is a mirage. The reason is flaws in hardware and software are ever-present, as continual upgrades and patches inevitably introduce further coding Security bugs generally fall into two categories: those which pose a passive threat due to eventual erroneous behavior, and the introduction of accidental vulnerabilities that are exploitable with malicious inputs. or design errors which attackers of varying skill can profit from. As a consequence, the best approach is to try and mitigate risk exposure and provide defense in depth. Schneier also notes several other security principles: limit privilege, secure the weakest link, use choke points, fail securely, leverage unpredictability, enlist the users, embrace simplicity, detect attackers, respond to attackers, be vigilant, and watch the watchers. With this understanding, a material improvement in security and anonymity requires 'raising the bar' against potential attackers and eavesdroppers: https://github.com/maqp/tfc/wiki/Threat-model
Security is a process, not a product. It is also about economics. Briefly explained, each attacker has a set of capabilities, privileges, and a certain amount of budget, time and motivation. Given enough of these resources, security of any process will fail; the goal when securing a system is to add layers of security that make attacks too expensive. Nation-state actors have massive budgets, and no single system can be made secure enough against targeted attacks. However, if widely deployed, systems that cannot be compromised with automated attacks, increase the attacker's cost linearly and thus force the attacker to pick targets. Such systems are the only way to make mass surveillance infeasibly expensive.* The Computer Security Education section * [[Post Install Advice|Post-installation Security Advice]] * [[Warning|Warnings]] If you have more time available, then it is recommended to read the [[Documentation]] widely. == Motivation == If motivation is needed to secure your computer, refer to these articles: * [https://krebsonsecurity.com/2012/10/the-scrap-value-of-a-hacked-pc-revisited/ The Scrap Value of a Hacked PC, Revisited (blog post).] * [https://krebsonsecurity.com/2013/06/the-value-of-a-hacked-email-account/ The Value of a Hacked Email Account (blog post).] If the reader is time-poor, then just review the [https://krebsonsecurity.com/wp-content/uploads/2012/10/HackedPC2012.png Hacked PC] or [https://krebsonsecurity.com/wp-content/uploads/2013/06/HE-1-600x333.jpg Hacked Email] figures, or briefly scan the summary tables below. === Hacked PC === US journalist and investigative reporter Brian Krebs notes there are a large number of malicious uses for hacked PCs, including ransomware, bot activity, stolen account credentials, webmail spam and much more. '''Table:''' ''Value of a Hacked PC'' https://krebsonsecurity.com/2012/10/the-scrap-value-of-a-hacked-pc-revisited/ Figure 1. {| class="wikitable" |- ! scope="col"| '''Category''' ! scope="col"| '''Attacker Activity''' |- ! scope="row"| Account Credentials | eBay/Paypal fake auctions Online gaming, website FTP, Skype/VoIP credentials
/home/user
). This is because AppArmor profiles (and possibly other mandatory access control frameworks) are often required to grant read access to the root home folder due to technical limitations. It is far better to use a sub-folder and store the file there, for example:
* Non-ideal storage location: /home/user/some-document
* Safer storage location: /home/user/my-documents/some-document
The following sub-folders in the home directory should also be avoided: /etc/apparmor.d/abstractions/user-download
* ~/tmp
* ~/Download
* ~/Downloads
* ~/download
* ~/downloads
* ~/Desktop
If files are downloaded to the ~/Downloads
folder -- the only folder available if the Tor Browser [[AppArmor]] profile is enforced -- then move them elsewhere. A folder of your own choosing will keep its contents private from any confined application that is later (hypothetically) compromised.
Other folders that should also be avoided include: /etc/apparmor.d/abstractions/ubuntu-browsers.d/user-files
* /media
* /srv
* /net
It is easy to choose folder names which are better than the default naming convention. As soon as a user prepends or appends a random number or string to a folder (such as my-
), this makes it unlikely that AppArmor profiles or possibly other mandatory access control frameworks will allow access to these folders by default.
Another reason is that some commands such as sudo rm -rf /var/lib/apt/lists/*
(sometimes useful in case of APT issues) are unsafe if a typo is made. If a space is added before the asterisk symbol ("*
") by mistake then this would by default delete all files (except hidden files) in the user's current folder (often the home folder). (But not folders in that folder).
Because deleting folders requires rm -r
.
= Known Bugs =
To learn about known bugs affecting all platforms, see [[Known_Issues|here]]. Refer to the [[Reporting_Bugs#Issue_Tracker|issue tracker]] for a list of all all open issues affecting {{project_name_short}}.
= Greater Security and Next Steps =
After reading and applying relevant steps outlined in this section:
* {{non_q_project_name_short}}:
** [[VirtualBox]]: [[Download|download]] and [[Verify the images|verify]] the {{project_name_short}} images before importing them.
** [[KVM]]: Follow the [[KVM#KVM_Setup_Instructions|KVM setup instructions]] to download, verify and import the {{project_name_short}} images.
** [[Qubes|{{q_project_name_short}}]]: Follow the [[Qubes/Install|stable {{q_project_name_short}} instructions]].
In all cases, users should follow the [[Post Install Advice|Post-installation Security Advice]].
For greater security pre- and post-{{project_name_short}} installation, users should read the [[Documentation]] pages widely to learn more about potential threats and mitigations. For instance, users might like to consult the [[Design]] pages, and consider the recommendations outlined in the Basic Security Guide and Advanced Security Guide sections. Users with limited time can refer to the [[System_Hardening_Checklist|System Hardening Checklist]].
== Stay Tuned ==
It is recommended to read the [[Stay Tuned|latest {{project_name_short}} news]] to stay in touch with ongoing developments, such as notifications about important security vulnerabilities, improved {{project_name_short}} releases, other software updates and additional advice.
== Advanced Security Guide ==
After reading this chapter, it is recommended to refer to the [[Advanced_Security_Guide_Introduction|Advanced Security Guide Introduction]] section for even more security advice.
= Footnotes =
{{reflist|close=1}}
{{Footer}}
[[Category:Documentation]]