secrets are secrets. please, maintain keep them

46
SECRETS ARE SECRETS. PLEASE, MAINTAIN KEEP THEM!.

Upload: alex-soto

Post on 22-Jan-2018

634 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Secrets are secrets. Please, maintain keep them

S E C R E T S A R E S E C R E T S .P L E A S E , M A I N T A I N

K E E P T H E M ! .

Page 2: Secrets are secrets. Please, maintain keep them

A L E X S O T O B - L O R D O F T H E J A R S . C O M

alexsotoblordofthejars

Page 3: Secrets are secrets. Please, maintain keep them

alexsotoblordofthejars

Page 4: Secrets are secrets. Please, maintain keep them

Q U E S T I O N S

alexsotoblordofthejars

Page 5: Secrets are secrets. Please, maintain keep them

W H O E N C R Y P T P A S S W O R D S I NR E S O U R C E F I L E S ?

alexsotoblordofthejars

Page 6: Secrets are secrets. Please, maintain keep them

<<ResourceResourceidid==”myds””myds”typetype==”DataSource””DataSource”>>

JdbcDriver=org.hsqldb.jdbc.JDBCDriverJdbcDriver=org.hsqldb.jdbc.JDBCDriver

JdbcUrl=jdbc:hsqldb:mem:my-datasourceJdbcUrl=jdbc:hsqldb:mem:my-datasource

Username=SAUsername=SA

Password=SAPassword=SA

</</ResourceResource>>

A P A C H E T O M E E R E S O U R C E S

alexsotoblordofthejars

Page 7: Secrets are secrets. Please, maintain keep them

<<ResourceResourceidid==”myds””myds”typetype==”DataSource””DataSource”>>

JdbcDriver=org.hsqldb.jdbc.JDBCDriverJdbcDriver=org.hsqldb.jdbc.JDBCDriver

JdbcUrl=jdbc:hsqldb:mem:my-datasourceJdbcUrl=jdbc:hsqldb:mem:my-datasource

Username=SAUsername=SA

Password=xMH5uM1V9vQzVUv5LG7YLA==Password=xMH5uM1V9vQzVUv5LG7YLA==

PasswordCipher=AESPasswordCipher=AES

</</ResourceResource>>

<<ResourceResourceidid==”myresource””myresource”class-nameclass-name==""org.superbiz.VaultGatewayorg.superbiz.VaultGateway"">>

//.....//.....

VaultPassword=cipher:AES:xMH5uM1V9vQzVUv5LG7YLA==VaultPassword=cipher:AES:xMH5uM1V9vQzVUv5LG7YLA==

</</ResourceResource>>

A P A C H E T O M E E R E S O U R C E S

alexsotoblordofthejars

Page 8: Secrets are secrets. Please, maintain keep them

publicpublicAESPasswordCipherAESPasswordCipher(()){{

thisthis..keykey==readKeyFromDiskreadKeyFromDisk(());;

thisthis..secretKeysecretKey==newnewSecretKeySpecSecretKeySpec((keykey,,"AES""AES"));;

}}

publicpublicStringStringdecryptdecrypt((charchar[[]]charschars)){{

CiphercipherCiphercipher==CipherCipher..getInstancegetInstance(("AES""AES"));;

ciphercipher..initinit((CipherCipher..DECRYPT_MODEDECRYPT_MODE,,secretKeysecretKey));;

bytebyte[[]]rawraw==Base64Base64..getDecodergetDecoder(())..decodedecode((toByteArraytoByteArray((charschars))));;

bytebyte[[]]stringBytesstringBytes==ciphercipher..doFinaldoFinal((rawraw));;

StringclearTextStringclearText==newnewStringString((stringBytesstringBytes,,"UTF8""UTF8"));;

returnreturnclearTextclearText;;

}}

publicpubliccharchar[[]]encryptencrypt((StringsStrings)){{}}

I M P L E M E N T A T I O N

alexsotoblordofthejars

Page 9: Secrets are secrets. Please, maintain keep them

C H I C K E N - E G G P R O B L E M

alexsotoblordofthejars

Page 10: Secrets are secrets. Please, maintain keep them

M O N O L I T H A R C H I T E C T U R E

alexsotoblordofthejars

Page 11: Secrets are secrets. Please, maintain keep them

M I C R O S E R V I C E S A R C H I T E C T U R E ?

alexsotoblordofthejars

Page 12: Secrets are secrets. Please, maintain keep them

https://vaultproject.io/

A T O O L F O R M A N A G I N GS E C R E T S

alexsotoblordofthejars

Page 13: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

alexsotoblordofthejars

Page 14: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecrets

alexsotoblordofthejars

Page 15: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

alexsotoblordofthejars

Page 16: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

Leasing,Renewing,Revocation

alexsotoblordofthejars

Page 17: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

Leasing,Renewing,RevocationAuditing

alexsotoblordofthejars

Page 18: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

Leasing,Renewing,RevocationAuditingACL

alexsotoblordofthejars

Page 19: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

Leasing,Renewing,RevocationAuditingACL

MultipleAuthenticationMethods

alexsotoblordofthejars

Page 20: Secrets are secrets. Please, maintain keep them

V A U L T F E A T U R E SSecureSecretStorage

DynamicSecretsDataEncryption

Leasing,Renewing,RevocationAuditingACL

MultipleAuthenticationMethodsRESTAPI

alexsotoblordofthejars

Page 21: Secrets are secrets. Please, maintain keep them

S E C U R E S E C R E T S T O R A G E

alexsotoblordofthejars

Page 22: Secrets are secrets. Please, maintain keep them

L E T ' S S E E I N A C T I O N

alexsotoblordofthejars

Page 23: Secrets are secrets. Please, maintain keep them

M I C R O S E R V I C E S A P P R O A C H

Page 24: Secrets are secrets. Please, maintain keep them

A P P I D A U T H

Page 25: Secrets are secrets. Please, maintain keep them

N E E D Y O U R H E L P

alexsotoblordofthejars

Page 26: Secrets are secrets. Please, maintain keep them

A P P I DRandomUniqueChunk

alexsotoblordofthejars

Page 27: Secrets are secrets. Please, maintain keep them

A P P I DRandomUniqueChunk

UniquetoApplication(akaService)

alexsotoblordofthejars

Page 28: Secrets are secrets. Please, maintain keep them

A P P I DRandomUniqueChunk

UniquetoApplication(akaService)GeneratedbyOperator

alexsotoblordofthejars

Page 29: Secrets are secrets. Please, maintain keep them

A P P I DRandomUniqueChunk

UniquetoApplication(akaService)GeneratedbyOperator

StoredinConfigurationManagement

alexsotoblordofthejars

Page 30: Secrets are secrets. Please, maintain keep them

U S E R I DIntrinsicProperties

alexsotoblordofthejars

Page 31: Secrets are secrets. Please, maintain keep them

U S E R I DIntrinsicPropertiesUniquetoInstance

alexsotoblordofthejars

Page 32: Secrets are secrets. Please, maintain keep them

U S E R I DIntrinsicPropertiesUniquetoInstance

GeneratedbyCloudInitScript

alexsotoblordofthejars

Page 33: Secrets are secrets. Please, maintain keep them
Page 34: Secrets are secrets. Please, maintain keep them

login

E A C H S E R V I C E

W I T H T U P L E { A P P I D , U S E R I D }

alexsotoblordofthejars

Page 35: Secrets are secrets. Please, maintain keep them

E X A M P L E W I T H D O C K E R

Page 36: Secrets are secrets. Please, maintain keep them
Page 37: Secrets are secrets. Please, maintain keep them

C U B B Y H O L E A U T H E N T I C A T I O N M E T H O D

Page 38: Secrets are secrets. Please, maintain keep them

C U B B Y H O L EtempTokenwithTTLandLimits

alexsotoblordofthejars

Page 39: Secrets are secrets. Please, maintain keep them

C U B B Y H O L EtempTokenwithTTLandLimitspermTokentoaccessrealdata

alexsotoblordofthejars

Page 40: Secrets are secrets. Please, maintain keep them

C U B B Y H O L EtempTokenwithTTLandLimitspermTokentoaccessrealdataGeneratedbyCloudInitScript

alexsotoblordofthejars

Page 41: Secrets are secrets. Please, maintain keep them

$$>>vaulttokenvaulttoken--createcreate--useuse--limitlimit==33

$$>>vaultauthvaultauth......#Firstusage#Firstusage

$$>>vaultwritecubbyholevaultwritecubbyhole//service11tokenservice11token==......#Secondusage#Secondusage

$$>>vaultreadcubbyholevaultreadcubbyhole//service11#Thirdusageservice11#Thirdusage

$$>>vaultreadcubbyholevaultreadcubbyhole//service11service11

ErrorreadingcubbyholeErrorreadingcubbyhole//tokentoken::ErrormakingAPIrequestErrormakingAPIrequest..

URLURL::GEThttpGEThttp::////127.0127.0..0.10.1::82008200//v1v1//cubbyholecubbyhole//tokentoken

CodeCode::403403..ErrorsErrors::

C L I

alexsotoblordofthejars

Page 42: Secrets are secrets. Please, maintain keep them

L E T ' S W I N D D OW N

alexsotoblordofthejars

Page 43: Secrets are secrets. Please, maintain keep them

V A U L T I S A S E R V I C E

alexsotoblordofthejars

Page 44: Secrets are secrets. Please, maintain keep them

T H E R E I S N O S I L V E R B U L L E T

Page 45: Secrets are secrets. Please, maintain keep them

Q U E S T I O N S

alexsotoblordofthejars

Page 46: Secrets are secrets. Please, maintain keep them

@alexsotob

[email protected]

alexsotoblordofthejars