<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Security on MobaXterm Blog</title>
    <link>https://blog.mobatek.net/tags/security/</link>
    <description>Recent content in Security on MobaXterm Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 04 Jan 2016 00:00:00 +0100</lastBuildDate>
    <atom:link href="https://blog.mobatek.net/tags/security/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>SSH tunnels and port forwarding</title>
      <link>https://blog.mobatek.net/post/ssh-tunnels-and-port-forwarding/</link>
      <pubDate>Mon, 04 Jan 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.mobatek.net/post/ssh-tunnels-and-port-forwarding/</guid>
      <description>

&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;Today, we will try to give you a simple explanation of a life-saver feature: &lt;span class=&#34;hitext&#34;&gt;SSH tunnels&lt;/span&gt; and &lt;span class=&#34;hitext&#34;&gt;port-forwarding&lt;/span&gt;!&lt;/p&gt;

&lt;p&gt;There are many cases in which you will find SSH-tunnels very useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;when your remote server is not directly accessible (behind a firewall or in a DMZ)&lt;/li&gt;
&lt;li&gt;when your remote program only binds to 127.0.0.1 (if you are using a mysql instance only bound to localhost on your web server for instance)&lt;/li&gt;
&lt;li&gt;when you want to secure a protocol (like VNC or X11) by transporting it through an encrypted SSH channel&lt;/li&gt;
&lt;li&gt;when you connect to a home computer, NAS or Raspberry Pi from the Internet&lt;/li&gt;
&lt;li&gt;when you need to get through a network equipment where only SSH protocol is allowed&lt;/li&gt;
&lt;li&gt;when you open a connection to a remote server and need to easily open a reverse communication channel from the remote server to your local computer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In all these situations, you will be able to achieve your goal easily thanks to SSH-tunnels.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;simple-explanation-of-ssh-tunnels-and-port-forwarding:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;Simple explanation of SSH tunnels and port-forwarding&lt;/h1&gt;

&lt;p&gt;If you are not used with SSH tunnels, here is a simple graphical explanation on how a simple SSH-tunnel works:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://blog.mobatek.net/img/screenshots/local-port-forwarding.png&#34; alt=&#34;Local port fowarding (SSH tunnel)&#34; /&gt;&lt;/p&gt;

&lt;p&gt;This screenshot explains local port-forwarding mechanism: local clients need to connect to a remote server which cannot be reached directly through network. A SSH connection will be established from &amp;ldquo;My computer&amp;rdquo; to &amp;ldquo;SSH server&amp;rdquo; (used as a &amp;ldquo;jump host&amp;rdquo;) and the local clients will use this tunnel in order to directly connect to the remote server.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
In the example above, the remote server is running a MySQL database on port 3306. In order to reach it directly, the client applications will have to connect to &amp;ldquo;localhost&amp;rdquo;, on port 12345.
Their connection will be automatically forwarded through the encrypted SSH tunnel, go through the jump host and reach the remote server on port 3306.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
This picture shows the mechanism called &amp;ldquo;Local port forwarding&amp;rdquo;, but there are 2 other kinds of port-forwarding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remote port-forwarding: this is the same principle, a tunnel is opened from local computer to jump host, but the aim is to connect from remote server to local computer.&lt;/li&gt;
&lt;li&gt;Dynamic port-forwarding: same principle, but the dynamic tunnel allows connection to any remote hosts and any remote ports. Local applications should be compatible with this protocol and allow configuration of a &#34;SOCKS proxy&#34;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-connect-to-remote-computers-using-a-jump-host:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to connect to remote computers using a jump host&lt;/h1&gt;

&lt;p&gt;&lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt; makes it really easy to connect through a jump-host.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s say we want to reach ServerC through SSH, telnet, RDP or VNC. Unfortunately, ServerC cannot be reached directly on the network, you have to connect to ServerB first, then from ServerB to ServerC.
In MobaXterm, you just have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create a new SSH, telnet, RDP or VNC session&lt;/li&gt;
&lt;li&gt;put &#34;ServerC&#34; in the &#34;remote host&#34; field&lt;/li&gt;
&lt;li&gt;open the &#34;Network settings&#34; section&lt;/li&gt;
&lt;li&gt;check &#34;Connect through SSH gateway (jump host)&lt;/li&gt;
&lt;li&gt;fill-in required information in order to connect to &#34;ServerB&#34;&lt;/li&gt;
&lt;/ul&gt;  

&lt;p&gt;This will silently create an encrypted SSH tunnel to ServerB and then use this tunnel in order to connect to ServerC.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-connect-to-my-cisco-router-or-switch-behind-a-firewall:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to connect to my Cisco router or switch behind a firewall?&lt;/h1&gt;

&lt;p&gt;It is sometimes hard to work with remote network equipments, especially when they only allow telnet connections and when telnet is disallowed in your company firewall.&lt;/p&gt;

&lt;p&gt;There is a simple workaround if you can reach a server behind the firewall using SSH: let&amp;rsquo;s say the server you can reach using SSH is called &amp;ldquo;RemoteSshServer&amp;rdquo;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt;, just create a new telnet session.&lt;/li&gt; 
&lt;li&gt;Put your Cisco equipment address in the &#34;remote host&#34; field. This address should be the one which will be used by &#34;RemoteSshServer&#34;.&lt;/li&gt;
&lt;li&gt;Open the &#34;Network settings&#34; section and check &#34;Connect through SSH gateway (jump host)&lt;/li&gt;
&lt;li&gt;Fill-in required information in order to connect to &#34;RemoteSshServer&#34;&lt;/li&gt;
&lt;/ul&gt;  

&lt;p&gt;This will silently create an encrypted SSH tunnel to RemoteSshServer and then use this tunnel in order to connect to your network router.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-reach-my-server-behind-multiple-jump-hosts:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to reach my server behind multiple jump hosts?&lt;/h1&gt;

&lt;p&gt;Well in this case you will have to manually create your SSH tunnels. Do not worry, this will not be too hard.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s say we want to reach &amp;ldquo;ServerD&amp;rdquo;, by using &amp;ldquo;ServerB&amp;rdquo; and &amp;ldquo;ServerC&amp;rdquo; as jump hosts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open &#34;MobaSSHTunnel&#34; from &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt; &#34;Tools&#34; menu&lt;/li&gt;
&lt;li&gt;Click on &#34;New SSH tunnel&#34; and create a new local SSH tunnel to &#34;ServerC&#34; by using &#34;ServerB&#34; as jump host. Type &#34;11111&#34; in the &#34;Forwarded port&#34; field&lt;/li&gt;
&lt;li&gt;Click on &#34;New SSH tunnel&#34; again and create a 2nd local SSH tunnel to &#34;ServerD&#34; by using &#34;localhost&#34; port &#34;11111&#34; as jump host. Type &#34;22222&#34; in the &#34;Forwarded port&#34; field&lt;/li&gt;
&lt;li&gt;Verify that the 2 tunnels are properly started&lt;/li&gt;
&lt;li&gt;Create a new MobaXterm session and connect to &#34;localhost&#34; port &#34;22222&#34; in order to directly reach &#34;ServerD&#34;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;First SSH tunnel&lt;/u&gt;:
&lt;img src=&#34;https://blog.mobatek.net/img/screenshots/ssh-tunnel-multiple-jump-hosts1.png&#34; alt=&#34;SSH-tunnel 1&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;u&gt;Second SSH tunnel&lt;/u&gt;:
&lt;img src=&#34;https://blog.mobatek.net/img/screenshots/ssh-tunnel-multiple-jump-hosts2.png&#34; alt=&#34;SSH-tunnel 2&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-reach-my-remote-sql-server-which-only-binds-to-localhost:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to reach my remote SQL server which only binds to localhost?&lt;/h1&gt;

&lt;p&gt;In this case you will also have to manually create your SSH tunnel.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s say we want to reach a MySQL instance on &amp;ldquo;MyWebServer&amp;rdquo;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open &#34;MobaSSHTunnel&#34; from &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt; &#34;Tools&#34; menu&lt;/li&gt;
&lt;li&gt;Click on &#34;New SSH tunnel&#34;&lt;/li&gt;
&lt;li&gt;Create a new local SSH tunnel to remote server &lt;b&gt;localhost&lt;/b&gt;, using remote port &lt;b&gt;3306&lt;/b&gt;, SSH server &lt;b&gt;MysqlServer&lt;/b&gt; (port 22), and forwarded port &lt;b&gt;3306&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Connect to your remote MySQL database using your favorite client tool by using remote address &lt;b&gt;localhost&lt;/b&gt;, port &lt;b&gt;3306&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&#34;https://blog.mobatek.net/img/screenshots/reach-remote-mysql-through-ssh-tunnel.png&#34; alt=&#34;Reach remote MySQL server through SSH-tunnel&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-securely-reach-my-home-computer-raspberry-pi-or-nas-server-through-internet:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to securely reach my home computer, Raspberry Pi or NAS server through Internet?&lt;/h1&gt;

&lt;p&gt;If you have a Raspberry Pi, there is a specific procedure for the Raspberry Pi described in &lt;a target=&#34;_blank&#34; href=&#34;https://blog.mobatek.net/post/control-raspberry-pi-without-monitor-or-keyboard-thanks-to-MobaXterm/&#34;&gt;this article&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For any other equipment, here is the basic procedure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href=&#34;https://whatismyipaddress.com/&#34;&gt;https://whatismyipaddress.com&lt;/a&gt; in order to know your public IP address (the address from which your house can be reached from the internet): let&#39;s say that the public IP address you obtained is 36.36.36.36 and the IP address of your equipment on your home network is 192.168.1.10.&lt;/li&gt;
&lt;li&gt;Add a new &#34;Port forwarding&#34; entry in your internet router with the following configuration: port &#34;22&#34; from the internet is forwarded to &#34;192.168.1.10&#34; on port &#34;22&#34;. It means that when someone from outside your house connects to your internet router on port 22 (SSH), its connection is redirected to your home equipment on port 22 (SSH).&lt;/li&gt;
&lt;li&gt;From outside your home, launch &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt; on a Windows computer connected to the Internet&lt;/li&gt;
&lt;li&gt;Create a new SSH session, fill the &#34;remote host&#34; field using your public IP address 36.36.36.36 and click on &#34;OK&#34;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-set-up-a-simple-socks-proxy:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to set up a simple SOCKS proxy?&lt;/h1&gt;

&lt;p&gt;A SOCKS proxy is basically a service which performs &amp;ldquo;dynamic port forwarding&amp;rdquo;.
In order to set up a simple socks proxy, you just have to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open &#34;MobaSSHTunnel&#34; from &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt; &#34;Tools&#34; menu&lt;/li&gt;
&lt;li&gt;click on &#34;New SSH tunnel&#34;&lt;/li&gt;
&lt;li&gt;check the &#34;Dynamic SSH tunnel&#34; setting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&#34;how-to-secure-my-vnc-connection-using-ssh:b8ebdf9b2cb412a3a77c16c73c0d31ed&#34;&gt;How to secure my VNC connection using SSH?&lt;/h1&gt;

&lt;p&gt;Basic VNC protocol is not secured, so in order to encrypt data, you can direct VNC traffic through a SSH tunnel. You will need a SSH server installed on the host where VNC server is.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your remote server, configure the VNC-server program in order to listen only to localhost (127.0.0.1)&lt;/li&gt; 
&lt;li&gt;In &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download-home-edition.html&#34;&gt;MobaXterm&lt;/a&gt;, create a new VNC session&lt;/li&gt; 
&lt;li&gt;Set the &#34;remote host&#34; field to &#34;localhost&#34;&lt;/li&gt;
&lt;li&gt;Open the &#34;Network settings&#34; section and check &#34;Connect through SSH gateway (jump host)&lt;/li&gt;
&lt;li&gt;Fill-in required information in order to connect to your remote SSH server&lt;/li&gt;
&lt;/ul&gt;  

&lt;p&gt;This will silently create an encrypted SSH tunnel to your remote server and then direct VNC traffic through this tunnel.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
We hope that these explanations about SSH tunnels and port-forwarding will be useful for your daily work.&lt;/p&gt;

&lt;p&gt;If you want to read more on the subject, you can read the Wikipedia articles about &lt;a target=&#34;_blank&#34; href=&#34;https://en.wikipedia.org/wiki/Tunneling_protocol&#34;&gt;tunneling&lt;/a&gt; or &lt;a target=&#34;_blank&#34; href=&#34;https://en.wikipedia.org/wiki/Port_forwarding&#34;&gt;port-forwarding&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Secure MobaXterm for your company</title>
      <link>https://blog.mobatek.net/post/secure-mobaxterm-for-your-company/</link>
      <pubDate>Mon, 16 Mar 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.mobatek.net/post/secure-mobaxterm-for-your-company/</guid>
      <description>&lt;p&gt;When you purchase &lt;a target=&#34;_blank&#34; href=&#34;https://mobaxterm.mobatek.net/download.html&#34;&gt;MobaXterm Pro Edition&lt;/a&gt;, you get access to a registered copy of MobaXterm and another program called &lt;span class=&#34;hitext&#34;&gt;Customizer&lt;/span&gt;.
Using MobaXterm Customizer, you will be able to generate customized copies of MobaXterm with your own logo and your default settings. Settings specified in the Customizer will be hard-coded within the generated executable itself.&lt;/p&gt;

&lt;p&gt;We already discussed about MobaXterm customization in &lt;a target=&#34;_blank&#34; href=&#34;https://blog.mobatek.net/post/customize-mobaxterm-for-professional-use/&#34;&gt;another article&lt;/a&gt;. We will now try to explain in details how to secure your MobaXterm installation for your company use.&lt;/p&gt;

&lt;p&gt;MobaXterm is already a secure program: its SSH connections are based on the well-known &lt;a target=&#34;_blank&#34; href=&#34;https://www.openssh.com/&#34;&gt;OpenSSH program&lt;/a&gt; and encrypted using the &lt;a target=&#34;_blank&#34; href=&#34;https://www.openssl.org/&#34;&gt;OpenSSL library&lt;/a&gt;, its sources are available so that anyone can audit them, its passwords can be stored with strong encryption.&lt;/p&gt;

&lt;p&gt;For home usage, MobaXterm default settings may be enough to ensure a decent security level.
However, depending on your company security rules, you can disable some features which may be considered as unsafe in your professional environment.&lt;/p&gt;

&lt;p&gt;In the &lt;span class=&#34;hitext&#34;&gt;Customizer&lt;/span&gt; program, go to the &lt;span class=&#34;hitext&#34;&gt;Settings&lt;/span&gt; tab, then to the &lt;span class=&#34;hitext&#34;&gt;Security&lt;/span&gt; tab.&lt;/p&gt;

&lt;p&gt;Each setting can be leaved unchecked (less secure) or checked (more secure), you will have to make some choices between features and security.&lt;/p&gt;

&lt;p&gt;For instance:
&lt;ul&gt;
  &lt;li&gt;if users do not use any of the embedded servers, we recommend to check the &lt;span class=&#34;hitext&#34;&gt;Disable servers&lt;/span&gt; box: this will prevent your company users from starting one of the embedded MobaXterm daemons (SSH, telnet, VNC, HTTP, FTP, &amp;hellip;)&lt;/li&gt;
  &lt;li&gt;if users do not need any network packet capture or network scanner / port scanner tools, we recommend to check the &lt;span class=&#34;hitext&#34;&gt;disable packet capture&lt;/span&gt; and &lt;span class=&#34;hitext&#34;&gt;disable network/ports scanner&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;you may also consider the possibility in your environment, to disable insecure protocols such as telnet, &lt;span class=&#34;hitext&#34;&gt;rlogin&lt;/span&gt; or &lt;span class=&#34;hitext&#34;&gt;ftp&lt;/span&gt; and use &lt;span class=&#34;hitext&#34;&gt;SSH / SFTP&lt;/span&gt; instead.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;It is very important to be aware that MobaXterm is only a network client program and that restraining things on the client will not secure your network entirely: it is much more important to secure the server side of your network architecture.
For instance, if you need to force your team members to use &lt;span class=&#34;hitext&#34;&gt;ssh&lt;/span&gt; instead of &lt;span class=&#34;hitext&#34;&gt;rlogin/telnet&lt;/span&gt; in order to access to a server: even if you restrain MobaXterm in order to prevent it from performing &lt;span class=&#34;hitext&#34;&gt;rlogin/telnet&lt;/span&gt; connections, if the server is still able to accept such protocols, your team members will still be able to download another network client and to perform insecure connections.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>