GithubHelp home page GithubHelp logo

brianlovin / security-checklist Goto Github PK

View Code? Open in Web Editor NEW
921.0 921.0 76.0 3.87 MB

A checklist for staying safe on the internet

Home Page: https://brianlovin.com/security

License: MIT License

JavaScript 100.00%
javascript nextjs privacy-protection react security-tools styled-components

security-checklist's Introduction

security-checklist's People

Contributors

1t3x avatar arebee avatar brianjking avatar brianlovin avatar csergiu avatar dependabot-preview[bot] avatar dependabot[bot] avatar depfu[bot] avatar diklein avatar dmleong avatar felixfoertsch avatar irl avatar jgallias avatar joachimesque avatar jonathan-s avatar jonathanspeek avatar jpry avatar jschauma avatar keyes avatar lucaorio avatar mknepprath avatar prichodko avatar rakleed avatar resto1231 avatar rob-patchett avatar rohanjamkhedkar avatar sebslomski avatar strayiker avatar tambry avatar zachflower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

security-checklist's Issues

Mobile keyboard app

Using a keyboard app that has network permissions (like Google's Gboard) is a privacy risk - these apps can contain keyloggers.

Even if the keyboard app does not have network permissions, it still might have storage permissions and keep the information on the accessible storage for another installed app that does have these network permissions that could then send it.

There are keyboards with no network permissions (e.g. AnySoftKeyboard) that have only optional storage permissions that are better in this regard.

"Use a password manager" section

What about iCloud Keychain? I find it incredibly useful and I understand it's for Apple platform. Why was it not mentioned in there?

Make sections collapsible

My wife mentioned that it doesn't necessarily "read" like a checklist right now - perhaps the sections should start out in a collapsed state that visitors can expand. Perhaps a chevron on the right to indicate open/closed state (not pictured)...

screen shot 2019-01-13 at 4 14 06 pm

They could default closed, or maybe default closed - except for the first unchecked list item? Just throwing out what's popping into my head here, lmk what you think.

Add Last Updated Date for each checklist item

Would it be helpful to add a "last updated" date to each checklist item?

I know this might lead to some trust issues if an issue doesn't need to be updated frequently, but it could help users feel more confident that they're getting the most up-to-date information.

It might also help determine when a checklist item needs to be updated, or at least re-vetted.

Add password manager browser extensions

Add language localization options.

In my opinion, enabling localization will help a lot of people to understand more. Since this is related to not only geeks but also normal users. It will be a good idea if we add it. Can I take this issue? If can I take it, may I know the checklist for making a pull request?

A Todoist template for the security checklist

Hi @brianlovin 👋

When you launched the project, we briefly talked about creating a Todoist template to make the security checklist actionable for the many Todoist users

I've just soft published it here. I added you as the author, and "Credits to securitycheckli.st ->" as a task in the project template.

I'd love to know if you're cool with this as a template, you as the author, etc 👍

Order of Checklist Items

I suggest we reorder the checklist items generally on fastest/easiest to slowest/hardest, but also consider if certain items build or link to each other.
Just looking at it as a list, here's the best reordering I could come up with:

Devices:
Keep your devices up to date
Use two-factor authentication
Use a password manager
Create a strong device passcode
Encrypt your devices

Internet:
Use encrypted messaging apps when sharing sensitive information
Change your DNS settings to 1.1.1.1 or 9.9.9.9
Use a VPN
Use a privacy-first web browser
Use a privacy-first search engine
Use a privacy-first email provider
Set up a mobile carrier PIN
Freeze Your Credit

Learn and Review:
Educate yourself about phishing attacks
Review the privacy of your physical space
Review location, camera, and other sensitive device permissions
Review and remove metadata attached to photos you share
Review your social media privacy settings

Add Startpage to list of google alternatives

Startpage offers much better results than duckduckgo, in my opinion (especially for developers). I do miss the "bangs" that duckduckgo offers, though. They recently redesigned the whole look to look really clean. What do you think?

9.9.9.9 is an alternative to 1.1.1.1

In keeping with other items in the checklist which list many choices, the DNS recommendation should provide an alternative to Cloudflare's 1.1.1.1 service. I suggest 9.9.9.9, because it's focused on security and privacy.

From their website:

Security: Quad9 blocks against known malicious domains, preventing your computers and IoT devices from connecting to malware or phishing sites. Whenever a Quad9 user clicks on a website link or types in an address into a web browser, Quad9 checks the site against a list of domains combined from 19 different threat intelligence partners. Each threat intelligence partner supplies a list of malicious domains based on their heuristics which examine such factors as scanned malware discovery, network IDS past behaviors, visual object recognition, optical character recognition (OCR), structure and linkages to other sites, and individual reports of suspicious or malicious behavior. Based on the results, Quad9 resolves or denies the lookup attempt, preventing connections to malicious sites when there is a match.

Privacy: No personally-identifiable information is collected by the system. IP addresses of end users are not stored to disk or distributed outside of the equipment answering the query in the local data center. Quad9 is a not-for-profit organization dedicated only to the operation of DNS services. There are no other secondary revenue streams for personally-identifiable data, and the core charter of the organization is to provide secure, fast, private DNS.

Add section for software updates

Software updates and bug patches are annoying admittedly, but they are necessary in order to fix system's that are vulnerable.
I think adding a section about updates and why it is important to perform updates especially on devices attached to the internet would help raise awareness and encourage people to do updates when they see them.
What do you think?

Do not use same Password Manager for Passwords and 2FA Codes

The website should mention that you shouldn't use a password manager for both, passwords and 2FA codes.
Reason: this makes the password manager (which usually is locked with just one password) the single point of failure. 2FA actually becomes 1FA then, as the password manager is the only factor used for authentication.

Add additional resources section

Last one for now, I promise!

Would having an additional resource section be useful here? This checklist is a handy representation of a lot resources and articles I've seen in the past, and having a section for additional reading info might be useful.

Some resources I recommend:

In the apps list, add a "web" or "online" platform.

Many services that are shown on the website have an online service: all of the cited email providers, Duckduckgo, password managers, and one of the proposed messaging app (Wire). An "Online" or "Web" item in the liste would be useful to show if there's an online alternative when a specific platform isn't shown.

If we take Duckduckgo for example:

  • Windows -> directs to the website
  • macOS -> directs to the website
  • iOS -> directs to the iOS app
  • Android -> directs to the android app
  • Linux -> directs to the website

We could remove WIndows, macOS and Linux, and add "Web" directing to the website. And with the coming of age of PWAs, I think it'll be soon useful to provide this option.

Keeping your home router up to date and configured properly

A key area of home network security is making sure your router is up to date.

A few recommendations:

  • Ensure that your router is using the most recent firmware (advanced users can install OpenWRT). This is as easy as downloading a new firmware from the manufacturer of your router and uploading it to your devices admin panel.
  • Ensure that the admin password on your router is changed from the default.
  • Set your DHCP settings to offer 1.1.1.1 and 1.0.0.1 as the advertised DNS server.
  • Ensure that your wifi is using WPA2 and to disable WPS

Resources:

Including the audience.

This is only a suggestion, but there is a website hypothes.is and they allow anyone who creates an account with them to annotate/highlight a web page.

Hypothes.is
Hypothes.is for Publishers

Now I'm not saying use them.
But I like the idea.

I think it would be cool to have a section/space where people can ask questions/help each other and highlight and add additional information about a topic, that may be more advanced?

What do you think?

@zachflower @brianlovin @mknepprath @dmleong

Fix DOM nesting warning

Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
    in a (at App.js:32)
    in li (created by Context.Consumer)
    in StyledComponent (created by style__AppSourcesListItem)
    in style__AppSourcesListItem (at App.js:31)
    in ul (created by Context.Consumer)
    in StyledComponent (created by style__AppSourcesList)
    in style__AppSourcesList (at App.js:47)
    in a (created by Context.Consumer)
    in StyledComponent (created by style__AppRowContainer)
    ...

A console warning is being thrown because AppRowContainer is a link that contains nested links - AppSourcesListItem. Maybe everything to the left of AppSourcesList should be the "main" link instead of the whole row to prevent conflicts. Low priority - I haven't seen any bugs caused by this beyond the warning.

Whatsapp & Facebook conflicts of interest?

Following the dicussion in this PR: #82:

WhatsApp is owned by Facebook. Despite the use of end-to-end encryption there's an obvious conflict of interest. I think it should be at least placed at the end of the list, or even replaced by a open source alternative, like Matrix/Riot.im (it's also self-hostable, which is a good thing).

Organization and Prioritization could be better

Would recommend that there be sections, related to risk tolerance and user-needs, which will help organize the recommendations better.

For example, what might be relevant for a journalist hiding out covertly in a hostile country would be very different from the average internet user.

Would be open to contributing, but I think if the average user sees a long list they're more likely to just give up entirely rather than dip their toes in and start the journey.

Password manager: KeePass(XC/D/…)

Is actually open-source compared to things like 1Password and does not have the security problems of web applications.

Add Linux to the listed platforms

Linux is missing from the listed platforms. Considering that Linux is often used as a desktop in countries where people cannot afford Windows or macOS it would be a big help to global security if we can get Linux added to the list of platforms.

Service security list

I know of these at least this website:

which tracks services which support two-factor authentication (and how they do so). A link in the two-factor section would be great. Filing as an issue rather than a PR since I suspect there are other such websites out there as well.

Add check for address aggregate sites

Thanks for this site! Really love all the suggestions in this.

Could we also add a section for removing yourself from popular address aggregate sites? I find this is a huge issue with leaking personal information and you can also remove your family members' information at the same time!

Most of these sites are also updated every time a person moves, so this would be good info to have on the checklist if one moves.

This list should have a clear audience.

There seems to be a huge amount of interest in this list and that is really amazing. When I first saw this list I figured that it was edited in mind for the non-tech savvy individual. I'm seeing lots of issues which suggest adding apps and tools which are way beyond the means of the average internet goer.

@brianlovin maybe it would be best to include the intended audience for this list so we can figure out whether suggestions meet some sort ease-of-use criteria? I'm thinking something like:

Beginning users Advanced users
Are able to use a browser and navigate to websites Are able to use the CLI to navigate directories, make changes, or run programs
Are able to install software or applications Are familiar with: HTTP, DNS, SSH, etc
Are able to configure their OS via UI Are able to run services on a remote server

I'll say though at the same time, advanced topics or suggestions would be useful if a technical audience could self select. I wonder if there could be some UI that would allow someone to view the more advanced security suggestions?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.