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

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

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

如果你想使用GnuPG来加密fwknop客户端与fwknopd服务端之间的通讯,你首先要在客户端和服务端创建GnuPG密钥,如果你已经有一个用于电子邮件加密的GnuPG密钥,你可以在客户端使用它,用它通过fwknop给消息进行标记,

但是在fwknopd服务端你必须创建一个为fwknop通讯专用的GnuPG密钥,因为用于解锁这个密钥的密码实际上是存储在/etc/fwknop/access.conf文件里的,fwknopd必须解密fwknop客户端用服务器公钥加密后的消息,因此,在服务器上使用一个高度个性化有价值的GnuPG密钥不是个好主意,一旦你创建了必需的密钥,你需要将每个密钥导入并标记到它对立的系统,如:导入并标记服务器密钥到客户端GnuPG密钥环,反过来也一样。

注意:因为SPA包消息必须填充在一个单独的ip包里,建议为fwknopd服务器GnuPG密钥选择密钥大小为2048 bits或更少。

下面概述了客户端和服务器端产生GnuPG密钥的过程,我们首先生成GnuPG密钥然后将它们导出到ascii文件:

[spaserver]# gpg --gen-key
[spaserver]# gpg --list-keys
pub   1024D/ABCD1234 2006-05-01
uid                  fwknop server key 
sub   2048g/EFGH1234 2006-05-01
[server]#  gpg -a --export ABCD1234 > server.asc

[spaclient]$ gpg --gen-key
[spaclient]$ gpg --list-keys
pub   1024D/1234ABCD 2006-05-01
uid                  fwknop client key 
sub   2048g/1234EFGH 2006-05-01
[client]$ gpg -a --export 1234ABCD > client.asc


接下来,我们将ascii文件传输到两个系统上,在这个例子中,我们使用scp(在fwknop部署后将可能被防火墙阻隔),但是其他传输机制(ftp,http等)一样可以。

[spaclient]$ scp client.asc root@serverhost:

[spaserver]# scp server.asc user@clienthost:
然后导入并标记每一个密钥:
[spaserver]# gpg --import client.asc
[spaserver]# gpg --edit-key 1234ABCD
Command> sign

[spaclient]$ gpg --import server.asc
[spaclient]$ gpg --edit-key ABCD1234
Command> sign

在服务器端,我们需要增加几个配置指令到/etc/fwknop/access.conf文件,因此fwknopd使用GnuPG来校验和解密用GnuPG加密并标记的SPA包,注意服务器端密钥ID是ABCD1234,客户端密钥ID是1234ABCD:

SOURCE: ANY;
OPEN_PORTS: tcp/22;
DATA_COLLECT_MODE: PCAP;
GPG_REMOTE_ID: 1234ABCD;
GPG_DECRYPT_ID: ABCD1234;
GPG_DECRYPT_PW: ;
GPG_HOME_DIR: /root/.gnupg;
FW_ACCESS_TIMEOUT: 60;

上面access.conf指令更多的信息可以在fwknop帮助页面找到,查看fwknop(8)和fwknopd(8)。

最后,要查看fwknop在GnuPG模式下的作用,在客户端我们执行下面的fwknop命令来获取在fwknopd重新配置本地Netfilter策略后访问SSHD的权限,首先我们显示了nmap不能检测到sshd是否在监听:

[scanner]$ nmap -p 22 -n 

Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2007-01-06 10:21 EST
Interesting ports on 71.127.x.x
PORT   STATE    SERVICE
22/tcp filtered ssh

Nmap finished: 1 IP address (1 host up) scanned in 10.316 seconds
然后执行下面的命令获取访问sshd:
[spaclient]$ fwknop -A tcp/22 --gpg-recip ABCD1234 --gpg-sign 1234ABCD -w -k 
[spaclient]$ ssh -l mbr 
mbr@host's password:

在服务器端,类似下面的fwknopd消息将被写入系统日志

Jan 14 20:12:37 host fwknopd: adding FWKNOP_INPUT ACCEPT rule for
72.x.x.x -> tcp/22 (10 seconds)
Jan 15 10:13:09 host fwknopd: received valid GnuPG encrypted packet
(signed with required key ID: 1234ABCD) from: 72.x.x.x, remote user: mbr

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