1. Lock your computer
2. Encrypt your computer
3. Check the workaround
Slide 12
Slide 12 text
The security policies
should be established
& should be clear for
the team
Slide 13
Slide 13 text
The principle
of minimal privilege
must be used
Slide 14
Slide 14 text
Security Basics
Slide 15
Slide 15 text
Store your passwords
securely
Slide 16
Slide 16 text
Never transfer
a non-encrypted PII
https://github.com/4xxi/caesarapp-server
https://github.com/johnelm/PasteVault
Slide 17
Slide 17 text
Do not store the passwords
in the code
Slide 18
Slide 18 text
Don’t use public snippet repositories
From blogs: How a bug in Visual Studio 2015 exposed my
source code on GitHub and cost me $6,500 in a few hours
Slide 19
Slide 19 text
Don’t use public screenshot storages
Configure your own AWS S3 or
Dropbox instance to store the media
Slide 20
Slide 20 text
Technology
Slide 21
Slide 21 text
Use data obfuscation,
e.g. gem data-anomymization (ruby)
or neuralyzer (PHP)
Slide 22
Slide 22 text
require 'data-anonymization'
database 'DatabaseName' do
strategy DataAnon::Strategy::Blacklist # whitelist (default) or blacklist
... # configuration
# User -> table name (case sensitive)
table 'User' do
# id, DateOfBirth, Name, UserName, Password -> table column names
primary_key 'id' # composite key is also supported
anonymize 'DateOfBirth','Name' # default anon.
anonymize('UserName').using FieldStrategy::StringTemplate.new('user#{row_number}')
anonymize('Password') { |field| "password" }
end
...
end
data-anonymization:
Slide 23
Slide 23 text
require 'data-anonymization'
database 'DatabaseName' do
strategy DataAnon::Strategy::Blacklist # whitelist (default) or blacklist
... # configuration
# User -> table name (case sensitive)
table 'User' do
# id, DateOfBirth, Name, UserName, Password -> table column names
primary_key 'id' # composite key is also supported
anonymize 'DateOfBirth','Name' # default anon.
anonymize('UserName').using FieldStrategy::StringTemplate.new('user#{row_number}')
anonymize('Password') { |field| "password" }
end
...
end
data-anonymization:
EASY!
Slide 24
Slide 24 text
pro & cons
The data are almost real,
not test.
Easy to reproduce
the production issues.
The developers have
no access to PII.
PII worldwide
compliance
Some database changes
require additional work.
It is difficult to manage
denormalised data.
The realtime data are not
available.
Some issues might be
PII-specific.
Slide 25
Slide 25 text
Use automatic tool
to exclude simple issues
https://portswigger.net/burp
https://www.owasp.org
What to encrypt?
1. The instance of DB
(use some built-in tools, e.g. in AWS nor TDE)
2. Encrypt PII:
(pgcrypto, DoctrineEncryptBundle, custom-built …)
3. ??
Slide 33
Slide 33 text
Constant Vigilance!
Secure your application data using Symfony
— Evgeny Smirnov, CEO of 4xxi (https://4xxi.com),
[email protected], FB: @smirik