LINUX操作系统下的网络邮件安全简介: SMTP服务器工作规程:
[next]接收进来的消息,检查消息的地址。如果消息的地址为本地地址,保存消息以便检索。如果是远程地址,转发该消息。 SMTP服务器功能同包路由器一样,除了SMTP服务专用于邮件。大部分SMTP服务器可以按需要存储以及转发消息。 SMTP服务器在两个不同任务上提出了安全要求: 保护服务器以免被攻破。必须给服务器加上防护盔甲防止外部进攻,如果外部进攻成功会使进攻者未经授权便能进入你的系统。 保护SMTP服务以免错误使用,例如外人利用你的电子邮件服务器发送假的邮件和垃圾。 在这当中第二项问题更为可怕。有些人不假思索地使用未受保护的SMTP服务器来向Internet邮件帐号转发成千份的广告。如果他们使用了你的机器就会使网络负担过重。 除非特别指明,否则LINUX在安装时会把sendmail作为你的邮件传输代理。可以用telnet到端口25来观察确定sendmail的版本。输出结果的例子如下: [jray@pointy jray] $ telent poisontooth.com 25 Trying 24.93.119.226… Conneted to poisontooth.com. 四、开始 1:安装client and server程序
2:服务端配置
server配置完毕。 3:客户端配置 安装openvpn-2.0.9-gui-1.0.3-install.exe,然后打开“开始”--“程序”--“openvpn”--“Generate a static OpenVPN key”,这会在C:\Program Files\OpenVPN\config下生成一个叫key.txt的文件,把他重命名为static.key。 然后把这个文件复制到linux肉鸡的/etc/openvpn/static.key去,最后在C:\Program Files\OpenVPN\config目录下创建一个叫client.ovpn的文件,内容如下
client配置完毕。 注意,无论是服务端还是客户端的IP,都不要和系统有的IP段冲突,另外改了端口需要在client and server都改一致。 4:启动并连接 A:启动服务端
这个时候理论上会发现多了一个接口,等会我们要收拾这个口子。
这个时候理论上会起了一个3389的udp口,如果这两个事情都有了,那就好了,一般除了RP有WT之外,这里基本都不怎么可能出现错误。 如果有错误的话,就把上面的
改成
然后重新启动openvpn服务并查看日志,注意,这个时候messages会有日志,调试完毕记得删除/usr/lib/0 /usr/lib/1。 [next]B:启动客户端 “开始”--“程序”--“openvpn”--“OpenVPN GUI”,连接服务端,点右下角红色的图标--connect。图标变绿,就是成功连接并分配到地址了,注意让你的防火墙通过。如果没变绿色,从那个图标那view log,如果发现不到问题,就把client的配置文件的verb设置为9,重新连接,再看日志,再google。 C:检查连接: 在client里看到有这么个信息
连接没有问题,这个时候就根据个人的喜好,是改默认网关还是只根据目的地址route add一下了,如果肉鸡速度快的话改默认网关吧。
如果DNS服务器不在内网的话,自己再route add一次DNS的地址就OK,如果想长期生效,可在route add语句最后加-p参数。 D:服务端打开转发 做个nat,但注意一下eth0需要是可以去外网的接口,否则等会数据走不出去,如果肉鸡是单接口的话就不需要担心。
再看看转发开了没
我们把他打开
5:找错 VPN一般出问题就只有三个地方,client的防火墙,server的防火墙,和转发开关是否打开,所以我们在服务端抓抓包就完全可以找到出问题的地方。ipsec pptp都可以这么找错。 A:在server的tun0口抓一切包,以检测client-->server是否连通,当然,一定是连通的,否则那图标就不会是绿色了。
B:在server的eth0口抓目标地址包,以检测转发是否有问题。
C: 这个时候我们telnet一下baoz.net看看
两边都看到有包就对了。如果有一边看不到包,就自己折腾一下好了。看看一路过来是不是都没搞错。 [next] 五、肉鸡中的隐藏 1:肉鸡哪来? A:web app漏洞,awstat什么的,没事就留意一下milw0rm.com的webapp部分,出新漏洞了就google hacking一把。 B:ssh or telnet弱口令,没事就找几个A BLOCK扫扫看。推荐xfocus冰河的X-Scan。 C:0day exp ? 这个我就不清楚了。 D:蜜罐,上面三种情况都可能是蜜罐,不过没关系,就做个代理上上网嘛,蜜罐就蜜罐了,只要网速快就行。 2:日志 日志的处理上面在服务端配置部分已经提到了的,小心处理就是。 3:进程、端口和连接 A:sk2一装,用sk2的client进去启动openvpn,动态隐藏进程端口和网络连接。 B:adore,大概要改改才行,不过我暂时没这个需求,sk2已经很不错了。 C:shv5,最近抓到的一个rootkit,替换ELF文件的,很容易被查出来,没啥意思,他的特征是默认有个/usr/lib/libsh目录。 4:ifconfig 这个是最关键的也是最麻烦的,因为一般的人都会ifconfig敲着玩玩的,一不小心就会被发现多了个tun0。呵呵,我想了想办法有两: A:使用awk or sed脚本替换/sbin/ifconfig,过滤掉tun0相关的输出,但这个比较容易被chkrootkit这样的东西发现,不过即使被人家用chkrootkit发现了也挺光荣的,至少用chkrootkit的人还稍微比较专业点,总比被人家ifconfig发现了好。 B:修改ifconfig的源程序,让他输出的时候不显示tunX设备,这个相对稳妥,因为一般检查ifconfig都是对比那混杂模式而已的,当然还有文件类型。
查了一下,在这个软件包里,想改的自己可以改改,不想改的就去找找有没人改好的现成的了,就当留给我和各位有兴趣的朋友的家庭作业好了。 六、写在最后 信息安全是一把双刃剑,自己知道了可以尽可能怎么攻击,该怎么攻击,其中会有什么地方可以被发现,才有可能知道了人家想怎么攻击,会怎么攻击,也才有机会发现入侵企图或入侵者,进而把入侵者赶出去或拦在门外,否则被人家root了几年还不知道怎么回事。 [next]Escape character is 220 pointy. poisontooth.com ESMTP Sendmail 8.9.3/8.9.3 →Sat, 10 Jul 1999 16:27:14-0400 这里可以看出pointy.poisontooth.com正在运行sendmail/8.9.3。 入侵者对sendmail发起攻击主要是因为: sendmail是公共服务,一旦它运行,任何人都能连接和使用它。 sendmail通常以root身份运行。因此如果入侵者发现了一个可利用的漏洞,就可获得优先级高的访问权限。 sendmail非常难配置,入侵者因此假设你会在安装中出问题(通常都成功)。 以下是一些典型的sendmail攻击: 首先是MIME缓冲溢出漏洞。这种攻击不影响sendmail本身,而是sendmail发送邮件的客户。在这里,sendmail是工具而不是目标。计算机紧急反应小组是这样描述该攻击的: 攻击者向一个脆弱的系统发送一个精心设计的邮件消息,在某种情况下,攻击者选择的代码会在该系统上执行。另外,攻击者可以是脆弱的邮件程序突然崩溃。根据邮件客户正在运行的操作系统以及有问题的邮件客户程序的用户权限,攻击都可以使整个系统崩溃。如果一个权限高的用户用一个容易受攻击的邮件用户代理来阅读邮件,那么攻击者就可以获得进入系统的管理权限。 [next] 再来看一下HELO缓冲溢出: 在早于sendmail8.9的版本中,攻击者可以利用HELO命令传送非正常长度的字符串来伪装自己的发起的地址。如果一个攻击者发送HELO后面有至少1024字节的abc,那么消息头会如下所示: From attacker@attack.place.net Web Feb 5 22 31:51 1998 Received: from abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab→abcabcabcabcabcabc Date: Wed, 5 Feb 1998 12:32:22 +0300 From attacker@attack.place.net 非正常字符串隐藏了应正常显示发信者IP地址的信息。这种攻击方法,尽管不具危险,但攻击者可以利用它让sendmail转发邮件垃圾和创建难以跟踪的邮件。 还有口令文件/Root访问,这是一个更可怕的攻击,它影响的是sendmail8.8.4。本地用户可以利用链接来获得root访问。这种攻击方法依赖于sendmail在/var/tmp/dead.letter后保存未投递的消息。 所有用户都可对/var/tmp进行写操作,因此本地攻击者可在/etc/passwd和/var/tmp/dead.letter间创建一个硬链接。然后向sendmail服务器发送一个不能投递的消息。在该消息体内,攻击者插入可被加到口令文件的一个用户帐号。 当消息标记为不可投递,就会加到/var/tmp/dead.letter里面,而在/var/tmp/dead.letter有一个与/etc/passwd的硬链接。这就导致产生一个拥有Root权限的新系统帐号。 Sendmail作为一个突出并且访问频繁的服务器,经常是攻击的目标。最近的一个攻击方法集中在sendmail报头解析代码上的一个漏洞。通过创建有大量TO:报头的消息,进攻者可使服务器停止运行。这种攻击方法对sendmail8.9.2和更早的版本有效,因此连最近安装的sendmail也受到影响. SMTP服务器工作规程:
接收进来的消息,检查消息的地址。如果消息的地址为本地地址,保存消息以便检索。如果是远程地址,转发该消息。 SMTP服务器功能同包路由器一样,除了SMTP服务专用于邮件。大部分SMTP服务器可以按需要存储以及转发消息。 SMTP服务器在两个不同任务上提出了安全要求: 保护服务器以免被攻破。必须给服务器加上防护盔甲防止外部进攻,如果外部进攻成功会使进攻者未经授权便能进入你的系统。 保护SMTP服务以免错误使用,例如外人利用你的电子邮件服务器发送假的邮件和垃圾。 在这当中第二项问题更为可怕。有些人不假思索地使用未受保护的SMTP服务器来向Internet邮件帐号转发成千份的广告。如果他们使用了你的机器就会使网络负担过重。 除非特别指明,否则LINUX在安装时会把sendmail作为你的邮件传输代理。可以用telnet到端口25来观察确定sendmail的版本。输出结果的例子如下: [jray@pointy jray] $ telent poisontooth.com 25 Trying 24.93.119.226… Conneted to poisontooth.com. 四、开始 1:安装client and server程序
2:服务端配置
server配置完毕。 3:客户端配置 安装openvpn-2.0.9-gui-1.0.3-install.exe,然后打开“开始”--“程序”--“openvpn”--“Generate a static OpenVPN key”,这会在C:\Program Files\OpenVPN\config下生成一个叫key.txt的文件,把他重命名为static.key。 然后把这个文件复制到linux肉鸡的/etc/openvpn/static.key去,最后在C:\Program Files\OpenVPN\config目录下创建一个叫client.ovpn的文件,内容如下
client配置完毕。 注意,无论是服务端还是客户端的IP,都不要和系统有的IP段冲突,另外改了端口需要在client and server都改一致。 4:启动并连接 A:启动服务端
这个时候理论上会发现多了一个接口,等会我们要收拾这个口子。
这个时候理论上会起了一个3389的udp口,如果这两个事情都有了,那就好了,一般除了RP有WT之外,这里基本都不怎么可能出现错误。 如果有错误的话,就把上面的
改成
然后重新启动openvpn服务并查看日志,注意,这个时候messages会有日志,调试完毕记得删除/usr/lib/0 /usr/lib/1。 B:启动客户端 “开始”--“程序”--“openvpn”--“OpenVPN GUI”,连接服务端,点右下角红色的图标--connect。图标变绿,就是成功连接并分配到地址了,注意让你的防火墙通过。如果没变绿色,从那个图标那view log,如果发现不到问题,就把client的配置文件的verb设置为9,重新连接,再看日志,再google。 C:检查连接: 在client里看到有这么个信息
连接没有问题,这个时候就根据个人的喜好,是改默认网关还是只根据目的地址route add一下了,如果肉鸡速度快的话改默认网关吧。
如果DNS服务器不在内网的话,自己再route add一次DNS的地址就OK,如果想长期生效,可在route add语句最后加-p参数。 D:服务端打开转发 做个nat,但注意一下eth0需要是可以去外网的接口,否则等会数据走不出去,如果肉鸡是单接口的话就不需要担心。
再看看转发开了没
我们把他打开
5:找错 VPN一般出问题就只有三个地方,client的防火墙,server的防火墙,和转发开关是否打开,所以我们在服务端抓抓包就完全可以找到出问题的地方。ipsec pptp都可以这么找错。 A:在server的tun0口抓一切包,以检测client-->server是否连通,当然,一定是连通的,否则那图标就不会是绿色了。
B:在server的eth0口抓目标地址包,以检测转发是否有问题。
C: 这个时候我们telnet一下baoz.net看看
两边都看到有包就对了。如果有一边看不到包,就自己折腾一下好了。看看一路过来是不是都没搞错。 五、肉鸡中的隐藏 1:肉鸡哪来? A:web app漏洞,awstat什么的,没事就留意一下milw0rm.com的webapp部分,出新漏洞了就google hacking一把。 B:ssh or telnet弱口令,没事就找几个A BLOCK扫扫看。推荐xfocus冰河的X-Scan。 C:0day exp ? 这个我就不清楚了。 D:蜜罐,上面三种情况都可能是蜜罐,不过没关系,就做个代理上上网嘛,蜜罐就蜜罐了,只要网速快就行。 2:日志 日志的处理上面在服务端配置部分已经提到了的,小心处理就是。 3:进程、端口和连接 A:sk2一装,用sk2的client进去启动openvpn,动态隐藏进程端口和网络连接。 B:adore,大概要改改才行,不过我暂时没这个需求,sk2已经很不错了。 C:shv5,最近抓到的一个rootkit,替换ELF文件的,很容易被查出来,没啥意思,他的特征是默认有个/usr/lib/libsh目录。 4:ifconfig 这个是最关键的也是最麻烦的,因为一般的人都会ifconfig敲着玩玩的,一不小心就会被发现多了个tun0。呵呵,我想了想办法有两: A:使用awk or sed脚本替换/sbin/ifconfig,过滤掉tun0相关的输出,但这个比较容易被chkrootkit这样的东西发现,不过即使被人家用chkrootkit发现了也挺光荣的,至少用chkrootkit的人还稍微比较专业点,总比被人家ifconfig发现了好。 B:修改ifconfig的源程序,让他输出的时候不显示tunX设备,这个相对稳妥,因为一般检查ifconfig都是对比那混杂模式而已的,当然还有文件类型。
查了一下,在这个软件包里,想改的自己可以改改,不想改的就去找找有没人改好的现成的了,就当留给我和各位有兴趣的朋友的家庭作业好了。 六、写在最后 信息安全是一把双刃剑,自己知道了可以尽可能怎么攻击,该怎么攻击,其中会有什么地方可以被发现,才有可能知道了人家想怎么攻击,会怎么攻击,也才有机会发现入侵企图或入侵者,进而把入侵者赶出去或拦在门外,否则被人家root了几年还不知道怎么回事。 Escape character is 220 pointy. poisontooth.com ESMTP Sendmail 8.9.3/8.9.3 →Sat, 10 Jul 1999 16:27:14-0400 这里可以看出pointy.poisontooth.com正在运行sendmail/8.9.3。 入侵者对sendmail发起攻击主要是因为: sendmail是公共服务,一旦它运行,任何人都能连接和使用它。 sendmail通常以root身份运行。因此如果入侵者发现了一个可利用的漏洞,就可获得优先级高的访问权限。 sendmail非常难配置,入侵者因此假设你会在安装中出问题(通常都成功)。 以下是一些典型的sendmail攻击: 首先是MIME缓冲溢出漏洞。这种攻击不影响sendmail本身,而是sendmail发送邮件的客户。在这里,sendmail是工具而不是目标。计算机紧急反应小组是这样描述该攻击的: 攻击者向一个脆弱的系统发送一个精心设计的邮件消息,在某种情况下,攻击者选择的代码会在该系统上执行。另外,攻击者可以是脆弱的邮件程序突然崩溃。根据邮件客户正在运行的操作系统以及有问题的邮件客户程序的用户权限,攻击都可以使整个系统崩溃。如果一个权限高的用户用一个容易受攻击的邮件用户代理来阅读邮件,那么攻击者就可以获得进入系统的管理权限。 再来看一下HELO缓冲溢出: 在早于sendmail8.9的版本中,攻击者可以利用HELO命令传送非正常长度的字符串来伪装自己的发起的地址。如果一个攻击者发送HELO后面有至少1024字节的abc,那么消息头会如下所示: From attacker@attack.place.net Web Feb 5 22 31:51 1998 Received: from abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab→abcabcabcabcabcabc Date: Wed, 5 Feb 1998 12:32:22 +0300 From attacker@attack.place.net 非正常字符串隐藏了应正常显示发信者IP地址的信息。这种攻击方法,尽管不具危险,但攻击者可以利用它让sendmail转发邮件垃圾和创建难以跟踪的邮件。 还有口令文件/Root访问,这是一个更可怕的攻击,它影响的是sendmail8.8.4。本地用户可以利用链接来获得root访问。这种攻击方法依赖于sendmail在/var/tmp/dead.letter后保存未投递的消息。 所有用户都可对/var/tmp进行写操作,因此本地攻击者可在/etc/passwd和/var/tmp/dead.letter间创建一个硬链接。然后向sendmail服务器发送一个不能投递的消息。在该消息体内,攻击者插入可被加到口令文件的一个用户帐号。 当消息标记为不可投递,就会加到/var/tmp/dead.letter里面,而在/var/tmp/dead.letter有一个与/etc/passwd的硬链接。这就导致产生一个拥有Root权限的新系统帐号。 Sendmail作为一个突出并且访问频繁的服务器,经常是攻击的目标。最近的一个攻击方法集中在sendmail报头解析代码上的一个漏洞。通过创建有大量TO:报头的消息,进攻者可使服务器停止运行。这种攻击方法对sendmail8.9.2和更早的版本有效,因此连最近安装的sendmail也受到影响. 责任编辑: |
最新文章更多推荐文章更多热点文章更多
|

