引 入瓮给Linux系统蒙上Windows面纱WEB安全

时间:2023-01-18 08:19:35 其他范文 收藏本文 下载本文

引 入瓮给Linux系统蒙上Windows面纱WEB安全(精选3篇)由网友“过门”投稿提供,下面是小编整理过的引 入瓮给Linux系统蒙上Windows面纱WEB安全,希望对大家有所帮助。

引 入瓮给Linux系统蒙上Windows面纱WEB安全

篇1:引 入瓮给Linux系统蒙上Windows面纱WEB安全

网络上的计算机很容易被 利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击,

通过伪装Linux系统,给 设置系统假象,可以加大 对系统的分析难度,引诱他们步入歧途,从而进一步提高计算机系统的安全性。下面以Red Hat Linux为例,针对几种 常用的途径介绍一些常用的Linux系统伪装的方法。

针对HTTP服务

通过分析Web服务器的类型,大致可以推测出操作系统的类型,比如,Windows使用IIS来提供HTTP服务,而Linux中最常见的是Apache。

默认的Apache配置里没有任何信息保护机制,并且允许目录浏览。通过目录浏览,通常可以获得类似“Apache/1.3.27 Server at apache.linuxforum.net Port 80”或“Apache/2.0.49 (Unix) PHP/4.3.8”的信息。

通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来。但是,Red Hat Linux运行的Apache是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要修改Apache的源代码,然后,重新编译安装程序,以实现替换里面的提示内容。

以Apache 2.0.50为例,编辑ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT \“Apache\””为“#define AP_SERVER_BASEPRODUCT \“Microsoft-IIS/5.0\””。编辑os/unix/os.h文件,修改“#define PLATFORM. \“Unix\””为“#define PLATFORM. \“Win32\””。修改完毕后,重新编译、安装Apache。

Apache安装完成后,修改httpd.conf配置文件,将“ServerTokens Full”改为“ServerTokens Prod”;将“ServerSignature On”改为“ServerSignature Off”,然后存盘退出。重新启动Apache后,用工具进行扫描,发现提示信息中已经显示操作系统为Windows。

针对FTP服务

通过FTP服务,也可以推测操作系统的类型,比如,Windows下的FTP服务多是Serv-U,而Linux下常用vsftpd、proftpd和pureftpd等软件。

以proftpd为例,修改配置文件proftpd.conf,添加如下内容:

ServerIdent on \“Serv-U FTP Server v5.0 for WinSock ready...\”

存盘退出后,重新启动proftpd服务,登录到修改了提示信息的FTP服务器进行测试:

C:\\>ftp 192.168.0.1Connected to 192.168.0.1.220 Serv-U FTP Server v5.0 for WinSock ready...User (192.168.0.1:(none)): 331 Password required for (none). Password: 530 Login incorrect. Login failed. ftp >quit 221 Goodbye.

这样从表面上看,服务器就是一个运行着Serv-U的Windows了。

针对TTL返回值

可以用ping命令去探测一个主机,根据TTL基数可以推测操作系统的类型。对于一个没有经过任何网关和路由的网络,直接ping对方系统得到的TTL值,被叫做“TTL基数”。网络中,数据包每经过一个路由器,TTL就会减1,当TTL为0时,这个数据包就会被丢弃。

通常情况下,Windows的TTL的基数是128,而早期的Red Hat Linux和Solaris的TTL基数是255,FreeBSD和新版本的Red Hat Linux的TTL基数是64。比如,ping一个Red Hat系统,显示如下:

Pinging 192.168.0.1 with 32 bytes of data:Reply from 192.168.0.1: bytes=32 time <10ms TTL=64Reply from 192.168.0.1: bytes=32 time <10ms TTL=64Reply from 192.168.0.1: bytes=32 time <10ms TTL=64Reply from 192.168.0.1: bytes=32 time <10ms TTL=64Ping statistics for 192.168.0.1:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 0ms, Average = 0ms

用以下命令修改Red Hat Linux的TTL基数为128(本来为64):

# echo 128 >/proc/sys/net/ipv4/ip_default_ttl

若想使设置永久生效,可以修改/etc/sysctl.conf配置文件,添加如下一行:

net.ipv4.ip_default_ttl = 128

保存退出后,再ping 192.168.0.1,TTL基数就变为128了,

针对3389端口和22端口

有时通过扫描3389端口和22端口,也可以推测操作系统的类型。Windows下一般利用TCP协议的3389端口进行远程控制,而Linux可能会用TCP协议的22端口,提供带有加密传输的SSH服务。

为了安全,可以利用iptables来限制22端口的SSH登录,让非授权的IP扫描不到TCP 22端口的存在:

#iptables -I INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP

利用iptables,将本机的TCP 3389端口转移到其它开有3389端口的计算机上,给Linux系统伪装出一个提供服务的TCP 3389端口。命令如下:

#echo 1 >/proc/sys/net/ipv4/ip_forward#iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to xx.xx.xx.xx#iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE

第一条命令表示允许数据包转发;第二条命令表示转发TCP 3389到xx.xx.xx.xx;第三条命令表示使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道。若想使转发永久生效,可以把以上命令添加到/etc/rc.local文件中。

这样,当 扫描服务器所开端口的时候,就找不到22号端口,而是看到一个伪装的3389端口,从而不能正确判断出操作系统的类型。

针对netcraft

netcraft是一个很厉害的扫描引擎,它通过简单的TCP 80,就可以知道所测服务器的操作系统、Web服务程序和服务器开机时间(Uptime)等信息。

上面介绍的几种方法对netcraft来说,均不奏效。针对netcraft,可利用iptables进行系统伪装,使netcraft错误判断操作系统:

#iptables -t nat -I PREROUTING -s 195.92.95.0/24 -p tcp --dport 80 -j DNAT --to xx.xx.xx.xx#iptables -t nat -I POSTROUTING -s 195.92.95.0/24 -p tcp --dport 80 -j MASQUERADE

由于通过抓包发现,netcraft的服务器不止一台,所以需要对它所在网段进行转发欺骗处理。

小结

以上方法只能从某种角度上防止和阻挠 对系统漏洞的分析,在一定程度上可减少计算机被攻击的可能性,但仍然是“防君子,不防小人”,仅是给大家提供一个活学活用的新思路。

篇2:为Linux蒙上Windows面纱请 入瓮WEB安全

网络上的计算机很容易被 利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击,通过伪装Linux系统,给 设置系统假象,可以加大 对系统的分析难度,引诱他们步入歧途,从而进一步提高计算机系统的安全性。下面以Red Hat Linux为例,针对几种 常用的途径介绍一些常用的Linux系统伪装的方法。

针对HTTP服务

通过分析Web服务器的类型,大致可以推测出操作系统的类型,比如,Windows使用IIS来提供HTTP服务,而Linux中最常见的是Apache。

默认的Apache配置里没有任何信息保护机制,并且允许目录浏览。通过目录浏览,通常可以获得类似“Apache/1.3.27 Server at apache.linuxforum.net Port 80”或“Apache/2.0.49 (Unix) PHP/4.3.8”的信息。

通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来。但是,Red Hat Linux运行的Apache是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要修改Apache的源代码,然后,重新编译安装程序,以实现替换里面的提示内容。

以Apache 2.0.50为例,编辑ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT \“Apache\””为“#define AP_SERVER_BASEPRODUCT \“Microsoft-IIS/5.0\””。编辑os/unix/os.h文件,修改“#define PLATFORM. \“Unix\””为“#define PLATFORM. \“Win32\””。修改完毕后,重新编译、安装Apache。

Apache安装完成后,修改httpd.conf配置文件,将“ServerTokens Full”改为“ServerTokens Prod”;将“ServerSignature On”改为“ServerSignature Off”,然后存盘退出。重新启动Apache后,用工具进行扫描,发现提示信息中已经显示操作系统为Windows。

针对FTP服务

通过FTP服务,也可以推测操作系统的类型,比如,Windows下的FTP服务多是Serv-U,而Linux下常用vsftpd、proftpd和pureftpd等软件。

以proftpd为例,修改配置文件proftpd.conf,添加如下内容:

ServerIdent on \“Serv-U FTP Server v5.0 for WinSock ready...\”

存盘退出后,重新启动proftpd服务,登录到修改了提示信息的FTP服务器进行测试:

C:\\>ftp 192.168.0.1

Connected to 192.168.0.1.

220 Serv-U FTP Server v5.0 for WinSock ready...

User (192.168.0.1:(none)):

331 Password required for (none).

Password:

530 Login incorrect.

Login failed.

ftp > quit

221 Goodbye.

这样从表面上看,服务器就是一个运行着Serv-U的Windows了。针对TTL返回值

可以用ping命令去探测一个主机,根据TTL基数可以推测操作系统的类型。对于一个没有经过任何网关和路由的网络,直接ping对方系统得到的TTL值,被叫做“TTL基数”。网络中,数据包每经过一个路由器,TTL就会减1,当TTL为0时,这个数据包就会被丢弃。

通常情况下,Windows的TTL的基数是128,而早期的Red Hat Linux和Solaris的TTL基数是255,FreeBSD和新版本的Red Hat Linux的TTL基数是64。比如,ping一个Red Hat系统,显示如下:

Pinging 192.168.0.1 with 32 bytes of data:

Reply from 192.168.0.1: bytes=32 time <10ms TTL=64

Reply from 192.168.0.1: bytes=32 time <10ms TTL=64

Reply from 192.168.0.1: bytes=32 time <10ms TTL=64

Reply from 192.168.0.1: bytes=32 time <10ms TTL=64

Ping statistics for 192.168.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

用以下命令修改Red Hat Linux的TTL基数为128(本来为64):

# echo 128 >/proc/sys/net/ipv4/ip_default_ttl

用以下命令修改Red Hat Linux的TTL基数为128(本来为64):

net.ipv4.ip_default_ttl = 128

保存退出后,再ping 192.168.0.1,TTL基数就变为128了

针对3389端口和22端口

有时通过扫描3389端口和22端口,也可以推测操作系统的类型,

Windows下一般利用TCP协议的3389端口进行远程控制,而Linux可能会用TCP协议的22端口,提供带有加密传输的SSH服务。

为了安全,可以利用iptables来限制22端口的SSH登录,让非授权的IP扫描不到TCP 22端口的存在:

#iptables -I INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP

利用iptables,将本机的TCP 3389端口转移到其它开有3389端口的计算机上,给Linux系统伪装出一个提供服务的TCP 3389端口。命令如下:

#echo 1 > /proc/sys/net/ipv4/ip_forward

#iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to xx.xx.xx.xx

#iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE

第一条命令表示允许数据包转发;第二条命令表示转发TCP 3389到xx.xx.xx.xx;第三条命令表示使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道。若想使转发永久生效,可以把以上命令添加到/etc/rc.local文件中。

这样,当 扫描服务器所开端口的时候,就找不到22号端口,而是看到一个伪装的3389端口,从而不能正确判断出操作系统的类型。

针对netcraft

netcraft是一个很厉害的扫描引擎,它通过简单的TCP 80,就可以知道所测服务器的操作系统、Web服务程序和服务器开机时间(Uptime)等信息。

上面介绍的几种方法对netcraft来说,均不奏效。针对netcraft,可利用iptables进行系统伪装,使netcraft错误判断操作系统:

#iptables -t nat -I PREROUTING -s 195.92.95.0/24

-p tcp --dport 80 -j DNAT --to xx.xx.xx.xx

#iptables -t nat -I POSTROUTING -s 195.92.95.0/24

-p tcp --dport 80 -j MASQUERADE

由于通过抓包发现,netcraft的服务器不止一台,所以需要对它所在网段进行转发欺骗处理。

小结

以上方法只能从某种角度上防止和阻挠 对系统漏洞的分析,在一定程度上可减少计算机被攻击的可能性,但仍然是“防君子,不防小人”,仅是给大家提供一个活学活用的新思路。

篇3:Windows server 系统加固常用流程WEB安全

1、禁掉不安全的所有内置账户

2、清除网络匿名访问的共享权限

3、清除网络匿名访问的注册表权限

4、设置通过终端服务拒绝登录的用户

5、去掉默认共享

6、禁用所有的危险服务

7、更改本地安全策略和审核策略

8、更改会被提权利用的文件运行权限

9、使用IP安全策略禁用6000,135,1433,139,445,593,1025,135,137,138,445,2745,3127,6129等危险端口

10、使用安全策略禁用ICMP数据包,也就是平时说的PING,让别人PING不到服务器,减少不必要的软件扫描麻烦

11、服务器打上所有补丁,保证系统为最新的更新

12、安全常用的防护软件

php实习报告

安卓实习心得感悟

谈多媒体课件制作和使用原则

网络工程毕业的个人简历

NCIE网络工程个人简历

信息技术《揭开LINUX的神秘面纱》教案

应届网络工程个人简历

程序员面试如何自我介绍

软件需求分析面试自我介绍

程序员面试自我介绍怎么说

引 入瓮给Linux系统蒙上Windows面纱WEB安全
《引 入瓮给Linux系统蒙上Windows面纱WEB安全.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【引 入瓮给Linux系统蒙上Windows面纱WEB安全(精选3篇)】相关文章:

软件老师的自我介绍2023-03-17

学习计划软件2023-05-05

揭开Boot.ini文件的神秘面纱2024-01-23

揭开企业文化神秘的面纱2022-07-08

金山毒霸中小企业网络安全解决方案安全方案2022-11-18

计算机专业的自我介绍2023-03-01

关于net论文的开题报告2023-04-07

浅析进程“伪隐藏”技术与实现两则2022-09-10

谁不是“过渡技术”?2022-10-11

高中信息技术说课稿2022-09-14

点击下载本文文档