SlideShare a Scribd company logo
SSH Tunneling Recipes


      Developer Toolbox Series
         Rafael Luque, OSOCO
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
Protocol tunneling


One network protocol —the delivery
protocol— encapsulates a different
payload protocol.
                        — Wikipedia
SSH tunneling


A secure shell (SSH) tunnel consists of
an encrypted tunnel created through a
SSH protocol connection.
                          — Wikipedia
Common uses



 To securely connect to a remote host and
    have your network traffic encrypted
Common uses



 To securely connect to a remote host and
    have your network traffic encrypted

 • You are on a public, non secure, non trusted or unencrypted
   network.
 • You use an insecure protocol like POP3, IMAP, SMTP, FTP,
   telnet, etc.
Common uses




 To bypass local network restrictions and
          monitoring services
Common uses




    Internet censorship circumvention
Map of cyber-censorship
Common uses




   Open backdoors to allow outbound
  connections to hosts behind a firewall
Common uses




          X11 forwarding
Common uses




  Access services bound to the loopback
                interface
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
Local port forwarding



   Local port forwarding (aka outgoing
tunneling) forwards traffic coming to a local
      port to a specified remote port
Local port forwarding

    Recipe #1: Access a remote service behind a firewall




    ssh -fN -L <localport>:localhost:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

    Recipe #1: Access a remote service behind a firewall




    ssh -fN -L <localport>:localhost:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

    Recipe #1: Access a remote service behind a firewall




    ssh -fN -L <localport>:localhost:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

Recipe #2: Access a remote service from any host behind the
                        firewall




     ssh -fN -L 0.0.0.0:<localport>:localhost:<remoteport> user@external

or
     ssh -fN -g -L <localport>:localhost:<remoteport> user@external
Local port forwarding

Recipe #2: Access a remote service from any host behind the
                        firewall




     ssh -fN -L 0.0.0.0:<localport>:localhost:<remoteport> user@external

or
     ssh -fN -g -L <localport>:localhost:<remoteport> user@external
Local port forwarding

   Recipe #3: Access a remote service visible from the ssh
                          server




    ssh -fN -L <localport>:external2:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

   Recipe #3: Access a remote service visible from the ssh
                          server




    ssh -fN -L <localport>:external2:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

   Recipe #3: Access a remote service visible from the ssh
                          server




    ssh -fN -L <localport>:external2:<remoteport> user@external




The service is available on the loopback interface only.
Local port forwarding

     Recipe #4: Access a remote service visible from the ssh
             server for any host behind the firewall




     ssh -fN -L 0.0.0.0:<localport>:external2:<remoteport> user@external

or
     ssh -fN -g -L <localport>:external2:<remoteport> user@external
Local port forwarding

     Recipe #4: Access a remote service visible from the ssh
             server for any host behind the firewall




     ssh -fN -L 0.0.0.0:<localport>:external2:<remoteport> user@external

or
     ssh -fN -g -L <localport>:external2:<remoteport> user@external
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
Remote port forwarding



Remote port forwarding (aka incoming
tunneling) forwards traffic coming to a
 remote port to a specified local port
Remote port forwarding

 Recipe #5: Access a service behind a firewall from the ssh
                          server




    ssh -fN -R <remoteport>:localhost:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

 Recipe #5: Access a service behind a firewall from the ssh
                          server




    ssh -fN -R <remoteport>:localhost:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

 Recipe #5: Access a service behind a firewall from the ssh
                          server




    ssh -fN -R <remoteport>:localhost:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

   Recipe #6: Access a service behind a firewall from any
          external host with access to the ssh server




     ssh -fN -R 0.0.0.0:<remoteport>:localhost:<localport> user@external


Edit /etc/ssh/sshd_config at ssh server to allow the client to select the address to which
the forwarding is bound:
     GatewayPorts clientspecified
Remote port forwarding

   Recipe #6: Access a service behind a firewall from any
          external host with access to the ssh server




     ssh -fN -R 0.0.0.0:<remoteport>:localhost:<localport> user@external


Edit /etc/ssh/sshd_config at ssh server to allow the client to select the address to which
the forwarding is bound:
     GatewayPorts clientspecified
Remote port forwarding

  Recipe #7: Access a service in a host accesible by the ssh
                client from the ssh server




    ssh -fN -R <remoteport>:internal2:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

  Recipe #7: Access a service in a host accesible by the ssh
                client from the ssh server




    ssh -fN -R <remoteport>:internal2:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

  Recipe #7: Access a service in a host accesible by the ssh
                client from the ssh server




    ssh -fN -R <remoteport>:internal2:<localport> user@external



The service is available on the loopback interface only.
Remote port forwarding

  Recipe #8: Access a service in a host accesible by the ssh
      client from any host with access to the ssh server




     ssh -fN -R 0.0.0.0:<remoteport>:internal2:<localport> user@external


Edit /etc/ssh/sshd_config at server to allow the client to select the address to which the
forwarding is bound:
     GatewayPorts clientspecified
Remote port forwarding

  Recipe #8: Access a service in a host accesible by the ssh
      client from any host with access to the ssh server




     ssh -fN -R 0.0.0.0:<remoteport>:internal2:<localport> user@external


Edit /etc/ssh/sshd_config at server to allow the client to select the address to which the
forwarding is bound:
     GatewayPorts clientspecified
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
SOCKS


SOCKS is an Internet protocol that
routes network packets between a
client and server through a proxy
server
                           — Wikipedia
SSH dynamic port forwarding


 •   SSH dynamic port forwarding allows the user to
     create a local SOCKS proxy.
 •   Free the user from the limitations of connecting
     only to a predefined remote port and server.
 •   Circumvention tool allowing to bypass Internet
     filtering to access content otherwise blocked by
     governments, workplaces and schools.
Dynamic port forwarding with SOCKS

              Recipe #9: Setup a SOCKS proxy




    ssh -fN -D <proxyport> user@sshserver

To allow any internal host to use the proxy:
    ssh -fN -D 0.0.0.0:<proxyport> user@sshserver
Dynamic port forwarding with SOCKS

              Recipe #9: Setup a SOCKS proxy




    ssh -fN -D <proxyport> user@sshserver

To allow any internal host to use the proxy:
    ssh -fN -D 0.0.0.0:<proxyport> user@sshserver
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
X forwarding
 • Using X, you can run remote X applications that open their
   windows on your local display.
 • The X protocol is insecure and wide open to snoopers.
 • SSH X forwarding makes the communication secure by tunneling
   the X protocol:

  ssh -X user@server xclock
Contents


1   SSH tunneling & common uses

2   Local port forwarding

3   Remote port forwarding

4   Dynamic port forwarding

5   X forwarding

6   Some useful tools
autossh

autossh is a program to start a copy of ssh and
monitor it, restarting it as necessary should it die or
stop passing traffic.


    autossh -M <port>[:echo_port] [-f] [SSH OPTIONS]
sslh


sslh makes it possible to connect to an SSH server or
an OpenVPN on port 443 while still serving HTTPS
on that port.
Port knocking


port knocking is a method of externally opening ports on
a firewall by generating a connection attempt on a set of
prespecified closed ports. Once a correct sequence of
connection attempts is received, the firewall rules are
dynamically modified to allow the host which sent the
connection attempts to connect over specific port(s).
                                            — Wikipedia
Port knocking


        (A) client cannot connect to
        application listening on port n
        (B) client cannot establish connection
        to any port
Port knocking


        (1,2,3,4) client connects to a
        well-defined set of ports in a sequence
        that contains an encrypted message
        by sending SYN packets; client has a
        priori knowledge of the port knocking
        daemon and its configuration, but
        receives no acknowledgement during
        this phase because firewall rules
        preclude any response
Port knocking


        (A) server process (a port knocking
        daemon) intercepts connection
        attempts and interprets (decrypts and
        decodes) them as comprising an
        authentic "port knock"; server carries
        out specific task based on content of
        port knock, such as opening port n to
        client
Port knocking


        (A) client connects to port n and
        authenticates using applications
        regular mechanism
knockd


knockd is a port-knock server. It listens to all traffic on
an ethernet interface, looking for special "knock"
sequences of port-hits.
References



 • SSH: The Secure Shell:
   http://docstore.mik.ua/orelly/networking_2ndEd/ssh/index.htm

 • autossh:
   http://www.harding.motd.ca/autossh/

 • sslh:
   http://www.rutschle.net/tech/sslh.shtml

 • Port knocking:
   http://www.portknocking.org/

 • knockd:
   http://www.zeroflux.org/projects/knock
Picture credits




  • Cover photo by twicepix:
    http://www.flickr.com/photos/twicepix/2825051329/

  • The map of the cyber-censorship by Reporters Without Borders:
    http://march12.rsf.org/en/
This work is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported License.
SSH Tunneling Recipes
Developer Toolbox Series




OSOCO
Rafael Luque

More Related Content

What's hot

Proactive monitoring with Monit
Proactive monitoring with MonitProactive monitoring with Monit
Proactive monitoring with Monit
OSOCO
 
SSH
SSHSSH
Telnet & SSH Configuration
Telnet & SSH ConfigurationTelnet & SSH Configuration
Telnet & SSH Configuration
Vinod Gour
 
Secure shell protocol
Secure shell protocolSecure shell protocol
Secure shell protocol
Baspally Sai Anirudh
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell ppt
sravya raju
 
Secure Shell(ssh)
Secure Shell(ssh)Secure Shell(ssh)
Secure Shell(ssh)
Pina Parmar
 
Securing the tunnel with Raccoon
Securing the tunnel with RaccoonSecuring the tunnel with Raccoon
Securing the tunnel with Raccoon
Gloria Stoilova
 
Secure shell
Secure shellSecure shell
Secure shell
Arjun Aj
 
TELNET and SSH by MUSTAFA SAKHAI
TELNET and SSH by MUSTAFA SAKHAITELNET and SSH by MUSTAFA SAKHAI
TELNET and SSH by MUSTAFA SAKHAI
MUSTAFA SAKHAI
 
Meeting 5.2 : ssh
Meeting 5.2 : sshMeeting 5.2 : ssh
Meeting 5.2 : ssh
Syaiful Ahdan
 
Secure SHell
Secure SHellSecure SHell
Secure SHell
Çağrı Çakır
 
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform EnviornmentNagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Nagios
 
OpenSSH: keep your secrets safe
OpenSSH: keep your secrets safeOpenSSH: keep your secrets safe
OpenSSH: keep your secrets safe
Giovanni Bechis
 
Module 3 Scanning
Module 3   ScanningModule 3   Scanning
Module 3 Scanningleminhvuong
 
Intro to SSH
Intro to SSHIntro to SSH
Intro to SSH
JP Bourget
 
Ssh And Rlogin
Ssh And RloginSsh And Rlogin
Ssh And RloginSourav Roy
 
Share File easily between computers using sftp
Share File easily between computers using sftpShare File easily between computers using sftp
Share File easily between computers using sftp
Tushar B Kute
 
OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!
Giovanni Bechis
 

What's hot (20)

Proactive monitoring with Monit
Proactive monitoring with MonitProactive monitoring with Monit
Proactive monitoring with Monit
 
SSH
SSHSSH
SSH
 
Telnet & SSH Configuration
Telnet & SSH ConfigurationTelnet & SSH Configuration
Telnet & SSH Configuration
 
Secure shell protocol
Secure shell protocolSecure shell protocol
Secure shell protocol
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell ppt
 
Ssh
SshSsh
Ssh
 
Secure Shell(ssh)
Secure Shell(ssh)Secure Shell(ssh)
Secure Shell(ssh)
 
Securing the tunnel with Raccoon
Securing the tunnel with RaccoonSecuring the tunnel with Raccoon
Securing the tunnel with Raccoon
 
Secure shell
Secure shellSecure shell
Secure shell
 
TELNET and SSH by MUSTAFA SAKHAI
TELNET and SSH by MUSTAFA SAKHAITELNET and SSH by MUSTAFA SAKHAI
TELNET and SSH by MUSTAFA SAKHAI
 
Meeting 5.2 : ssh
Meeting 5.2 : sshMeeting 5.2 : ssh
Meeting 5.2 : ssh
 
Secure SHell
Secure SHellSecure SHell
Secure SHell
 
Introduction to SSH & PGP
Introduction to SSH & PGPIntroduction to SSH & PGP
Introduction to SSH & PGP
 
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform EnviornmentNagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
 
OpenSSH: keep your secrets safe
OpenSSH: keep your secrets safeOpenSSH: keep your secrets safe
OpenSSH: keep your secrets safe
 
Module 3 Scanning
Module 3   ScanningModule 3   Scanning
Module 3 Scanning
 
Intro to SSH
Intro to SSHIntro to SSH
Intro to SSH
 
Ssh And Rlogin
Ssh And RloginSsh And Rlogin
Ssh And Rlogin
 
Share File easily between computers using sftp
Share File easily between computers using sftpShare File easily between computers using sftp
Share File easily between computers using sftp
 
OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!OpenSMTPD: we deliver !!
OpenSMTPD: we deliver !!
 

Viewers also liked

Understanding Java Dynamic Proxies
Understanding Java Dynamic ProxiesUnderstanding Java Dynamic Proxies
Understanding Java Dynamic Proxies
OSOCO
 
AWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 MinutosAWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 Minutos
OSOCO
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
Marcin Gryszko
 
Spring Annotations: Proxy
Spring Annotations: ProxySpring Annotations: Proxy
Spring Annotations: Proxy
OSOCO
 
Polyglot JVM
Polyglot JVMPolyglot JVM
Polyglot JVM
Arturo Herrero
 
Study of tunnel engineering
Study of tunnel engineeringStudy of tunnel engineering
Study of tunnel engineering
Adil Shaikh
 
The tunnel powerpoint
The tunnel powerpointThe tunnel powerpoint
The tunnel powerpointishict
 
Tunnelling
TunnellingTunnelling
Tunnelling
Usama Zia
 
SLAs the heart of Outsourcing
SLAs the heart of OutsourcingSLAs the heart of Outsourcing
SLAs the heart of Outsourcing
Dr Bharat Vagadia
 
Challenges during Design and Construction of an Underground Chip Factory (Waf...
Challenges during Design and Construction of an Underground Chip Factory (Waf...Challenges during Design and Construction of an Underground Chip Factory (Waf...
Challenges during Design and Construction of an Underground Chip Factory (Waf...
Helmut Wannenmacher
 
Golfgis English
Golfgis EnglishGolfgis English
Golfgis English
GOMOGI Mobile Geographics
 
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
IEI GSC
 
The Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
The Use of GIS and GPS in Pipeline Permitting and Regulatory ComplianceThe Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
The Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
wlgardnerjr
 
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
Alex Rupérez
 
NSCoder Keynote - Multipeer Connectivity Framework
NSCoder Keynote - Multipeer Connectivity FrameworkNSCoder Keynote - Multipeer Connectivity Framework
NSCoder Keynote - Multipeer Connectivity Framework
Alex Rupérez
 
Gigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeaconsGigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeacons
Alex Rupérez
 
Gigigo Workshop - Create an iOS Framework, document it and not die trying
Gigigo Workshop - Create an iOS Framework, document it and not die tryingGigigo Workshop - Create an iOS Framework, document it and not die trying
Gigigo Workshop - Create an iOS Framework, document it and not die trying
Alex Rupérez
 
Gigigo Workshop - iOS Extensions
Gigigo Workshop - iOS ExtensionsGigigo Workshop - iOS Extensions
Gigigo Workshop - iOS Extensions
Alex Rupérez
 
tunneling & its effects
tunneling & its effectstunneling & its effects
tunneling & its effects
Budarapu Venkat Pranay
 
Tunneling Construction - NATM
Tunneling Construction - NATMTunneling Construction - NATM
Tunneling Construction - NATM
luisaam
 

Viewers also liked (20)

Understanding Java Dynamic Proxies
Understanding Java Dynamic ProxiesUnderstanding Java Dynamic Proxies
Understanding Java Dynamic Proxies
 
AWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 MinutosAWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 Minutos
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
 
Spring Annotations: Proxy
Spring Annotations: ProxySpring Annotations: Proxy
Spring Annotations: Proxy
 
Polyglot JVM
Polyglot JVMPolyglot JVM
Polyglot JVM
 
Study of tunnel engineering
Study of tunnel engineeringStudy of tunnel engineering
Study of tunnel engineering
 
The tunnel powerpoint
The tunnel powerpointThe tunnel powerpoint
The tunnel powerpoint
 
Tunnelling
TunnellingTunnelling
Tunnelling
 
SLAs the heart of Outsourcing
SLAs the heart of OutsourcingSLAs the heart of Outsourcing
SLAs the heart of Outsourcing
 
Challenges during Design and Construction of an Underground Chip Factory (Waf...
Challenges during Design and Construction of an Underground Chip Factory (Waf...Challenges during Design and Construction of an Underground Chip Factory (Waf...
Challenges during Design and Construction of an Underground Chip Factory (Waf...
 
Golfgis English
Golfgis EnglishGolfgis English
Golfgis English
 
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
Integrated Geophysical Approach for Rapid & Cost Effective Site Investigation...
 
The Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
The Use of GIS and GPS in Pipeline Permitting and Regulatory ComplianceThe Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
The Use of GIS and GPS in Pipeline Permitting and Regulatory Compliance
 
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
MADBike – Destapando la seguridad de BiciMAD (T3chFest 2017)
 
NSCoder Keynote - Multipeer Connectivity Framework
NSCoder Keynote - Multipeer Connectivity FrameworkNSCoder Keynote - Multipeer Connectivity Framework
NSCoder Keynote - Multipeer Connectivity Framework
 
Gigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeaconsGigigo Keynote - Geofences & iBeacons
Gigigo Keynote - Geofences & iBeacons
 
Gigigo Workshop - Create an iOS Framework, document it and not die trying
Gigigo Workshop - Create an iOS Framework, document it and not die tryingGigigo Workshop - Create an iOS Framework, document it and not die trying
Gigigo Workshop - Create an iOS Framework, document it and not die trying
 
Gigigo Workshop - iOS Extensions
Gigigo Workshop - iOS ExtensionsGigigo Workshop - iOS Extensions
Gigigo Workshop - iOS Extensions
 
tunneling & its effects
tunneling & its effectstunneling & its effects
tunneling & its effects
 
Tunneling Construction - NATM
Tunneling Construction - NATMTunneling Construction - NATM
Tunneling Construction - NATM
 

Similar to SSH Tunneling Recipes

Up and Running SSH Service - Part 2
Up and Running SSH Service - Part 2Up and Running SSH Service - Part 2
Up and Running SSH Service - Part 2
GLC Networks
 
Using Secure Shell on Linux: What Everyone Should Know
Using Secure Shell on Linux: What Everyone Should KnowUsing Secure Shell on Linux: What Everyone Should Know
Using Secure Shell on Linux: What Everyone Should Know
Novell
 
SSH Tunneling
SSH TunnelingSSH Tunneling
SSH Tunneling
Thanh Tai
 
SSH Tunnel-Fu [NoVaH 2011]
SSH Tunnel-Fu [NoVaH 2011]SSH Tunnel-Fu [NoVaH 2011]
SSH Tunnel-Fu [NoVaH 2011]
Vincent Batts
 
tutorial-ssh.pdf
tutorial-ssh.pdftutorial-ssh.pdf
tutorial-ssh.pdf
NigussMehari4
 
Building Security Acсess to Remote Devices
Building Security Acсess to Remote DevicesBuilding Security Acсess to Remote Devices
Building Security Acсess to Remote Devices
GlobalLogic Ukraine
 
Unit 13 network client
Unit 13 network clientUnit 13 network client
Unit 13 network clientroot_fibo
 
Bh usa-01-kaminsky
Bh usa-01-kaminskyBh usa-01-kaminsky
Bh usa-01-kaminskyDan Kaminsky
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
Jean-Marie Renouard
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
Philippe Bogaerts
 
FreeBSD, ipfw and OpenVPN 2.1 server
FreeBSD, ipfw and OpenVPN 2.1 serverFreeBSD, ipfw and OpenVPN 2.1 server
FreeBSD, ipfw and OpenVPN 2.1 server
Tomaz Muraus
 
Windowshadoop
WindowshadoopWindowshadoop
Windowshadoop
arunkumar sadhasivam
 
OpenShift v3 Internal networking details
OpenShift v3 Internal networking detailsOpenShift v3 Internal networking details
OpenShift v3 Internal networking details
Etsuji Nakai
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open source
Ingo Walz
 
Port forwarding
Port forwardingPort forwarding
Port forwarding
Ronak Mehta
 
How to install Setup & Configure SSH Jump Server on a Linux box
How to install Setup & Configure  SSH Jump Server on a Linux boxHow to install Setup & Configure  SSH Jump Server on a Linux box
How to install Setup & Configure SSH Jump Server on a Linux box
Ezee Login
 
Introducing bastion hosts for oracle cloud infrastructure v1.0
Introducing bastion hosts for oracle cloud infrastructure v1.0Introducing bastion hosts for oracle cloud infrastructure v1.0
Introducing bastion hosts for oracle cloud infrastructure v1.0
maaz khan
 

Similar to SSH Tunneling Recipes (20)

Up and Running SSH Service - Part 2
Up and Running SSH Service - Part 2Up and Running SSH Service - Part 2
Up and Running SSH Service - Part 2
 
Advanced open ssh
Advanced open sshAdvanced open ssh
Advanced open ssh
 
Using Secure Shell on Linux: What Everyone Should Know
Using Secure Shell on Linux: What Everyone Should KnowUsing Secure Shell on Linux: What Everyone Should Know
Using Secure Shell on Linux: What Everyone Should Know
 
SSH Tunneling
SSH TunnelingSSH Tunneling
SSH Tunneling
 
SSH Tunnel-Fu [NoVaH 2011]
SSH Tunnel-Fu [NoVaH 2011]SSH Tunnel-Fu [NoVaH 2011]
SSH Tunnel-Fu [NoVaH 2011]
 
tutorial-ssh.pdf
tutorial-ssh.pdftutorial-ssh.pdf
tutorial-ssh.pdf
 
Building Security Acсess to Remote Devices
Building Security Acсess to Remote DevicesBuilding Security Acсess to Remote Devices
Building Security Acсess to Remote Devices
 
Unit 13 network client
Unit 13 network clientUnit 13 network client
Unit 13 network client
 
Bh usa-01-kaminsky
Bh usa-01-kaminskyBh usa-01-kaminsky
Bh usa-01-kaminsky
 
Remote1
Remote1Remote1
Remote1
 
Ssh cookbook v2
Ssh cookbook v2Ssh cookbook v2
Ssh cookbook v2
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
 
Defeating The Network Security Infrastructure V1.0
Defeating The Network Security Infrastructure  V1.0Defeating The Network Security Infrastructure  V1.0
Defeating The Network Security Infrastructure V1.0
 
FreeBSD, ipfw and OpenVPN 2.1 server
FreeBSD, ipfw and OpenVPN 2.1 serverFreeBSD, ipfw and OpenVPN 2.1 server
FreeBSD, ipfw and OpenVPN 2.1 server
 
Windowshadoop
WindowshadoopWindowshadoop
Windowshadoop
 
OpenShift v3 Internal networking details
OpenShift v3 Internal networking detailsOpenShift v3 Internal networking details
OpenShift v3 Internal networking details
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open source
 
Port forwarding
Port forwardingPort forwarding
Port forwarding
 
How to install Setup & Configure SSH Jump Server on a Linux box
How to install Setup & Configure  SSH Jump Server on a Linux boxHow to install Setup & Configure  SSH Jump Server on a Linux box
How to install Setup & Configure SSH Jump Server on a Linux box
 
Introducing bastion hosts for oracle cloud infrastructure v1.0
Introducing bastion hosts for oracle cloud infrastructure v1.0Introducing bastion hosts for oracle cloud infrastructure v1.0
Introducing bastion hosts for oracle cloud infrastructure v1.0
 

Recently uploaded

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 

Recently uploaded (20)

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 

SSH Tunneling Recipes

  • 1. SSH Tunneling Recipes Developer Toolbox Series Rafael Luque, OSOCO
  • 2. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 3. Protocol tunneling One network protocol —the delivery protocol— encapsulates a different payload protocol. — Wikipedia
  • 4. SSH tunneling A secure shell (SSH) tunnel consists of an encrypted tunnel created through a SSH protocol connection. — Wikipedia
  • 5. Common uses To securely connect to a remote host and have your network traffic encrypted
  • 6. Common uses To securely connect to a remote host and have your network traffic encrypted • You are on a public, non secure, non trusted or unencrypted network. • You use an insecure protocol like POP3, IMAP, SMTP, FTP, telnet, etc.
  • 7. Common uses To bypass local network restrictions and monitoring services
  • 8. Common uses Internet censorship circumvention
  • 10. Common uses Open backdoors to allow outbound connections to hosts behind a firewall
  • 11. Common uses X11 forwarding
  • 12. Common uses Access services bound to the loopback interface
  • 13. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 14. Local port forwarding Local port forwarding (aka outgoing tunneling) forwards traffic coming to a local port to a specified remote port
  • 15. Local port forwarding Recipe #1: Access a remote service behind a firewall ssh -fN -L <localport>:localhost:<remoteport> user@external The service is available on the loopback interface only.
  • 16. Local port forwarding Recipe #1: Access a remote service behind a firewall ssh -fN -L <localport>:localhost:<remoteport> user@external The service is available on the loopback interface only.
  • 17. Local port forwarding Recipe #1: Access a remote service behind a firewall ssh -fN -L <localport>:localhost:<remoteport> user@external The service is available on the loopback interface only.
  • 18. Local port forwarding Recipe #2: Access a remote service from any host behind the firewall ssh -fN -L 0.0.0.0:<localport>:localhost:<remoteport> user@external or ssh -fN -g -L <localport>:localhost:<remoteport> user@external
  • 19. Local port forwarding Recipe #2: Access a remote service from any host behind the firewall ssh -fN -L 0.0.0.0:<localport>:localhost:<remoteport> user@external or ssh -fN -g -L <localport>:localhost:<remoteport> user@external
  • 20. Local port forwarding Recipe #3: Access a remote service visible from the ssh server ssh -fN -L <localport>:external2:<remoteport> user@external The service is available on the loopback interface only.
  • 21. Local port forwarding Recipe #3: Access a remote service visible from the ssh server ssh -fN -L <localport>:external2:<remoteport> user@external The service is available on the loopback interface only.
  • 22. Local port forwarding Recipe #3: Access a remote service visible from the ssh server ssh -fN -L <localport>:external2:<remoteport> user@external The service is available on the loopback interface only.
  • 23. Local port forwarding Recipe #4: Access a remote service visible from the ssh server for any host behind the firewall ssh -fN -L 0.0.0.0:<localport>:external2:<remoteport> user@external or ssh -fN -g -L <localport>:external2:<remoteport> user@external
  • 24. Local port forwarding Recipe #4: Access a remote service visible from the ssh server for any host behind the firewall ssh -fN -L 0.0.0.0:<localport>:external2:<remoteport> user@external or ssh -fN -g -L <localport>:external2:<remoteport> user@external
  • 25. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 26. Remote port forwarding Remote port forwarding (aka incoming tunneling) forwards traffic coming to a remote port to a specified local port
  • 27. Remote port forwarding Recipe #5: Access a service behind a firewall from the ssh server ssh -fN -R <remoteport>:localhost:<localport> user@external The service is available on the loopback interface only.
  • 28. Remote port forwarding Recipe #5: Access a service behind a firewall from the ssh server ssh -fN -R <remoteport>:localhost:<localport> user@external The service is available on the loopback interface only.
  • 29. Remote port forwarding Recipe #5: Access a service behind a firewall from the ssh server ssh -fN -R <remoteport>:localhost:<localport> user@external The service is available on the loopback interface only.
  • 30. Remote port forwarding Recipe #6: Access a service behind a firewall from any external host with access to the ssh server ssh -fN -R 0.0.0.0:<remoteport>:localhost:<localport> user@external Edit /etc/ssh/sshd_config at ssh server to allow the client to select the address to which the forwarding is bound: GatewayPorts clientspecified
  • 31. Remote port forwarding Recipe #6: Access a service behind a firewall from any external host with access to the ssh server ssh -fN -R 0.0.0.0:<remoteport>:localhost:<localport> user@external Edit /etc/ssh/sshd_config at ssh server to allow the client to select the address to which the forwarding is bound: GatewayPorts clientspecified
  • 32. Remote port forwarding Recipe #7: Access a service in a host accesible by the ssh client from the ssh server ssh -fN -R <remoteport>:internal2:<localport> user@external The service is available on the loopback interface only.
  • 33. Remote port forwarding Recipe #7: Access a service in a host accesible by the ssh client from the ssh server ssh -fN -R <remoteport>:internal2:<localport> user@external The service is available on the loopback interface only.
  • 34. Remote port forwarding Recipe #7: Access a service in a host accesible by the ssh client from the ssh server ssh -fN -R <remoteport>:internal2:<localport> user@external The service is available on the loopback interface only.
  • 35. Remote port forwarding Recipe #8: Access a service in a host accesible by the ssh client from any host with access to the ssh server ssh -fN -R 0.0.0.0:<remoteport>:internal2:<localport> user@external Edit /etc/ssh/sshd_config at server to allow the client to select the address to which the forwarding is bound: GatewayPorts clientspecified
  • 36. Remote port forwarding Recipe #8: Access a service in a host accesible by the ssh client from any host with access to the ssh server ssh -fN -R 0.0.0.0:<remoteport>:internal2:<localport> user@external Edit /etc/ssh/sshd_config at server to allow the client to select the address to which the forwarding is bound: GatewayPorts clientspecified
  • 37. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 38. SOCKS SOCKS is an Internet protocol that routes network packets between a client and server through a proxy server — Wikipedia
  • 39. SSH dynamic port forwarding • SSH dynamic port forwarding allows the user to create a local SOCKS proxy. • Free the user from the limitations of connecting only to a predefined remote port and server. • Circumvention tool allowing to bypass Internet filtering to access content otherwise blocked by governments, workplaces and schools.
  • 40. Dynamic port forwarding with SOCKS Recipe #9: Setup a SOCKS proxy ssh -fN -D <proxyport> user@sshserver To allow any internal host to use the proxy: ssh -fN -D 0.0.0.0:<proxyport> user@sshserver
  • 41. Dynamic port forwarding with SOCKS Recipe #9: Setup a SOCKS proxy ssh -fN -D <proxyport> user@sshserver To allow any internal host to use the proxy: ssh -fN -D 0.0.0.0:<proxyport> user@sshserver
  • 42. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 43. X forwarding • Using X, you can run remote X applications that open their windows on your local display. • The X protocol is insecure and wide open to snoopers. • SSH X forwarding makes the communication secure by tunneling the X protocol: ssh -X user@server xclock
  • 44. Contents 1 SSH tunneling & common uses 2 Local port forwarding 3 Remote port forwarding 4 Dynamic port forwarding 5 X forwarding 6 Some useful tools
  • 45. autossh autossh is a program to start a copy of ssh and monitor it, restarting it as necessary should it die or stop passing traffic. autossh -M <port>[:echo_port] [-f] [SSH OPTIONS]
  • 46. sslh sslh makes it possible to connect to an SSH server or an OpenVPN on port 443 while still serving HTTPS on that port.
  • 47. Port knocking port knocking is a method of externally opening ports on a firewall by generating a connection attempt on a set of prespecified closed ports. Once a correct sequence of connection attempts is received, the firewall rules are dynamically modified to allow the host which sent the connection attempts to connect over specific port(s). — Wikipedia
  • 48. Port knocking (A) client cannot connect to application listening on port n (B) client cannot establish connection to any port
  • 49. Port knocking (1,2,3,4) client connects to a well-defined set of ports in a sequence that contains an encrypted message by sending SYN packets; client has a priori knowledge of the port knocking daemon and its configuration, but receives no acknowledgement during this phase because firewall rules preclude any response
  • 50. Port knocking (A) server process (a port knocking daemon) intercepts connection attempts and interprets (decrypts and decodes) them as comprising an authentic "port knock"; server carries out specific task based on content of port knock, such as opening port n to client
  • 51. Port knocking (A) client connects to port n and authenticates using applications regular mechanism
  • 52. knockd knockd is a port-knock server. It listens to all traffic on an ethernet interface, looking for special "knock" sequences of port-hits.
  • 53. References • SSH: The Secure Shell: http://docstore.mik.ua/orelly/networking_2ndEd/ssh/index.htm • autossh: http://www.harding.motd.ca/autossh/ • sslh: http://www.rutschle.net/tech/sslh.shtml • Port knocking: http://www.portknocking.org/ • knockd: http://www.zeroflux.org/projects/knock
  • 54. Picture credits • Cover photo by twicepix: http://www.flickr.com/photos/twicepix/2825051329/ • The map of the cyber-censorship by Reporters Without Borders: http://march12.rsf.org/en/
  • 55. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
  • 56. SSH Tunneling Recipes Developer Toolbox Series OSOCO Rafael Luque