+ All Categories
Home > Documents > Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien...

Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien...

Date post: 15-Jun-2020
Category:
Upload: others
View: 13 times
Download: 0 times
Share this document with a friend
72
Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Enhance OpenSSH for Fun and Security Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe LinuxCon Europe October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015 October 5, 2015
Transcript
Page 1: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Enhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and SecurityEnhance OpenSSH for Fun and Security

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

LinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeLinuxCon EuropeOctober 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015October 5, 2015

Page 2: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Match User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieMatch User roidelapluieJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

• Sysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.eu

• FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004• DevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believer• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github

Page 3: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

inuits.eu

Page 4: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015World, 2015Licensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/80497449@N04/10012162166

Page 5: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Connected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devicesConnected devices

• MMMMMMMMMMMMMMMMMainframes• SSSSSSSSSSSSSSSSServers• VVVVVVVVVVVVVVVVVirtual machines• CCCCCCCCCCCCCCCCContainers• IIIIIIIIIIIIIIIIIoT

Page 6: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Entrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance DoorsEntrance Doors

• PPPPPPPPPPPPPPPPPhysical Access• TTTTTTTTTTTTTTTTTelnet• RRRRRRRRRRRRRRRRRSH• SSSSSSSSSSSSSSSSSSH• HHHHHHHHHHHHHHHHHTTPS• ……………………………………………

Page 7: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSH

• DDDDDDDDDDDDDDDDDozens of implementations• OOOOOOOOOOOOOOOOOpenSSH• DDDDDDDDDDDDDDDDDropbear (embedded)• CCCCCCCCCCCCCCCCClosed-source• ……………………………………………

Page 8: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSHSSH

• DDDDDDDDDDDDDDDDDozens of usecases• SSSSSSSSSSSSSSSSShell access and TCP Tunelling• CCCCCCCCCCCCCCCCCode (git)• FFFFFFFFFFFFFFFFFile transfert (sftp)• XXXXXXXXXXXXXXXXX terminal (x2go)• AAAAAAAAAAAAAAAAAutomation (ansible)• ……………………………………………

Page 9: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

OpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/pennuja/5399766800

Page 10: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

OpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSHOpenSSH

• DDDDDDDDDDDDDDDDDeveloped by the OpenBSD project• RRRRRRRRRRRRRRRRReleased first in 1995• SSSSSSSSSSSSSSSSServer/Client implementation• IIIIIIIIIIIIIIIIIncluded in BSD, Linux, Cygwin, Mac OS X, …• AAAAAAAAAAAAAAAAAvailable in many other platforms

Page 11: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Out of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scopeOut of scope

• FFFFFFFFFFFFFFFFFirewalling, OS, …• BBBBBBBBBBBBBBBBBasic tips: RootLogin, Pubkeys, …• CCCCCCCCCCCCCCCCCrypto/Encryption/Key Exchangeshttps://stribika.github.io/2015/01/04/secure-secure-shell.html

Page 12: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecuritySecurityLicensed under a Creative Commons Asstribution-ShareAlike 2.0 License

https://www.flickr.com/photos/111692634@N04/11406986014

Page 13: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Common senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon senseCommon sense

• DDDDDDDDDDDDDDDDDo you need SSH? (immutable infra, containers…)• KKKKKKKKKKKKKKKKKISS• CCCCCCCCCCCCCCCCChose what will get public IP and then exposition..hypervisors vs vms?

• PPPPPPPPPPPPPPPPPort 22 is not Evil

Page 14: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Server-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideServer-sideLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/56001405@N06/6187271613

Page 15: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

"Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config""Server config"

• /////////////////etc/ssh/sshd_config• RRRRRRRRRRRRRRRRRestart of the service does not kill current ssh sessions

Page 16: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Allow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesAllow/Deny rulesLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/84388958@N03/7729300102

Page 17: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

AllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsersAllowUsers

AllowUsers jenkinsAllowUsers jenkins [email protected] jenkins [email protected]/12

AllowUsers is exclusive

Page 18: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

AllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroupsAllowGroups

AllowGroups staff jenkins

AllowGroups is exclusive

Page 19: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Allow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* orderingAllow* ordering

• DDDDDDDDDDDDDDDDDenyUsers• AAAAAAAAAAAAAAAAAllowUsers• DDDDDDDDDDDDDDDDDenyGroups• AAAAAAAAAAAAAAAAAllowGroups

Page 20: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

MatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatch

• MMMMMMMMMMMMMMMMMatch + conditions• rrrrrrrrrrrrrrrrreads until next Match or EOF

Page 21: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

MatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatchMatch

AllowGroups staffMatch Address 172.31.16.8AllowGroups staff jenkins

Page 22: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Trust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseTrust On First UseLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/armandoh2o/7069748077

Page 23: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

TOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFUTOFU

The authenticity of host 'example.com (93.184.216.34)'can't be established.

ED25519 key fingerprint is SHA256:eIvxpj9aMSS/+Ed7NQZ9er/vyV17mabfiUxtgF2Q1X0.

Are you sure you want to continue connecting (yes/no)?

Page 24: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Trust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first useTrust on first use

• WWWWWWWWWWWWWWWWWho checks the key on the server?• WWWWWWWWWWWWWWWWWho says no?• SSSSSSSSSSSSSSSSSecurity fatigue

Page 25: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)Alternative to TOFU (1/2)

• AAAAAAAAAAAAAAAAAutomation• EEEEEEEEEEEEEEEEExport keys from hosts• CCCCCCCCCCCCCCCCCollect them from hosts• AAAAAAAAAAAAAAAAApply then to /etc/ssh/known_hosts

Page 26: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

# saz/puppet−ssh − ASL 2.0if $::sshrsakey {

@@sshkey { "${::fqdn}_rsa":ensure => present,host_aliases => $host_aliases,type => rsa,key => $::sshrsakey,

}} else {

@@sshkey { "${::fqdn}_rsa":ensure => absent,

}}

Page 27: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Sshkey <<| |>>

Page 28: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)Alternative to TOFU (2/2)

• DDDDDDDDDDDDDDDDDNS• EEEEEEEEEEEEEEEEExport keys in SSHFP DNS records• CCCCCCCCCCCCCCCCCan be secured by DNSSEC• hhhhhhhhhhhhhhhhhttps://github.com/jpmens/facts2sshfp

Page 29: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

$ dig +short SSHFP example.com1 1 F00A55CEA3B8E15528665A6781CA7C35190CF02 1 CC1F004DA60CF38E809FE58B10D0F22680D59D

Page 30: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ssh −o VerifyHostKeyDNS=yes example.com

Page 31: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

The authenticity of host 'example.com (93.184.216.34)'can't be established.

ED25519 key fingerprint is SHA256:eIvxpj9aMSS/+Ed7NQZ9er/vyV17mabfiUxtgF2Q1X0.

Matching host key fingerprint found in DNSAre you sure you want to continue connecting (yes/no)?

Page 32: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Authorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysAuthorized keysLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/brenda-starr/4498078166

Page 33: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ssh−rsa AAsafgrewgBzhfadgthgfpoDtGlUBIYhzf user@desktop

• OOOOOOOOOOOOOOOOOne key, one user• AAAAAAAAAAAAAAAAAlways with a password• DDDDDDDDDDDDDDDDDistribute them in an automated way

Page 34: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

from="172.21.32.4" ssh−rsa AAspoDtGlUBIYhzf ansibleno−port−forwarding ,no−x11−forwarding ,no−agent−forwarding ssh−rsa

AAspDjeFJwFRf jenkins

Page 35: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ssh_authorized_key {'jenkins ':

type => 'ssh−rsa',key => 'AAAAKZ6TwZl3ikhY42clyY/De7J',user => 'jenkins ',

}

Page 36: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ssh_authorized_key {'jenkins ':

type => 'ssh−rsa',key => 'AAAAKZ6TwZl3ikhY42clyY/De7J',user => 'jenkins ',options => 'from="192.168.10.1"'

}

Page 37: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!Purge undefined keys!

user {'jenkins ':

purge_ssh_keys => true,}

Page 38: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

AuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommandAuthorizedKeysCommand

• SSSSSSSSSSSSSSSSScript that takes username as arguments and returnsauthorized_keys

• EEEEEEEEEEEEEEEEExemple reference: openssh-ldap RPM

Page 39: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Client SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideClient SideLicensed under a Creative Commons Zero License

@roidelapluie

Page 40: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Client configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configurationClient configuration

• $$$$$$$$$$$$$$$$$HOME/.ssh/config• /////////////////etc/ssh/ssh_config

Page 41: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Host web1Hostname web1.example.comUser roidelapluie

Page 42: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/sarahrosenau/269786597

Page 43: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Host web1Proxycommand ssh proxy nc %h %pHost proxyProxycommand ssh out nc %h %p

Page 44: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH HopsSSH Hops

• AAAAAAAAAAAAAAAAAcces restricted areas• KKKKKKKKKKKKKKKKKeeps your private keys in your machine• NNNNNNNNNNNNNNNNNo need for agent forwarding

Page 45: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsSocketsLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/restlessglobetrotter/2661016046

Page 46: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Host git.example.comControlMaster autoControlPath /tmp/ssh−%r@%h:%pControlPersist 5

Page 47: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH SocketsSSH Sockets

• SSSSSSSSSSSSSSSSSpeed up reconnection time• DDDDDDDDDDDDDDDDDo not renegotiate each time• UUUUUUUUUUUUUUUUUseful for git

Page 48: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Stopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHStopping OpenSSHLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/horiavarlan/4747872021

Page 49: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Send to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to backgroundSend to background

<enter > ~ &

Page 50: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

PausePausePausePausePausePausePausePausePausePausePausePausePausePausePausePausePause

<enter > ~ <ctrl+z>

Page 51: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Kill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the sessionKill the session

<enter > ~ .

Page 52: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

TunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/hanuska/5174842932

Page 53: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

TunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnels

• TTTTTTTTTTTTTTTTTCP Tunnels• SSSSSSSSSSSSSSSSSOCKS proxy

Page 54: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

TunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnelsTunnels

• LLLLLLLLLLLLLLLLLocal TCP Port Forwarding: give remote acces to localport

• RRRRRRRRRRRRRRRRRemote TCP Port Forwarding: get access to remote ports

Page 55: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Local TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port Forwarding

Icons from http://www.opensecurityarchitecture.org/cms/library/icon-libraryand the Tango Icons project

Page 56: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Local TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port Forwarding

Icons from http://www.opensecurityarchitecture.org/cms/library/icon-libraryand the Tango Icons project

Page 57: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Local TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port ForwardingLocal TCP Port Forwarding

Icons from http://www.opensecurityarchitecture.org/cms/library/icon-libraryand the Tango Icons project

Page 58: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Local TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel exampleLocal TCP Tunnel example

• UUUUUUUUUUUUUUUUUser A is natted behind a firewall• HHHHHHHHHHHHHHHHHe wants to give User B access to local SSH daemon

userA@hostA > ssh −NR 22222:localhost:22 userA@hostB

userB@hostB > ssh −p 22222 localhost

-N is for No Shell

Page 59: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Remote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port Forwarding

Icons from http://www.opensecurityarchitecture.org/cms/library/icon-libraryand the Tango Icons project

Page 60: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Remote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port ForwardingRemote TCP Port Forwarding

Icons from http://www.opensecurityarchitecture.org/cms/library/icon-libraryand the Tango Icons project

Page 61: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Remote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding exampleRemote Port Forwarding example

• UUUUUUUUUUUUUUUUUser A is behind a firewall that blocks VNC port• HHHHHHHHHHHHHHHHHe wants to access User B local VNC daemon

userA@hostA > ssh −NL 5900:localhost:5900 userA@hostBuserA@hostA > vncviewer localhost

Page 62: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

SOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS ProxySOCKS Proxy

• """""""""""""""""Dynamic" port forwarding• EEEEEEEEEEEEEEEEEnable UDP, TCP, …• CCCCCCCCCCCCCCCCCreates a SOCKS5 proxy

userA@hostA > ssh −ND 9500 userA@hostBuserA@hostA > proxychains wget http://example.com

Page 63: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsToolsLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/86639298@N02/8559728371

Page 64: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agentssh-agent

• SSSSSSSSSSSSSSSSStores your private key in memory• eeeeeeeeeeeeeeeeeval $(ssh-agent)• ssssssssssssssssssh-add; ssh-add -t 1h foo.key• ssssssssssssssssssh-add -x (lock)• ssssssssssssssssssh-add -X (unlock)• PPPPPPPPPPPPPPPPPart of OpenSSH

Page 65: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

screenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreenscreen

• KKKKKKKKKKKKKKKKKeep session accross ssh connection• HHHHHHHHHHHHHHHHHave multiple shell `windows'• RRRRRRRRRRRRRRRRRun long command and keep them running• ssssssssssssssssscreen (launch new session)• CCCCCCCCCCCCCCCCCtrl+a d (detach)• ssssssssssssssssscreen -dx (detach and reattach)• ssssssssssssssssssh host -t screen -dx• AAAAAAAAAAAAAAAAAlternative: tmux

Page 66: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

reptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyrreptyr

• AAAAAAAAAAAAAAAAAttach a long running process to the current terminal• IIIIIIIIIIIIIIIIIdea: launch a screen and rattach another process inside• UUUUUUUUUUUUUUUUUseful when you forgot to launch your screen before• rrrrrrrrrrrrrrrrreptyr -p PID

Page 67: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

vimvimvimvimvimvimvimvimvimvimvimvimvimvimvimvimvim

• EEEEEEEEEEEEEEEEEdit files remotely with scp• vvvvvvvvvvvvvvvvvim scp://web//etc/hosts

Page 68: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionLicensed under a Creative Commons Attribution 2.0 License

https://www.flickr.com/photos/freddyfromutah/4424199420

Page 69: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion

• SSSSSSSSSSSSSSSSSSH is still part of modern infrastructures• IIIIIIIIIIIIIIIIIt should be part of what you automate/control• LLLLLLLLLLLLLLLLLots of other projects rely on it• YYYYYYYYYYYYYYYYYou can harden it in a lot of ways• TTTTTTTTTTTTTTTTThere is a lot of things to discover!

Page 70: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

HomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomeworkHomework

• SSSSSSSSSSSSSSSSSSH certificate authority• cccccccccccccccccommand= permitopen=• MMMMMMMMMMMMMMMMMatch blocks• sssssssssssssssssshfs• ……………………………………………

Page 71: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?Any Question?

Page 72: Enhance OpenSSH for Fun and Security · Enhance OpenSSH for Fun and Security - Author: blackJulien Pivotto Created Date: 10/5/2015 3:18:45 PM ...

ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien [email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie

inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitshttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu

[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636


Recommended