入侵某台电脑有很多种途径,其中通过端口进行入侵比较普遍,而且一经成功危害比较大。 特别是作为服务器的计算机,把不必要的端口关闭,这是常用的做法。 用Linux作为服务器操作系统,使用Linux自带的防火墙iptables可以实现这功能。 对端口的处理 常用的做法: 关闭所有端口,只打开要对外使用的端口。 例如:作为web服务器 我们可以关闭所有端口,只打开80端口。 下面结合图片和Linux下iptables的命令操作来实现,还有理解iptables工作流程。 我使用 CentOS5.1 Linux 作为操作演示: 登陆进去了, 首先要查看下 防火墙的情况: ]# iptables -L -n 看到 INPUT ACCEPT, FORWARD ACCEPT , OUTPUT ACCEPT 我们可以这样理解 , iptables 由3个部分组成 INPUT, FORWARD 和 OUTPUT,我们先看 INPUT 和 OUTPUT (policy ACCEPT) 表示是完全接受 所有的数据,也就是说 现在的iptables 防火墙 没有起到任何作用。 下面我结合 我们常见的 浏览网页 来为大家解析一下 工作原理: 首先我这个 服务器上 安装了 web 服务器和编写了网页上去。 看到了吧, 正常浏览网页。大家都知道我们浏览网页其实就是 访问服务器的80端口,只是默认不用写上去。 http://192.168.1.99:80 这样也是一样的 现在 我们 iptables 就是和上面的图片 一样 ,因为 INPUT,OUTPUT都是 ACCEPT 接受任何数据的访问的,那么要是我们关闭其中一个呢 ? 就像现在图片的效果,我们关闭 INPUT,那么结合 iptables 的命令 就是这样 :]# iptables -P INPUT DROP DROP 可以这样理解, 当INPUT 遇到数据就不接受丢失它,不让它进入 好,我们演示一下, 设置好了,我们再查看一下 iptables -L -n 看到了吗 ? 现在 Chain INPUT (policy DROP) 和一开始不同了。 我们现在对 所有向服务器发来的数据全部丢失。 这样应该不能访问 网站的网页了, 我们刷新试下。 看到了吧, 一直等待 打开,刚才那个是历史记录, 该页无法显示。 无法显示。 为什么这样呢 ? 结合图片可以看到 , 用户向服务器发送请求浏览网页,但是服务器关闭了接受数据的 端口, 那么web服务器无法得到数据 返回给用户,所以用户浏览器一直等待,最后等的 时间太长了 超时了,出现 该页无法显示。。。 还有一种情况 就是 INPUT 打开 而 OUTPUT关闭 将会怎样. 先把 INPUT 设为 ACCEPT : iptables -P INPUT ACCEPT 再查看下 设好了 再把 OUTPUT 设为 DROP : iptables -P OUTPUT DROP 好,看到设好了吧。 我们再访问一下, 好,也是等待状态,这种情况 就如 下面的图片所示: 虽然我们接受用户发来的请求浏览网页,但是服务器返回的信息被OUTPUT 所限制,发不出去。 经过上面2个例子, 刚才我们是对所有端口做了 设置, 我们最终是这样 设置防火墙的,比较普遍的做法。 关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。 下面是命令实现: ]# iptables -P INPUT DROP ]# iptables -P FORWARD DROP ]# iptables -P OUTPUT DROP 再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了 这样的设置好了,我们只是临时的, 重启服务器还是会恢复原来没有设置的状态 还要使用 ]# service iptables save 进行保存 看到信息 firewall rules 防火墙的规则 其实就是保存在 /etc/sysconfig/iptables 可以打开文件查看 vi /etc/sysconfig/iptables 好,这个视频就到这里,下次会演示如何打开某个端口,现在我们是关闭了所有的端口 |