- 浏览: 523445 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
网络安全实践中,防火墙(Firewall)是被经常强调的重点,它的基本功能是过滤并阻挡本地网络与Internet之间的数据传送。另外,无论 是网络管理员还是黑客,对数据截获分析都十分重视,因此,在进阶提高部分,我们也将使用直观简单的方式对这两部分内容进行讲解。
1 、iptables :Linux服务器下的优秀防火墙
Linux提供了一个非常优秀的防火墙工具—iptables,它完全免费、功能强大、使用灵活、可以对流入和流出的信息进行细化控制,能够在一台低配置机器上很好地运行。
(1)安装和启动
一般情况下,iptables已经包含在Linux发行版中,运行iptables --version来查看系统是否安装了iptables。如果系统没有安装iptables,则可以从 http://www.netfilter.org下载。使用中可以运行man iptables来查看所有命令和选项的完整介绍,或者运行iptables -help来查看一个快速帮助。
iptables服务也可以在图形模式下开启,步骤为:依次打开“主菜单”下的“系统设置”,选择“服务器设置”中的“服务”,拉动滚动条找到iptables选项,选中后点击“开始”,即可启动防火墙服务;如果不想使用防火墙,点击“停止”即可。如图26所示。
图 26
(2)使用实例分析
iptables功能十分强大,它可以检测到源地址和目的地址、源端口和目的端口及流入数据包的顺序,即iptables记住了在现有连接中,哪些 数据包已经被允许接收。这使得暂时性的端口只有在需要时才会被打开,并且会拒绝所有永久性占用端口的请求,大大地加强了安全性。下面是关于 iptables防火墙的一些应用实例。
实际应用中,如果要阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动:
# iptables -t filter -A INPUT -s xxx.xxx.xxx.0/24 -j DROP
也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令稍有不同:
# iptables -t filter -A OUTPUT -d xxx.xxx.xxx.0/24 -j DROP
注意这里的A选项,使用它说明是给现有的链添加规则。网络上的恶意攻击者总是在变化的,因此需要不断改变IP。假设一个网上攻击者转移到新的IP地 址,而原来的IP地址被分配给一些清白的用户,那么这时这些用户的数据包将无法通过网络。这种情况下,可以使用带-D选项的命令来删除现有的规则:
# iptables -t filter -D OUTPUT -d 192.168.10.0/24 -j DROP
一旦测试结果令人满意,就可以将上述测试结果保存为脚本。可以使用“iptables-save > iptables-script”命令来实现,现在,信息包过滤表中的所有规则都被保存在文件iptables-script中。无论何时再次引导系统, 都可以使用 iptables-restore 命令将规则集从该脚本文件恢复到信息包过滤表,命令为“iptables-restore iptables-script”。
创建一个具有很好灵活性、可以抵御各种意外事件的规则需要大量的时间。对于那些没有时间这样做的人,最基本的原则是“先拒绝所有的数据包,然后再允许需要的”。下面来为每一个链设置缺省的规则:
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
这里选项-P用于设置链的策略,只有三个内建的链才有策略。这些策略可以让信息毫无限制地流出,但不允许信息流入。
最后需要提示的是:功能强大的iptables防火墙是完全免费的,这对于那些想要功能卓越而又想节省费用的用户来说,是一种比较理想的选择。
2 、在Linux下利用TCPDump进行网络管理
对于网络管理员来说,要保证整个网络的正常运行,就必须随时了解网络中存在的异常流量、网络阻塞等现象。打个比方,一部电话的窃 听装置,可以用来窃 听双方通话的内容,而计算机网络嗅探器则可以窃 听计算机程序在网络上发送和接收到的数据。但是,计算机所传送的数据是大量的二进制数据。因此,一个网络窃 听程序也必须使用特定的网络协议来分析数据,进行正确的解码。如图27所示,就是一个Windows下的嗅探器。
图 27
那么,对于钟爱Linux的网络安全爱好者来说,能否找到这样一款强大的Linux下的嗅探器呢?TCPDump就是一款免费的网络分析工具,它可 以将网络中传送的数据包的“头”完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你 去掉无用的信息。
(1)安装和启动
在Linux下TCPDump的安装十分简单,一种是以rpm包的形式来进行安装,另一种是以源程序的形式安装。以rpm包的安装方法比较简单,通 过rpm命令可以直接安装,rpm包是将软件编译后打包成二进制的格式,不需要修改任何东西。安装时,以超级用户登录,参考命令如下:#rpm -ivh TCPDump.rpm。这样,TCPDump就可以顺利地安装到Linux系统中。不过,现在较高版本的Linux操作系统都自带了这个工具,关于 TCPDump更详细的信息,可以查看Man TCPDump。
普通情况下,不带参数执行TCPDump,即:#TCPDump,截获的是通过第一个网络界面的数据包。直接启动TCPDump将监视第一个网络界面上所有流过的数据包。如图28所示。
从上面的输出结果来看,TCPDump的基本输出格式为:“系统时间 来源主机.端口 > 目标主机.端口 数据包参数”。仔细观察,我们会发现,和上面的Windows界面相比,数据包格式有很多相似之处,这样也有助于我们来了解这个软件的使用方法。
(2)参数分析
TCPDump支持多种不同参数,如使用-i参数指定TCPDump监听的网络界面,这在计算机具有多个网络界面时非常有用;使用-c参数可以指定 要监听的数据包数量;使用-w参数指定将监听到的数据包写入文件中保存,等等。然而,在数据的海洋中,TCPDump中更复杂的参数主要是用于过滤。这是 为什么呢?
因为在实际操作中,网络中流量很大,如果将所有的数据包都截留下来,数据量就会很大,反而不容易发现所需要的数据包。如果不带任何参 数,TCPDump就会搜索系统中所有的网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,而且数据太多不利于分析。所以,我们应当先想 好需要哪些数据,TCPDump的语法为:
TCPDump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面 >][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][- w<数据包文件>][输出数据栏位]
在实际使用中,我们可以灵活应用。现列举几个比较常用的例子:
1、截获所有192.168.10.1的主机收到的和发出的所有数据包。命令为:
TCPDump host 192.168.10.1
实际效果如图29所示。
2、截获主机192.168.10.1和主机192.168.10.2或192.168.10.3的通信,使用命令(在命令行中适用括号时,一定要):
#tcpdump host 192.168.10.1 and \ (192.168.10.2 or 192.168.10.3 \)
3、如果想要获取主机192.168.10.123接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 192.168.10.123
4、获取主机192.168.10.1除了和主机192.168.10.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 192.168.10.1 and ! 192.168.10.2
3 、Linux服务器实例分析
通过上面的操作了解,相信很多电脑爱好者在Linux技术上有了一个质的飞跃。下面,我们综合运用这些方法来解决一个Linux服务器上安装问题。 下面是一个针对邮件服务器的网络故障分析。某单位的局域网中有一台Sendmail邮件服务器,收发邮件等基本功能正常,但在使用中发现一个普遍的怪现 象:在PC机上发邮件时,连接邮件服务器后,要等待很长时间才能开始工作。从检测来看,网络连接没有问题,邮件服务器和PC性能都没有问题,问题可能出在 哪里呢?
为了查找问题的所在,可以采用以下的测试方法。首先,我们在PC机client上发送邮件,同时在邮件服务器server上使用TCPDump对这个client的数据包进行捕获分析,如下:
#TCPDump host client
TCPDump: listening on hme0
23:41:30.040578 client.1065 > server.smtp: S 1087965815:1087965815(0) win 64240 (DF)
23:41:30.040613 server.smtp > client.1065: S 99285900:99285900(0) ack 1087965816 win 10136 (DF)
23:41:30.040960 client.1065 > server.smtp: . ack 1 win 64240 (DF)
然后,通过分析数据,我们看到双方顺利的完成了会话,也就是说,到目前为止,整个状态属于正常的现象。沿着这个思路,我们往下看:
23:41:30.048862 server.33152 > client.113: S 99370916:99370916(0) win 8760 (DF)
23:41:40.161052 server.33152 > client.113: S 99370916:99370916(0) win 8760 (DF)
23:41:56.061130 server.33152 > client.113: R 99370917:99370917(0) win 8760 (DF)
23:41:56.070108 server.smtp > client.1065: P 1:109(108) ack 1 win 10136 (DF)
通过分析就可以判断问题所在了。原来,问题在于:我们看到server端试图连接client的113端口,要求认证,但是没有收到client端 的回应,server端重复尝试了3次,费时26秒后,才放弃认证请求,并主动发送了reset标志的数据包,开始push后面的数据;而正是在这个过程 中所花费的26秒时间,造成了发送邮件时漫长的等待情况。问题找到后,通过修改服务器端的Sendmail配置,再次测试,看到邮件服务器不再进行113 端口的认证尝试,而是在三次检测后直接push数据,问题得到完美的解决。
实际上,Linux中还有很多优秀的服务器功能,如DNS 服务器、CVS服务器、DHCP服务器、数据库服务器、Samba网络服务器等。正是这些优秀的功能组合,再加上完全免费的优势,使得Linux的功能越 来越强大,并逐渐在激烈的操作系统市场中占据了一席之地。通过本文的讲解,相信很多用户一定会更加喜爱Linux操作系统。文章到这里,我们又想起了那只 让人爱不释手的小企鹅,毫无疑问,正是它欢快自由的脚步,我们才领略到Linux世界的无穷魅力。
发表评论
-
JVM Java HeapSpace到达临界值的高CPU问题
2011-11-10 19:27 1115本周有同事反馈,IDC环 ... -
java profile【cpu负载过高】
2011-11-10 17:58 1140问题描述: cpu负载陡增,内存占用情况稳定。(在多cpu ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1682环境说明: nginx1: 192.168.2.4 ... -
mongodb查询
2011-09-03 13:42 1061#查询 查询 name = "bruce&qu ... -
Linux网管日记(9):Linux的前世今生
2011-03-13 16:00 8791.Linux的前世 地球人 ... -
网络管理员日记(8)里应外合:Linux下的后门和日志工具
2011-03-13 15:59 1098攻入Linux系统后,很多入侵者往往就开始得意忘形了。这其中还 ... -
Linux网络管理员日记(6)Linux邮件服务器的安装和安全
2011-03-13 15:57 1509四、更简单高效:Linux 邮件服务器的安装和安全 在 ... -
Linux管理员日记(5) 更简单高效:Linux邮件服务器的安装和安全
2011-03-13 15:54 1168在网络管理员的日常工作中,邮件服务器扮演着一个非常重要的角色, ... -
Linux管理日记(4)——免费而稳定:Web服务器和FTP服务器的安装
2011-03-13 15:53 1267为什么要采用Linux操作系统作为网络服务器?答案是:稳定性高 ... -
Linux管理员日记连载(3)简单易操作:类似Windows控制面板的Webmin
2011-03-13 15:52 1232安装完Linux操作系统后 ... -
Linux管理员日记连载(2)——Linux系统下的设备和文件配置
2011-03-13 15:51 1002新建一个虚拟机后,除 ... -
Linux管理员日记(1)——Linux服务器傻瓜式安装完全手册
2011-03-13 15:50 2008内容简介 从桌面到服务器,从 ... -
Samba服务器的安装配置和应用
2011-03-12 14:34 1146随着计算机网络的发展 ... -
Linux 中 crontab 详解及示例(收藏)
2011-03-10 10:24 800cron是一个linux下的定时执行工具,可以在无需人工干预的 ... -
CentOS下MySql 5.0.x的安装、优化及安全设置
2011-03-07 20:24 779下载页面:http://dev.mysql.com/downl ... -
RPM强制卸载
2011-03-07 12:59 2508强制卸载jdk rpm -e j2sdk1.4.2_04 ... -
CENTOS5.2 下安装MYSQL+TOMCAT6 相关设置,设置自启动
2011-03-07 06:41 1098在SUSE SLES11 下安 ... -
用Linux下的rsync命令实现多服务器镜像同步
2011-03-06 04:08 1083用linux系统中的rsync命令 ... -
不看后悔的Linux生产服务器Shell脚本分享
2011-03-06 04:05 1397不看后悔的Linux生产服务器Shell脚本分享 作为一名L ... -
CentOS vsftp配置
2011-03-05 21:12 834yum install vsftpd 2.启动/重启/关 ...
相关推荐
Linux服务器管理员教程是一套专为初学者设计的指南,旨在帮助读者掌握Linux系统的基本管理和维护技能。在IT领域,Linux服务器因其稳定、高效和开源特性而广受青睐,成为企业和组织首选的服务器操作系统之一。本教程...
本课程自2005年7月与中科红旗软件有限公司合作共建以来,不断改革,重新整合中科红旗在中小企业转平台项目中的实践案例,以企业案例为核心,针对中小企业网络管理员这一工作岗位,与企业专家共同重构课程教学体系。...
《Linux网络服务器配置与管理》实训指导书05架设SAMBA服务器.pdf《Linux网络服务器配置与管理》实训指导书05架设SAMBA服务器.pdf《Linux网络服务器配置与管理》实训指导书05架设SAMBA服务器.pdf《Linux网络服务器...
【Linux网络管理员认证考试】是针对推进Linux在浙江省乃至全国发展的一项专业考试,旨在评估考生的实际网络服务器配置能力和Linux操作系统下的网络管理水平。考试由浙江省Linux专业委员会统一命题,面向符合基础要求...
- **考试目的**: 评估考生是否具备实际操作Linux网络服务器的能力以及在Linux操作系统下管理网络的能力。 #### 二、报考条件 - **适用人群**: 面向所有符合Linux网络管理员基础知识要求的在职人员及大专院校在校...
Linux系统服务器网络安全管理小技巧.doc
如何增强Linux服务器的安全性是Linux系统管理员最关心的问题之一。 本书共28章和1个附录。概括而言,实质是五部分内容:第一部分分级介绍对Linux服务器的攻击情况,以及Linux网络基础;第二部分是本书的核心,针对...
VMWare (Virtual Machine ware)是一个虚拟机软件,它可以在一台物理主机上虚拟出多台虚拟主机。 下载软件后,双击安装包,进入安装页面。点下一步 2. Linux环境搭建 1、开启vmware程序,点击创建新虚拟机。选择典型...
Linux网络管理员认证考试是针对Linux操作系统下网络管理能力的评估,旨在验证考生是否具备实际的网络服务器配置技能。考试由浙江省Linux专业委员会统一命题,面向符合基础要求的在职人员和在校学生开放,通过考试者...
### 精通Linux网络服务器配置·管理·检测·应用 #### 一、Linux网络服务器配置 1. **网络配置**: ...掌握这些知识和技术将有助于我们更好地管理和维护Linux网络服务器,提高其稳定性和安全性。
1. **多线程与并发处理**:Linux提供了多种机制来实现多线程和并发,如pthread库,以及进程间通信(IPC)如信号量、管道、共享内存等,用于提高服务器处理并发请求的能力。 2. **网络编程**:深入理解TCP/IP协议栈...
通过完成本课程设计,学生将能够综合了解 Linux 提供的网络服务,并具备基本的 Linux 服务器配置和管理能力。 Linux 服务器配置与管理是当前信息化建设中的一个关键部分。随着网络技术的不断发展,Linux 服务器...
【Linux网络管理课程设计】是针对计算机工程系学生的一次实践教学活动,旨在让学生深入了解和熟练操作Linux系统,特别是网络管理方面。以下是该课程设计涉及的主要知识点: **1. RHEL5的安装** RHEL(Red Hat ...
Linux新手管理员指南是一份专为初次接触Linux操作系统的人准备的详尽教程,旨在帮助他们快速掌握Linux系统的管理和操作。这份指南涵盖了从基础概念到高级应用的广泛内容,旨在提升用户在Linux环境中的实用技能。 ...
Linux服务器配置与管理
DevOps是一组过程、方法与系统的统称,用于促进开发者、质量保证人员(QA)以及系统管理员之间的沟通、...《DevOps故障排除:Linux服务器运维最佳实践》内容全面,结构清晰,适合开发者、QA人员和系统管理员学习参考。
Linux 在服务器端的重要性:Linux 作为一种开源、稳定、可定制的操作系统,为企业提供了诸多优势,使得其在服务器端的应用成为一种趋势。 Linux 的开源特性使得企业能够自由获取并修改源代码,根据自身需求打造定制...