巧用OpenSSH穿透你的防火墙

  • 时间:
  • 浏览:0
  • 来源:3分快3网投平台-5分11选5投注平台_5分3D娱乐平台





作者: 论坛挂接 zdnet网络安全

CNETNews.com.cn

308-01-12 15:14:03

关键词: 安全技术 防火墙 ssh

即使系统管理员在仔细地过滤了除22号端口(SSH)以外的所有通信,攻击者仍有都都上能 通过渗透防火墙,获得计算机的访问权。本文将展示远程Linux和Windows用户怎么访问防火墙后的Samba、邮件和Web服务器。实际上,本文展示了不让对防火墙投资的情况表下,怎么将openSSH和PuTTY用作有有另另俩个简单的VPN方案。本文并完整都是要建议你关闭22号端口,有有哪些方法仅对服务器上的合法账户有效。不过,请您继续读下去,我就可能不让找到防火墙上额外的漏洞而执行的操作而感到惊奇,统统找到更多的漏洞无须有有另另俩个好主意。先看图:

     

  OpenSSH 和 Linux

  从Linux笔记本电脑(当当我们当当我们 假定其IP地址为192.168.1.106)上 ,当当我们当当我们 就都都上能 直接访问防火墙后的资源,包括Samba 服务器、 Web 服务器,甚至由防火墙对外锁定的邮件服务器。防火墙仅允许通过22号端口对SSH服务器的访问,不过笔记本电脑仍然都都上能 访问其它的服务器:

      ## Linux Laptop .ssh/config ##

  Host work

  HostName 66.35.230.203

  User sporkey

  LocalForward 300 192.168.0.66:30

  LocalForward 230 192.168.0.66:22

  LocalForward 22139 192.168.0.8:139

  LocalForward 22110 192.168.0.5:110

  Host http

  HostName localhost

  User donkey

  Port 230

  并否有 文件都上能 恰当地设置其权利:

  $ chmod 300 ~/.ssh/config

  都都上能 看一下中间的文件。注意到条目“LocalForward 230 192.168.0.66:22”,并将其与网络图表相对比。到SSH服务器的连接是通过从Linux笔记本电脑上运行下面的命令实现的:

  $ ssh -l sporkey 66.35.230.203

  小提示:中间的命令都都上能 被缩写,可能用户名“sporkey”和“主机名”可能在配置文件中指定了。统统,你可用下面显示的“SSH work”:

  $ ssh work

  在完成并否有 连接很久,完整都是可能直接访问HTTP服务器,假定账户“donkey”都都上能 访问并否有 服务器。下面的命令是在Linux笔记本电脑(192.168.1.106)上执行的。是的,那是有有另另俩个地处新窗口中的Linux笔记本电脑。此外,这是在IP地址为192.168.1.106的主机中的有有另另俩个新的会话中执行的。统统,请注意这儿的Linux笔记本电脑都都上能 直接访问192.168.0.66。请注意,这儿的SSH会话起很久开始 英语 Linux笔记本电脑。

  $ ssh -l donkey localhost -p 230

  可能配置文件将“HTTP”映射到localhost 端口230上,统统统统中间的命令都都上能 简写如下:

  $ ssh http

  不过,别急。有有有另另俩个更好的方法。确实,当当我们当当我们 不让创建有有另另俩个终端会话,有有另另俩个用于ssh work,另外有有另另俩个用于ssh http,当当我们当当我们 为有哪些都上能将其用在有有另另俩个命令中呢:

  $ ssh -N -f -q work; ssh http

  中间的命令将建立连接,从所需的端口转发到其它的服务器。“-N”表示“无须执行远程命令”,而“-f”要求ssh转到后台,“-q”是禁止所有的警告和诊断信息。都上能这对你来说是完整都是还太繁琐?那就创建有有另另俩个别名(alias)吧:

  alias http=‘ssh -N -f -q work; ssh http’,并将其放置到~.bashrc文件中,原本就都都上能 使它尽可能地简短,可能在命令行键入http将使你达到HTTP服务器。

  要将文件群克隆到并否有 服务器,就要使用下面的命令(注意:scp很久的大写P)。可能你在.ssh目录中,你就会看到有有另另俩个授权的authorized_keys2可能是有有另另俩个授权的authorized_keys,你可能想要将其追加到目标服务器的类事于文件上。有有哪些文件仅仅作为有有另另俩个示例而列示。都都上能 群克隆任何文件,不过可能你将有有哪些文件群克隆到远程服务器上,并将内容追加到远程服务器的authorized_key*文件,都上能在下次你建立连接时,就不让被提示要求口令。

  $ scp -P 230 authorized_keys* donkey@localhost:.

  不过,可能你将完整内容都装进配置文件中,都上能我就将中间的命令缩写为:

  $ scp authorized_keys* http:.

  要启用中间所提到的基于密钥的访问,你仍然都上能 将密钥文件追加到‘http’服务器上的~/.ssh中。这都都上能 通过运行:

  ssh http "for a in authorized_keys*; do cat $a >> ssh/$a; rm $a; done"

  来实现,中间的命令都上能 删除‘http’服务器上目前无用的密钥文件。

  下面的命令,是从Linux笔记本上运行的,它会从远程服务器(192.168.0.66)上下载主页(index page):

  $ wget http://localhost:300/

  RemoteForward的威力

  假设Linux笔记本电脑正运行着有有另另俩个Web服务器(对于公司的当当我们当当我们 来说,在笔记本电脑(192.168.1.106)上查看Web服务器是可能的吗?),都上能当当我们当当我们当当我们 将这台电脑连接到正常的公司HTTP服务器(192.168.0.66)时又怎么呢?我就想一下,可能当当我们当当我们 所暗示的是一台都上能直接连接到HTTP服务器的笔记本电脑,它将要取而代之成为公司的Web服务器!是的,这本来 当当我们当当我们 将要展示的。确实,并都上能完整取代公司的Web服务器,此服务器运行在IP地址为192.168.0.66服务器的30号端口上,当当我们当当我们 将在端口3030上增加有有另另俩个额外的Web服务器。可能你决心要取代公司的Web服务器,就都上能 以root身份执行类事于的步骤,可能仅有root拥有能力取得特权端口。我就门 先从并否有 例子很久开始 英语 ,统统你就都都上能 知道怎么在30端口上执行此操作了。为了执行并否有 的操作,公司Web服务器上的/etc/ssh/sshd_config都上能 将变量“GatewayPorts”设置为“yes”,统统都上能登录到HTTP服务器的用户都上能看到笔记本电脑上的网页。而当当我们当当我们 是要公司的每有有另另一此人 都能直接访问并否有 附加的端口(3030端口):

  GatewayPorts yes

  在作了此改变很久,想要 重新启动SSH系统多多线程

  $ /etc/init.d/sshd restart

  在Linux笔记本电脑的~/.ssh/config中,增加下面的条目:

  RemoteForward 3030 localhost:30

  完整的~/.ssh/config列示如下:

      ## Updated Linux Laptop .ssh/config ##

  Host work

  HostName 66.35.230.203

  User sporkey

  LocalForward 300 192.168.0.66:30

  LocalForward 230 192.168.0.66:22

  LocalForward 22139 192.168.0.8:139

  LocalForward 22110 192.168.0.5:110

  Host http

  HostName localhost

  User donkey

  Port 230

  RemoteForward 3030 localhost:30

  可能你从192.168.0.66(即远程Web服务器)执行“netstat –l” 命令,我就看到如下的内容:

  tcp 0 0 *:3030 *:* LISTEN

  这也就是因为 公司的任何人都都都上能 在端口3030上查看并否有 Web页(http://192.168.0.66:3030)。可能你想在30端口(即默认的HTTP端口)上实现类事于功能,所连接的用户都上能 拥有root特权。

  可能想要改变/etc/ssh/sshd_config文件,网关功能就会被禁用,可能GatewayPorts的默认设置是“no”。而执行一次netstat –l(注意,这里是小写的L,并完整都是数字1),可能返回下面的内容:

  tcp 0 0 ::1:3030 *:* LISTEN

  有了中间的限制,就都上能计算机(IP地址为192.168.0.66)上的用户都上能在计算机192.168.1.106通过端口3030看到网页。

  附加信息:可能你想参考有关生成SSH密钥对、保障远程root访问SSH服务器的安全、通过SSH隧道装载samba等方面的资料,都都上能 访问并否有 网址参考其中的统统技巧。其中的技巧12,13和138列示在这篇文章的末尾。此外,可能你是一位系统管理员,可上都上能 注意技巧14(保存每年的日志)和技巧26,这有有另另俩个技巧会向你展示怎么终止有有另另俩个用户及其正运行的系统多多线程 。此外,技巧10、11、15、24、47、52、89、30等完整都是有利于提升系统的安全性。