lcu14 115- security best practices

31
LCU14 BURLINGAME John Stultz, LCU14 LCU14-115: Security Best Practices

Upload: linaro

Post on 13-Jun-2015

323 views

Category:

Software


0 download

DESCRIPTION

LCU14 115- Security Best Practices --------------------------------------------------- Speaker: John Stultz Date: September 16, 2014 --------------------------------------------------- ★ Session Summary ★ Aimed at developers working in opensource, but covering tips that are useful to non-developers as well, this talk tries to make the audience aware of the the security threats out there, and provide some best practices for managing and securing web accounts, connecting to systems securely, securing their own development machine, and using secure communications. It will also provide reference material where interested developers can learn more. --------------------------------------------------- ★ Resources ★ Zerista: http://lcu14.zerista.com/event/member/137719 Google Event: https://plus.google.com/u/0/events/cbpqjg0hb0ni2p31bgtucj7i6r0 Video: https://www.youtube.com/watch?v=HuC_yiK73Iw&list=UUIVqQKxCyQLJS6xvSmfndLA Etherpad: http://pad.linaro.org/p/lcu14-115 --------------------------------------------------- ★ Event Details ★ Linaro Connect USA - #LCU14 September 15-19th, 2014 Hyatt Regency San Francisco Airport --------------------------------------------------- http://www.linaro.org http://connect.linaro.org

TRANSCRIPT

Page 1: LCU14 115- Security Best Practices

LCU14 BURLINGAME

John Stultz, LCU14

LCU14-115: Security Best Practices

Page 2: LCU14 115- Security Best Practices

Why is this important?

Page 3: LCU14 115- Security Best Practices

Linaro is a organization of technical excellence Members trust us with private information that should be handled

appropriately.

Within the organization we share private information that many would

not want made public (vacation schedules, telephone numbers, etc).

Distributed environment often requires HR data which can contain

very personal information to have to be digitally shared.

Page 4: LCU14 115- Security Best Practices

Why is this *very* important?

Page 5: LCU14 115- Security Best Practices

(slide stolen from GregKH)

Page 6: LCU14 115- Security Best Practices
Page 7: LCU14 115- Security Best Practices
Page 8: LCU14 115- Security Best Practices
Page 9: LCU14 115- Security Best Practices
Page 10: LCU14 115- Security Best Practices

Linaro is a major contributor to Linux

Page 11: LCU14 115- Security Best Practices

Our work is a potential target

We owe it to ourselves, our members, our community, and our users to

take reasonable precautions

Page 12: LCU14 115- Security Best Practices

Disclaimer... Nothing is going to prevent targeted action by well-resourced

opponents.

But we don’t have to out-run the bear...

Page 13: LCU14 115- Security Best Practices

Overview of steps you should take

● Basic tips everyone should know o Two factor authentication

o Password managers

o Keeping your system secure

o Unsecure communication/storage

● Advanced topics o SSH key management

o Extra steps to securing your dev system

o Secure mail

Page 14: LCU14 115- Security Best Practices

Tips for everyone

Page 15: LCU14 115- Security Best Practices

Password rules ● *Never* reuse passwords

o Trusting other parties w/ passwords

o Other parties have repeatedly been found to be untrustworthy

● Don’t use passwords, use passphrases o Every 8char password can be computed in one day w/ current labs

o 16 char min

● Do this for your 30-80 accounts on the web o (Basically impossible)

Page 16: LCU14 115- Security Best Practices

Two factor authentication Password + out-of-band time-limited number

Usually via SMS

Google authenticator

RSA token / Yubikey

Go set it up now on your Google accounts!: https://support.google.com/accounts/answer/185839?hl=en&ref_topic=1099588

Page 17: LCU14 115- Security Best Practices

Password manager ● Stores all your passwords encrypted w/ a master password.

Integrates with browsers.

● Remember one password, access all your others.

● Allows for really random passwords to be generated for each web

site.

● Browser-native managers often don’t work for all sites.

● I recommend lastpass.com, but there’s others.

Page 18: LCU14 115- Security Best Practices

Password manager gotcha ● Important: Email is how you recover accounts, reset passwords.

● If you use a free email service for your personal mail, I don’t

recommend using a pw manager to manage that password, since

if you lose your master key you’ll be stuck, and no one will help

you.

● Use a strong & memorable password + 2 factor authentication for

personal email!

Page 19: LCU14 115- Security Best Practices

Keeping your system secure ● Stay current w/ supported distro version!

● Enable disk encryption on laptops

● Make sure you have your local firewall enabled o gufw makes this easy on ubuntu

o Block everything!

● Be intentional with the applications you run o Avoid flash, java plugins, IM apps, video players, etc.

o Don’t just download and run things

● Don’t surf sites of ill repute from your work box!

Page 20: LCU14 115- Security Best Practices

Unsecure communication/storage Just a reminder, the following are not secure communication methods

●Unencrypted Email

●IRC

●Hangouts/Google Talk*

●Google Drive / Docs / Sheets*

*While in most cases protected by SSL, we have to “trust” Google and

other service providers we use.

Page 21: LCU14 115- Security Best Practices

Advanced tips

Page 22: LCU14 115- Security Best Practices

SSH Keys ● Asymmetric (public/private) keys

● Don’t have to worry about reusing keys, since public key doesn’t

reveal anything about the private key

● Much stronger than passwords/passphrases

Page 23: LCU14 115- Security Best Practices

SSH Key Security ● Use SSH keys instead of passwords

● Make sure your keys are encrypted!

● Only keep keys on your physical devices!

● Only ssh out from your physical devices (end to end secure

connections)! o Avoid ssh-agent forwarding

Page 24: LCU14 115- Security Best Practices

SSH Key Management ● I reccomend per-device keys.

o Allows you to restrict number of machines that could be accessed if you lose your

laptop.

● Keep track of what machines your keys can access!

● Rotate keys semi-regularly (requires you to know where your

public keys are).

● Tools needed here!

Page 25: LCU14 115- Security Best Practices

Securing your development system ● Stay current w/ supported distro version!

● Make sure you have your local firewall enabled

● Don’t run incoming services on your dev machine (ie where you

keep your keys)! o This includes even SSH!

● Run as few network connected apps as possible (browser,

terminal)

● Avoid flash, java plugins, IM clients (pidgin/libpurple), etc.

● Don’t copy-paste commands from web-browsers to shells

● Don’t surf sites of ill repute from your dev box!

Page 26: LCU14 115- Security Best Practices

Secure email ● GPG/PGP - Asymmetric key encryption/signing

● Generate public and private key, distribute the public key, which

users can encrypt mail to and use to validate signatures, which are

read and signed using private key

● Web of trust

● Unfortunately doing this right is annoying complicated

Page 27: LCU14 115- Security Best Practices

Secure email ● This requires non-webmail interface

o Thunderbird: Enigmail add-on

o Evolution: Integrated support

o Mutt: You figure it out, smartypants!

o GPGMail: For the MacOS users out there

● Managing keys: o Seahorse or Kgpg for GUI

o keychain is also helpful for CLI

●Cool hardware options are out there o Crypto-stick

o Yubikey neo

Page 28: LCU14 115- Security Best Practices

Secure email: How to start ● Read the docs

o https://help.ubuntu.com/community/GnuPrivacyGuardHowto

o https://fedoraproject.org/wiki/Creating_GPG_Keys

o https://wiki.debian.org/Keysigning

o https://help.riseup.net/en/security/message-security/openpgp/best-practices

● Generate a key, publish it.

● Get your key signed by other devs o Add fingerprint to your business card

o Print out fingerprint & hand out at conferences

●Start signing mail and git tags! o Consistency is more important than number of signatures

Page 29: LCU14 115- Security Best Practices

Is all this really doable? ● In the real world, we can’t follow all the rules all the time.

● Many of these suggestions are easily doable, some less so.

● The threat is real, though.

● Being conscious about the threat, and minimizing needless

exposure reduces the risks we have to take.

Page 30: LCU14 115- Security Best Practices

All of this and more on the wiki

wiki.linaro.org/Process/DevSecurityBestPractices

Page 31: LCU14 115- Security Best Practices

More about Linaro Connect: connect.linaro.org

Linaro members: www.linaro.org/members

More about Linaro: www.linaro.org/about/