频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用单数据包授权保护SSH服务器

来源:51CTO.com 作者:Michael Rash/黄永兵 出处:巧巧读书 2008-03-13 进入讨论组
下一页 1 2 3 4 5 

上个月,在单数据包授权系列作品中第一部份中,我描述了叫做单数据包授权(SPA)的下一代被动认证技术的原理,本文不再谈论其原理,而是将精力集中在SPA实用应用程序fwknop和iptables,用它们来保护SSHD,抵御侦察和攻击。

Linux系统上安装后,没人能用nmap扫描后说SSHD正在监听【即用nmap扫描不到SSHD是否正在运行】,只有在经过认证的客户端才能与SSHD进行通讯。

开始之前,我们需要一些关于配置和网络结构的信息,本文假设你已经在同时运行了SSHD和iptables的系统上安装好了fwknop的最新版本(写本文时是1.0.1),你可以从http://www.cipherdyne.org/fwknop下载fwknop,也可以通过运行install.pl脚本从源代码tar包安装或通过基于RPM的Linux发行版安装RPM包。

网络结构

在图1中展示了我们安装的基本网络结构,fwknop客户端在被标记为spa_client(15.1.1.1)的主机上执行,fwknop服务器(与iptables一起)在被标记为spa_server(16.2.2.2)的系统上运行,恶意系统被标记为attacker(18.3.3.3),它可以嗅探spa_client和spa_server系统之间的所有通讯。

用单数据包授权保护SSH服务器
1 使用SPA保护SSH通讯的样例情景

iptables 默认删除策略

Spa_client系统的ip地址是15.1.1.1,spa_server系统的ip地址是16.2.2.2,在spa_server系统上,iptables被配置为为内部网络(192.168.10.0/24)提供基本的连接服务、日志记录及丢弃所有尝试从外部网络到服务的连接(通过iptables的LOG和DROP目标),这个策略相当简单,意味着防火墙没有为任何服务(包括SSHD)在nmap扫描下进行宣告,任何真实网络环境下部署将更大更复杂。不管怎样,一个重要的特征需要注意,那就是通过Netfilter提供连接跟踪工具,它在iptables策略中保留状态,最终结果是连接通过防火墙初始化(通过FORWARD链表)然后到达防火墙(通过INPUT链表)并保持打开,而不需要额外的ACCEPT规则来允许数据包保持连接的建立(如TCP确认等),iptables策略是用下面基础的firewall.sh脚本来建立的:

[spa_server]# cat firewall.sh
#!/bin/sh
IPTABLES=/sbin/iptables
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -A INPUT -m state --state
 ?ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state
 ?ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s
 ?192.168.10.0/24 -o eth0 -j MASQUERADE
$IPTABLES -A INPUT -i ! lo -j LOG --log-prefix
 ?"DROP "
$IPTABLES -A INPUT -i ! lo -j DROP
$IPTABLES -A FORWARD -i ! lo -j LOG --log-prefix
 ?"DROP "
$IPTABLES -A FORWARD -i ! lo -j DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "[+] iptables policy activated"
exit
[spa_server]# ./firewall.sh
[+] iptables policy activated

防火墙激活后,我们就可以查看远程访问的内容了,在spa_client系统上,我们使用nmap来查看在spa_server上的SSHD是否可以连接: 

[spa_client]$  nmap -P0 -sT -p 22 16.2.2.2

Starting Nmap 4.01 ( http://www.insecure.org/nmap/ )
at 2007-02-09 23:55 EST
Interesting ports on 16.2.2.2:
PORT   STATE    SERVICE
22/tcp filtered ssh

Nmap finished: 1 IP address (1 host up) scanned in
12.009 seconds

正如预料的一样,iptables阻止了所有尝试与SSHD通讯的连接,以及保留的端口(TCP和UDP端口)也类似地被iptables策略保护起来了,如果一个攻击者拥有一个对付OpenSSH特定版本的0day攻击程序,那对于部署了这个版本的spa_server系统来说有保护策略就很重要了,所有尝试与堆栈的通讯都将被iptables阻止。

来自:http://www.qqread.com/network/server/d401216.html 更多文章 更多内容请看SSH技术手册FTP服务器双核服务器技术专题,或进入讨论组讨论。
下一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章