首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
   查看所有帖子 (overflow)


« 1 ... 86 87 88 (89)


LINUX 常见问题1000个详细解答
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
LINUX 常见问题1000个详细解答


一、 如何建立多用户

  提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心

就可能破坏系统。比如我们想删除/temp目录下的文件却将命令不小心输成“rm / temp(在‘/’后
多了一个空格)”,那么就极可能删去根目录下的所有文件。再者,“Linux是一个真正意义上的多

任务、多用户系统”,不体会一下Linux的特色岂不可惜。为了方便自己和别人使用,就在Linux系统

下多建几个用户吧。

  输入“adduser newuser”,回车,屏幕对命令没有一点儿反应,错啦?不,实际上,系统已接受

了新用户。

你应该接着输入命令 “passwd newuser”,屏幕将提示输入口令,再次输入确认, 一个新的用户就增

加成功,

真简单。马上登录试一试吧。

  Linux提供了六个虚拟控制台,用ALT+F1~F6切换(在X-window下用CRTL+ALT+F1~F6切换),

每个控制台均可

以用不同的用户登录,运行不同的程序。赶快为家人和朋友建个用户吧。


二、在Linux下如何使用软盘、光盘以及DOS等非Linux分区

  这是Linux初学者问得最多的问题。由于大家已习惯了微软的访问方法,总想用类似的思路来找

到软盘和光盘。

但在Linux下,却沿袭了UNIX将设备当作文件来处理的方法。所以要访问软盘和光盘,就必须先将

它们装载

到Linux系统的/mnt目录中来。

  装载的命令是mount,格式如下:mount -t 文件系统类型 设备名 装载目录

  文件系统类型就是分区格式,Linux支持的文件系统类型有许多:

  msdos DOS分区文件系统类型
  vfat 支持长文件名的DOS分区文件(可以理解为Windows文件)系统类型
  iso9660 光盘的文件系统类型
  ext2 Linux的文件系统类型
  ......

  设备名,指的是你要装载的设备的名称。软盘一般为/dev/fd0 fd1;光盘则根据你的光驱的位置

来决定,

通常光驱装在第二硬盘的主盘位置就是/dev/hdc;如果访问的是DOS的分区,则列出其设备名,

如/dev/hda1是指第一硬盘的第一个分区。 装载目录,就是你指定设备的载入点。

  1. 装载软盘

  首先用mkdir /mnt/floppy 在/mnt目录下建立一个空的floppy目录,然后输入:

mount -t msdos /dev/fd0 /mnt/floppy 将DOS文件格式的一张软盘装载进来,以后就可以

在/mnt/floppy目录

下找到这张软盘的所有内容。

  2. 装载Windows所在的C盘

  mkdir /mnt/c 在/mnt目录下建立一个空的c目录;
  mount -t vfat /dev/hda1 /mnt/c 将Windows的C盘按长文件名格式装载到/mnt/c目录下,

以后在该目录下

就能读写C盘根目录中的内容。

  3.装载光盘

  mkdir /mnt/cdrom 在/mnt目录下建立一个空的cdrom目录;
  mount -t iso9660 /dev/hdc /mnt/cdrom 将光盘载入到文件系统中来,将在/mnt/cdrom目录下

找到光盘内

容。有的Linux版本允许用mount /dev/cdrom或mount /mnt/cdrom命令装载光盘。
  要注意的是,用mount命令装入的是软盘、光盘,而不是软驱、光驱。有些初学者容易犯一

个毛病,以为用

上面命令后,软驱就成了/mnt/floppy,光驱就成了/mnt/cdrom,其实不然,当你要换一张光盘或软

盘时,一定

要先卸载,再对新盘重新装载。

  4.卸载
  卸载的命令格式是:umonut 目录名,例如要卸载软盘,可输入命令umonut /mnt/floppy。要注意的
是,在

卸载光盘之前,直接按光驱面板上的弹出键是不会起作用的。


三、如何安装Linux的应用软件

  对于普通用户,安装或升级软件可以用Red Hat公司的软件包安装与管理工具RPM。使用后你就可以轻松安装

软件、升级软件和卸载软件并查询软件信息。

  如果你安装的是Red Hat Linux,那么你就可以使用RPM了,如果不是,你可以先安装RPM。方法如下:
  1. 下载RPM软件包: ftp://ftp.redhat.com/pub/code/rpm/rpm-2.3.11.tar.gz
  2. 在Linu??

2005/3/30 11:50
应用扩展 工具箱


Re: 请问谁可以帮我详尽的解释一下组安全策略的设置?
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
请好好看看下面的附件 有图片说明了组策略

附件:


rar ԺͰȫģ.rar 大小: 174.84 KB; 下载次数: 535

2005/3/28 1:31

overflow 于 2005年03月28日 13:54:57
overflow 于 2005年03月28日 13:57:11
应用扩展 工具箱


Re: 请问谁可以帮我详尽的解释一下组安全策略的设置?
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
注:这些你最好的老师是google 而且实践学到东西最快。
小榕那里好久没看见你们这些老战友了哦呵呵。
猜猜我是谁巴 呵呵 希望你们把你们要了解的东西说出来。
  Windows Server 2003作为Microsoft 最新推出的服务器操作系统,不仅继承了Windows 2000/XP的易用性和稳定性,而且还提供了更高的硬件支持和更加强大的安全功能,无疑是中小型网络应用服务器的当然之选。本文就Windows 2003在企业网络应用中企业帐户和系统监控方面的安全策略制定作出一些说明,希望能对大家起到抛砖引玉的效果,最终的目标是确保我们的网络服务器的正常运行。

  一、企业账户保护安全策略

  用户账户的保护一般 主要围绕着密码的保护来进行。为了避免用户身份由于密码被破解而被夺取或盗用,通常可采取诸如提高密码的破解难度、启用账户锁定策略、限制用户登录、限制外部连接以及防范网络嗅探等措施。

  1、提高密码的破解难度

  提高密码的破解难度主要是通过采用提高密码复杂性、增大密码长度、提高更换频率等措施来实现,但这常常是用户很难做到的,对于企业网络中的一些安全敏感用户就必须采取一些相关的措施,以强制改变不安全的密码使用习惯。

  在Windows系统中可以通过一系列的安全设置,并同时制定相应的安全策略来实现。在Windows Server 2003系统中,可以通过在安全策略中设定“密码策略”来进行。Window Server 2003系统的安全策略可以根据网络的情况,针对不同的场合和范围进行有针对性地设定。例如可以针对本地计算机、域及相应的组织单元来进行设定,这将取决于该策略要影响的范围。

  以域安全策略为例,其作用范围是企业网中所指定域的所有成员。在域管理工具中运行“域安全策略”工具,然后就可以针对密码策略进行相应的设定。

  密码策略也可以在指定的计算机上用“本地安全策略”来设定,同时也可在网络中特定的组织单元通过组策略进行设定。

  2、启用账户锁定策略

  账户锁定是指在某些情况下(例如账户受到采用密码词典或暴力猜解方式的在线自动登录攻击),为保护该账户的安全而将此账户进行锁定。使其在一定的时间内不能再次使用,从而挫败连续的猜解尝试。

  Windows2003系统在默认情况下,为方便用户起见,这种锁定策略并没有进行设定,此时,对黑客的攻击没有任何限制。只要有耐心,通过自动登录工具和密码猜解字典进行攻击,甚至可以进行暴力模式的攻击,那么破解密码只是一个时间和运气上的问题。账户锁定策略设定的第一步就是指定账户锁定的阈值,即锁定前该账户无效登录的次数。一般来说,由于操作失误造成的登录失败的次数是有限的。在这里设置锁定阈值为3次,这样只允许3次登录尝试。如果3次登录全部失败,就会锁定该账户。

  但是,一旦该账户被锁定后,即使是合法用户也就无法使用了。只有管理员才可以重新启用该账户,这就造成了许多不便。为方便用户起见,可以同时设定锁定的时间和复位计数器的时间,这样以来在3次无效登最后就开始锁定账户,以及锁定时间为30分钟。以上的账户锁定设定,可以有效地避免自动猜解工具的攻击,同时对于手动尝试者的耐心和信心也可造成很大的打击。锁定用户账户常常会造成一些不便,但系统的安全有时更为重要。

  3、限制用户登录

  对于企业网的用户还可以通过对其登录行为进行限制,来保障其户户账户的安全。这样以来,即使是密码出现泄漏,系统也可以在一定程度上将黑客阻挡在外,对于Windows Server 2003网络来说,运行“Active Directory用户和计算机”管理工具。 然后选择相应的用户,并设置其账户属性。

  在账户属性对话框中,可以限制其登录的时间和地点。单击其中的“登录时间”按钮,在这里可以设置允许该用户登录的时间,这样就可防止非工作时间的登录行为。单击其中的“登录到”按钮,在这里可以设置允许该账户从哪些计算机乾地登录。另外,还可以通过“账户”选项来限制登录时的行为。例如使用“用户必须用智能卡登录”,就可避免直接使用密码验证。除此之外,还可以引入指纹验证等更为严格的手段。

  4、限制外部连接

  对于企业网络来说,通常需要为一些远程拨号的用户(业务人员或客户等)提供拨号接入服务。远程拨号访问技术实际上是通过低速的拨号连接来将远程计算机接入到企业内部的局域网中。由于这个连接无法隐藏,因此常常成为黑客入侵内部网络的最佳入口。但是,采取一定的措施可以有效地降低风险。

  对于基于Windows Server 2003的远程访问服务器来说,默认情况下将允许具有拨入权限的所有用户建立连接。因此,安全防范的第一步就是合理地、严格地设置用户账户的拨入权限,严格限制拨入权限的分配范围,只要不是必要的就不给予此权限。对于网络中的一些特殊用户和固定的分支机构的用户来说,可通过回拨技术来提高网络安全性。这里所谓的回拨,是指在主叫方通过验证后立即挂断线路,然后再回拨到主叫方的电话上。这样,即使帐户及其密码被破解,也不必有任何担心。需要注意的是,这里需要开通来电显示业务。

  在Windows Server 2003网络中,如果活动目录工作在Native-mode(本机模式)下,这时就可以通过存储在访问服务器上或Internet验证服务器上的远程访问策略来管理。针对各种应用场景的不同,可以设置多种不同的策略。具体的管理比较复杂,由于篇幅有限,大家可参考相关资料,这里就不再作详细介绍。

  5、限制特权组成员

  在Windows Server 2003网络中,还有一种非常有效的防范黑客入侵和管理疏忽的辅助手段,这就是利用“受限制的组”安全策略。该策略可保证组成员的组成固定。在域安全策略的管理工具中添加要限制的组,在“组”对话框中键入或查找要添加的组。一般要对管理员组等特权组的成员加以限制。下一步就是要配置这个受限制的组的成员。在这里选择受限制的组的“安全性(S)”选项。然后,就可以管理这个组的成员组成,可以添加或删除成员, 当安全策略生效后,可防止黑客将后门账户添加到该组中。

  6、防范网络嗅探

  由于局域网采用广播的方式进行通信,因而信息很容易被窃听。网络嗅探就是通过侦听所在网络中所传输的数据来嗅探有价值的信息。对于普通的网络嗅探的防御并不困难,可通过以下手段来进行:

  1)采用交换网络

  一般情况下,交换网络对于普通的网络嗅探手段具有先天的免疫能力。这是由于在交换网络环境下,每一个交换端口就是一个独立的广播域,同时端口之间通过交换机进行桥接,而非广播。网络嗅探主要针对的是广播环境下的通信,因而在交换网络中就失去作用了。

  随着交换网络技术的普及,网络嗅探所带来的威胁也越来越低,但仍不可忽视。通过ARP地址欺骗仍然可以实现一定范围的网络嗅探,此外黑客通过入侵一些型号的交换机和路由器仍然可以获得嗅探的能力。

  2)加密会话

  在通信双方之间建立加密的会话连接也是非常有效的方法,特别是在企业网络中。这样,即使黑客成功地进行了网络嗅探,但由于捕获的都是密文,因而毫无价值。网络中进行会话加密的手段有很多,可以通过定制专门的通信加密程序来进行,但是通用性较差。 这时,完善IP通信的安全机制是最根本的解决办法。

  由于历史原因,基于IP的网络通信技术没有内建的安全机制。随着互联网的发展,安全问题逐渐暴露出来。现在经过各个方面的努力,标准的安全架构也已经基本形成。那就是IPSec机制,并且它将作为下一代IP网络标准IPv6的重要组成。IPSec机制在新一代的操作系统中已经得到了很好的支持。在Windows Server 2003系统中,其服务器产品和客户端产品都提供了对IPSec的支持。从而增强了安全性、可伸缩性以及可用性,同时使部署和管理更加方便。

  在Windows Server 2003系统的安全策略相关的管理工具集(例如本地安全策略、域安全策略、组策略等)中,都集成了相关的管理工具。为清楚起见,通过Microsoft管理控制台MMC定制的管理工具来了解一下。

  具体方法如下:首先在“开始”菜单中单击“运行”选项,然后键入mmc,并同时单击“确定”按钮。在“控制台”菜单中选择“添加删除管理单元(M)”命令,然后,单击其中的“添加”按钮。 在可用的独立管理单元中,选择“IP安全策略管理”选项,双击或单击“添加”按钮,在这里选择被该管理单元所管理的计算机,然后单击“完成”按钮。关闭添加管理单元的相关窗口,就得到了一个新的管理工具,在这里可以为其命名并保存。

  此时可以看到已有的安全策略,用户可以根据情况来添加、修改和删除相应的IP安全策略。其中Windows Server 2003系统自带的有以下几个策略:

  安全服务器(要求安全设置);
  客户端(只响应);
  服务器(请求安全设置);

  其中的“客户端(只响应)”策略是根据对方的要求来决定是否采用IPSec;“服务器(请求安全设置)”策略要求支持IP安全机制的客户端使用IPSec,但允许不支持IP安全机制的客户端来建立不安全的连接;而“安全服务器(要求安全设置)”策略则最为严格,它要求双方必须使用IPSec协议。

  不过,“安全服务器(要求安全设置)”策略默认允许不加密的受信任的通信,因此仍然能够被窃听。直接修改此策略或定制专门的策略,就可以实现有效的防范。选择其中的“所有IP通讯”选项,在这里可以编辑其规则属性。

  选择“筛选器操作”选项卡,选择其中的“要求安全设置”选项。在此筛选器操作的属性设置里可以编辑安全措施,在这里将安全措施设置为“高”选项。

  以上采用IPSec加密数据通信的方法适用于企业网应用,通过部署组策略可以强制网络中的所有计算机使用IPSec加密通信。当然这种严格的限制会带来一些不便,不过对于系统安全来说是值得的。IPSec还可以应用于VPN技术中,在这里可以对IP隧道中的数据流进行加密。

  对于不方便大范围实施IPSec的环境,可以考虑采用VPN。这里的VPN是指虚拟私有网络。VPN技术是目前实现端对端安全通信的最佳解决方案,它主要适用于客户端通过开放的网络与服务器的连接。例如,客户端通过Internet/Intranet连接到企业或部门的专用网络。



  二、企业系统监控安全策略

  尽管不断地在对系统进行修补,但由于软件系统的复杂性,新的安全漏洞总会层出不穷。因此,除了对安全漏洞进行修补之外,还要对系统的运行状态进行实时监视,以便及时发现利用各种漏洞的入侵行为。如果已有安全漏洞但还没有全部得到修补时,这种监视就显得尤其重要。

  1、启用系统审核机制

  系统审核机制可以对系统中的各类事件进行跟踪记录并写入日志文件,以供管理员进行分析、查找系统和应用程序故障以及各类安全事件。

  所有的操作系统、应用系统等都带有日志功能,因此可以根据需要实时地将发生在系统中的事件记录下来。同时还可以通过查看与安全相关的日志文件的内容,来发现黑客的入侵和入侵后的行为。当然,如果要达到这个目的,就必须具备一些相关的知识。首先必须要学会如何配置系统,以启用相应的审核机制,并同时使之能够记录各种安全事件。

  对Windows Server 2003的服务器和工作站系统来说,为了不影响系统性能,默认的安全策略并不对安全事件进行审核。从“安全配置和分析”工具用SecEdit安全模板进行的分析结果可知,这些有红色标记的审核策略应该已经启用,这可用来发现来自外部和内部的黑客的入侵行为。对于关键的应用服务器和文件服务器来说,应同时启用剩下的安全策略。

  如果已经启用了“审核对象访问”策略,那么就要求必须使用NTFS文件系统。NTFS文件系统不仅提供对用户的访问控制,而且还可以对用户的访问操作进行审核。但这种审核功能,需要针对具体的对象来进行相应的配置。

  首先在被审核对象“安全”属性的“高级”属性中添加要审核的用户和组。在该对话框中选择好要审核的用户后,就可以设置对其进行审核的事件和结果。 在所有的审核策略生效后,就可以通过检查系统的日志来发现黑客的蛛丝马迹。

  2、日志监视


  在系统中启用安全审核策略后,管理员应经常查看安全日志的记录,否则就失去了及时补救和防御的时机了。除了安全日志外,管理员还要注意检查各种服务或应用的日志文件。在Windows 2003 IIS 6.0中,其日志功能默认已经启动,并且日志文件存放的路径默认在System32/LogFiles目录下,打开IIS日志文件,可以看到对Web服务器的HTTP请求,IIS6.0系统自带的日志功能从某种程度上可以成为入侵检测的得力帮手。

  3、监视开放的端口和连接

  对日志的监视只能发现已经发生的入侵事件,但是它对正在进行的入侵和破坏行为无能为力了。这时,就需要管理员来掌握一些基本的实时监视技术。

  通常在系统被黑客或病毒入侵后,就会在系统中留下木马类后门。同时它和外界的通信会建立一个Socket会话连接,这样就可能发现它,netstat命令可以进行会话状态的检查,在这里就可以查看已经打开的端口和已经建立的连接。 当然也可以采用一些专用的检测程序对端口和连接进行检测,这一类软件很多。

  4、监视共享

  通过共享来入侵一个系统是最为舒服的一种方法了。如果防范不严,最简单的方法就是利用系统隐含的管理共享。因此,只要黑客能够扫描到的IP和用户密码,就可以使用net use命令连接到的共享上。另外,当浏览到含有恶意脚本的网页时,此时计算机的硬盘也可能被共享,因此,监测本机的共享连接是非常重要的。

  监测本机的共享连接具体方法如下:在Windows Server 2003的计算机中,打开“计算机管理”工具,并展开“共享文件夹”选项。单击其中的“共享”选项,就可以查看其右面窗口,以检查是否有新的可疑共享,如果有可疑共享,就应该立即删除。另外还可以通过选择“会话”选项,来查看连接到机器所有共享的会话。Windows NT/2000的IPC$共享漏洞是目前危害最广的漏洞之一。黑客即使没有马上破解密码,也仍然可以通过“空连接”来连接到系统上,再进行其他的尝试。

  5、监视进程和系统信息

  对于木马和远程监控程序,除了监视开放的端口外,还应通过任务管理器的进程查看功能进行进程的查找。在安装Windows Server2003的支持工具(从产品光盘安装)后,就可以获得一个进程查看工具Process Viewer;通常,隐藏的进程寄宿在其他进程下,因此查看进程的内存映象也许能发现异常。现在的木马越来越难发现,常常它会把自己注册成一个服务,从而避免了在进程列表中现形。因此,我们还应结合对系统中的其他信息的监视,这样就可对系统信息中的软件环境下的各项进行相应的检查。

2005/3/28 1:20
应用扩展 工具箱


一次真实的DDoS攻击防御实战
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
注:比较简单的ddos和解决办法。提供一个思路。

文章来源:天极

 时间:下午15点30左右

  突然发现公司的web server无法访问,尝试远程登录,无法连接,呼叫idc重启服务器。启动后立即登录察看,发现攻击还在继续,并且apache所有230个进程全部处于工作状态。由于服务器较老,内存只有512m,于是系统开始用swap,系统进入停顿状态。于是杀掉所有httpd,稍后服务器恢复正常,load从140降回正常值。

  开始抓包,发现流量很小,似乎攻击已经停止,尝试启动httpd,系统正常。察看httpd日志,发现来自五湖四海的IP在尝试login.php,但是它给错了url,那里没有login.php,其他日志基本正常,除limit RST ....之类较多,由于在攻击中连接数很大,出现该日志也属正常。

  观察10分钟,攻击停止。

  第二轮进攻:

  时间:下午17点50分

  由于有了前次攻击经验,我开始注意观察web server的状态,刚好17点50分,机器load急剧升高,基本可以确定,又一轮攻击开始。

  首先停掉了httpd,因为已经动弹不得,没办法。然后抓包,tcpdump -c 10000 -i em0 -n dst port 80 > /root/pkts发现大量数据报涌入,过滤其中IP,没有非常集中的IP,于是怀疑属于DDoS接下来根据上次从日志中过滤得到的可疑地址,比较本次抓包结果,发现很多重复记录。

  分析:

  这不是简单的DDoS,因为所有httpd进程都被启动,并且留下日志,而且根据抓包记录,每个地址都有完整的三次握手,于是确定,所有攻击源都是真实存在的,不是虚假的IP。

  这样的可疑IP一共有265个,基本上都是国外的,欧洲居多,尤其西班牙。公司客户在欧洲的可为凤毛麟角,只有丢卒保车了。

  采取的措施:

  把所有265个IP,统统加入防火墙,全部过滤ipfw add 550 deny tcp from % to me 80,重新启动httpd。

  观察了3个小时,ipfw列表中所有ACL的数据报量仍旧持续增长,但是公司的web server已经工作正常。

  至此,此次攻击暂告一段落,不排除稍后继续发生,但是由于攻击者使用的都是真实肉鸡,同时掌握超过300个肉鸡实属罕见,因此基本上他不能够在短期内重新发动进攻。

2005/3/26 6:11
应用扩展 工具箱


Cisco路由入侵艺术
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
Cisco路由入侵艺术
奔流不息的网络里,Web绽放着绚丽的色彩、电子邮件呼哧的穿梭网际、语音电话、网络
会议、文件传输,各种数据交织错落,形成辉煌的数字世界。在喧闹的数字世界底层,
存在一种精致的次序,这种次序决定着数据的选路、异构介质衔接、协议的交互等功能
。而这一次序的缔造者正是布满整个网络的路由器。于是,路由器成了数据通信的交通
亭,也成为了众多黑帽(Blackhat)争夺的目标之一。
Cisco路由器占据这网络世界的绝对位置,于是安全焦点效应激发了路由入侵与防御而产
生的精美艺术。下面我将由浅入深的方式讲述Cisco入侵的手段以及防御策略。
【路由器感冒】
路由器从本身的IOS来说,并不是一个健壮的体系,因而它偶尔也会让自己感冒发烧。系
统感冒发烧起来,抵抗力自然就降低不少。

*IOS自身欺骗
Cisco路由器是用IOS系统来实现路由的细节功能,因此它是路由系统的灵魂。Show命令
的在线系统方式却为我们打开一个偷窥之门。
众所周知,Cisco路由器中,一般用户只能查看路由器的很少信息。而能进入特权模式的
用户才有资格查看全部信息和修改路由。一般模式下,show的在线帮助系统不会列表所
有可用的命令,虽然75个show的扩展参数只能用于特权模式下(enable),实际上只有13
个受到限制。这意味着一般用户(非特权用户)可以查看访问列表或其他路由安全相关
信息。
重要安全相关的ACL信息可以被登录路由的非特权用户查看,诸如:
#show access-lists
#show ip prot
#show ip ospf dat
#sh ip eigrp top
等命令可以在非特权模式下泄露网络敏感信息。通过这些命令,我们能得出路由器配置
的大致情况,这对采取进一步的入侵起到辅助作用。不过由于这种方式需要用户已经有
一个登录帐户,因此得到这样的信息有一定难度。

*WCCP暗道
Cisco在IOS 11.2版本中引入WCCP(Web Cache Control Protocol),为Cisco缓存引擎提
供协议通信。Cisco缓存引擎为www提供透明缓存服务。缓存引擎用WCCP来和其他cisco路
由器通信。路由器把HTTP数据发送到缓存引擎主机中。
虽然这种方式默认是关闭的。假如使能(enable)的话,那么WCCP本身是没有认证机制的
。路由器将会把每一个发送合法缓存引擎类型的Hello包的主机认为缓存引擎,于是把H
TTP数据缓存到那台主机。这意味着恶意用户可以通过这种方式获取信息。
通过这种方式,攻击者可以截获站点认证信息,包括站点密码;替代实际WEB内容为自己
设计的陷阱;通过路由彻底破坏Web提供的服务。这种方式,可以完全规避登录烦琐的攻
击方法,对Web提供全面而且致命的打击。
我们既可关闭WCCP的启用机制,也可通过ACL阻止WCCP发送HTTP流量给不信任主机来防止
这样的恶劣情况发生。


*HTTP服务的困惑
Cisco在IOS版本加入了远程管理路由的Web特性,这对于新羽(newbie)的管理员来,无疑
是值得高兴的事情。但引入方便的同时,隐患也随之进入。
1.基于拒绝式服务攻击的HTTP的漏洞
    Cisco路由启用(enable)远程WEB管理,很容易遭受DoS。这种DoS能导致路由器
停止对网络请求的响应。这是功能是Cisco路由的内嵌功能。但启用这个特性,通过构造
一个简单的Http请求就会造成DoS攻击:
/%% target=_blank>http://bbs.ccxx.net
这种请求导致路由停止响应,甚至引起路由器执行硬重置(hard reset)。

2.基于HTTP服务器查询的漏洞
Cisco 安全建议小组在2000年10月30日公布了这个漏洞。IOS 11.0引入通过Web方式管理
路由。”?”是HTML规范中定义的CGI参数的分界符。它也被IOS命令行接口解释成请求帮
助。在IOS 12.0中,当问号邻接于”/”,URL解释器就不能正确解释其含义。当一个包
括”?/”的URL对路由器HTTP服务器进行请求,并且提供一个有效的启用口令,则路由器
进入死循环。因而引起路由崩溃并重起。
如果http起用,浏览
http://bbs.ccxx.net
并且提供特权口令,则可以导致DoS攻击,导致路由停机或者重启。
除了让路由死亡之外,Http额外提供了一种可怕权限提升的漏洞,如下所论。

3.Cisco IOS 认证漏洞
    当HTTP服务器启用并且使用本地用户认证方式。在某些条件,可以绕过认证并
执行设备上的任何命令。用户可以对设备完全的控制。所有命令都将以最高特权执行(l
evel 15)。
使用username 和password的路由设备帐户认证方式,构造如下URL:
http://bbs.ccxx.net
(注:xx代表16至99之间的84种不同的组合攻击,因为路由器硬件类型众多,而IOS版本
也存在不同,因此针对不同的路由器类型,攻击组合数字不同。)
通过这种方式,攻击者可以完全控制路由并可以改变路由表配置。这种可怕的事实让网
管也感到惊悸。这种完整的控制方式将是网站数据通信枢纽的致命一击。

虽然Http漏洞带来如此之多的漏洞,但这种漏洞最主要原因是因为启用http服务器管理
路由的缘故,由于这种管理是种命令行方式的替代物,因此对于熟练的网管来说,没有
必要启动这种危害性很大的服务。
#no ip http server 的路由配置也成为时髦的安全配置语句。


【在SNMP中行走】
谈到Cisco路由的安全性,我们就必须涉及到SNMP这个看似简单,实际扮演着重要角色的
协议,正因为它的存在,路由器的入侵变的丰富有趣多了。

*SNMP基础简介:
每个SNMP启用的路由设备都包含一个叫做管理信息模块(MIB),这是一种包含简单等级
的数据目录结构,在这种树结构中包含设备各种信息。SNMP基本的命令GET,可以检索M
IB的信息,而SET命令则可设置MIB变量。一种用于监控和管理CISCO路由的的软件工具是
MRTG,至于如何配置其用于Cisco设备的监控可以参阅LOG的《怎样在Windows NT/2K下安
装MRTG》一文(http://bbs.ccxx.net
在路由器中配置SNMP的方法如下:
(conf)#snmp-server community readonly RO
(conf)#snmp-server community readwrite RW
SNMP协议通过社区(community)字串的概念赋予对设备MIB访问的权限。上例中,设置了
只读访问的社区字串readonly和可进行读写操作的readwrite社区字串。而大部分管理员
喜欢使用public和private设置只读字串和读写字串,疏不知,这样轻易的结果将给网络
带来巨大的波动。我们可以在【触及RouterKit】部分清楚认识到这种危害。
通过SNMP我们可以方便管理和监控Cisco的设备(参阅Log文章介绍),同时也给攻击者带
来可乘之机。

*Cisco IOS软件SNMP读写ILMI社区字串漏洞
ILMI是一个独立的工业标准,用于配置ATM接口。MIB是一个树形结构,包括操作(只读)
数据以及配置(读写)选项。在有漏洞的设备上,通过在SNMP请求中指定一个ILMI社团字
符串,可以访问整个树形管理结构中三个特定部分的:MIB-II系统组,LAN-EMULATION-
CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每一部分的子集
都可以使用相同的“ILMI”社团字符串修改。
MIB-II系统组包括设备本身的基本信息。能被修改的数目虽然是有限的。例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS软件版本11.x和12.0允许使用一个非文档的ILMI社区字串未经授权就查看和修
改某些SNMP。其中就包括诸如上面所说的"sysContact","sysLocation",和"sysName",虽
然修改它们不会影响设备的正常操作,但如果意外修改可能会产生混乱。剩下的包含于L
AN-EMULATION-CLIENT和PNNI MIBs,修改这些可以影响ATM配置。如果没有防止未授权使
用ILMI社团字符串,一台有漏洞的路由器可能会遭受DoS攻击。
如果SNMP请求可以被有漏洞的设备接收,那么没有适当授权,就可以访问某些MIB,违背
了保密性。没有授权就可以修改可读MIB的子集,破坏了完整性。而更具有危害性的方法
是向SNMP端口发送大量的读和写请求。有漏洞的设备,如果没有防范接收SNMP包的措施
,就会遭受DoS攻击,导致路由重载。

至于如何查看这些的信息,可以参阅【触及RouterKit】部分。

*Cisco IOS软件层叠SNMP共享社区字串漏洞
Cisco 配置文件中,意外创建和暴露SNMP共享字符串,可以允许未授权地查阅或者修改
感染的设备。这种漏洞是调用SNMP函数中的缺陷引起的。SNMP利用“community”的标记
来划分“object”组,可以在设备上查看或者修改它们。在组中的数据组织MIB。单个设
备可以有几个MIBs,连接在一起形成一个大的结构,不同的社团字符串可以提供只读或
者读写访问不同的,可能重叠的大型数据结构的一部分。
启用SNMP,键入“snmp-server”命令时,如果社区在设备上不是以有效的社区字串存在
,就会不可预料地添加一个只读社区字串。如果删除它,这个社区字串将会在重载设备
时重新出现。
缺陷源于SNMPv2的“通知(informs)”功能的实现,这个功能包括交换只读社区字符串
来共享状态信息。当一个有漏洞的设备处理一条定义接收SNMP "traps"(陷阱消息)主
机的命令时(常规snmp-server配置),在trap消息中指定的社团也还是配置成通用,如
果它在保存配置中没有定义。即使社区在前面被删除并且配置在系统重载前保存到存储
器,也会发生这种情况。
当通过"snmpwalk"(一种检测SNMP配置正确性的工具),或者使用设备的只读社团字符串
遍历基于视图的访问控制MIB来检查设备时,就会泄漏读写社团字符串。这意味着知道只
读社区字串允许读访问存储在设备中的MIB,导致信息泄露。而更为严重的是,如果知道
读写社区字符串就可以允许远程配置的路由,可以绕开授权认证机制,从而完全控制路
由器的整体功能。

题外话:一个被发现漏洞很具有讽刺意味,使用nmap等安全扫描工具对路由进行扫描,
居然会产生DoS的攻击。有兴趣的朋友可以参阅:http://bbs.ccxx.net
rc...29/2002-12-05/1

【另类攻击】
前面的漏洞综述,似乎我们都在围绕着如何获得路由配置信息而讲述,因为得到一个完
整Router-config,那么我们便掌握了路由的世界。下面的入侵方法则另辟奚径。

*TFTP的艺术
Cisco的熟练管理员,一般习惯于Cisco免费提供的TFTP服务器(http://bbs.ccxx.net
pcgi-bin/tablebuild.pl/tftp),而Cisco培训的书籍总会介绍使用copy running-conf
ig tftp的命令来保存路由配置文件。于是获得TFTP就有可能获得路由配置文件。
幸运的是,TFTPD守护程序存在目录遍历的漏洞,允许远程用户从目标系统中获得任意文
件。我们可以通过下面简单方法获取目标系统中的任何文件:
Exploit
tftp> connect target_machine
tftp> get cisco-conf.bin
Recieved 472 bytes in 0.4 seconds
tftpd> quit
  而这个免费软件还没有任何修补措施,因此借助这种方式,可以不费吹灰之力就可
能得到一份完整的路由配置存档。

*SSH安全感
通过Telnet管理方式,造就了一批密码窃听者。通过明文的ASCII的网络传输形式,窃听
者随便放置嗅探装置(sniffer),就可安闲的等待着登录用户,密码以及各类敏感信息自
动送到面前。SSH加密方式在路由器的应用,大大的消灭了这种嚣张的气焰。
但入侵与反入侵本来就是个古老的话题。于是,SSH也开始有了危机感。Cisco SSH存在
着三个精妙且复杂的漏洞,这种攻击的手法所涉及的知识已经大大超出本文的范畴,所
以以简略的形式给予说明并指出应用漏洞的文章出处。(这些漏洞整理自中国网络安全响
应中心CNSAN,http://bbs.ccxx.net
1.RC-32完整性检查漏洞
参考:http://bbs.ccxx.net
作者运用及其复杂的数学方式来证明这种漏洞的存在性,看懂这片文章需要相当的数学
功底,本人在看这篇文章的时候也是头痛万分。不过文章中的理论分析十分精彩,初学
者可以省略此漏洞。
CNSAN的文章则指出“要使这种攻击成功,攻击者要拥有一或者2个已知chipertxt/plai
ntext串,这一般并不难,因为每个进程启动时的问候屏幕是固定并可探测的,这样可以
通过SNIFF进程来获得相应的chipertext”。

2.通信分析
参考:http://bbs.ccxx.net
CNSAN的文章论述:“要利用这个漏洞,攻击者必须捕获信息包,这样可以分析使用的密
码长度并用暴力手段猜测密码”。
在SSH中封装明文数据时,数据从8字节的边界上开始封装并对数据进行加密。这样的包
在明文数据长度之后进行某中数学封装,SSH在加密通道内以明文的方式传输,结果,能
检测SSH传输的攻击就能获得SSH内的内容。文章还友善的给出了Patch程序来修正这个漏
洞。

3.在SSH 1.5协议中KEY恢复
参考:http://bbs.ccxx.net
CNSAN的文章论述:要利用这个协议,攻击者必须能嗅探SSH进程并能对SSH服务器建立连
接,要恢复SERVER KEY,攻击者必须执行2^20+2^19=1572864 连接,由于KEY是一小时的
生存时间,所以攻击者必须每秒执行400此连接。
这种技巧的要求非常高,通常的远程入侵中,使用KEY来获得SSH会话过程的概率相当之
低。

*本地密码劫持
    在所有入侵中,这种类型的入侵活动可谓是蓄谋以久的野蛮做法。方法本来的
意图是用于管理员忘记密码后的恢复措施。而技术做为双刃剑的一面,便在于我们如何
使用它。
    如果你有一台笔记本电脑,你有一根与路由器相应类型的连接线,那么你配备
了入侵路由的武器。剩下的时间,你将思考如何闭开网管的眼睛,把连接线与路由器连
接。以后的动作,需要你行动迅速了。(以25xx系列路由为例)
1.切断路由器的电源。
2.连接计算机与路由器。
3.打开超级终端(CTL-Break in Hyperterm)。
4.在启动路由器的30秒时间内,迅速按CTL-Break组合键,使路由器进入rom monitor
状态,出现提示符如下:
Followed by a '>' prompt...
5.输入 O/R 0x2142,修改配置注册器(config register)路由器从Flash
memory引导。
6.输入I,路由器初始化设置后重新启动。
7.输入系统配置 对话提示符敲no,一直等提示信息显示: Press RETURN to get sta
rted。
8.输入enable 命令,出现Router# 提示符。
这是,我们可以完全使用show命令查看路由中的一切配置,并可转储到计算机上。如果
使用了enable的加密方式,虽然现在无法看,但可以使用工具进行破解。当然,粗鲁的
做法是直接修改:
Router#conf term
Router(conf)#enable password 7 123pwd

进行完以上操作,别忘了恢复路由的正常状态,否则网管很快就能发现问题所在:
Router(conf)#config-register 0x2102
Router(conf)#exit

至此,我们从几个方面试图获得整个路由的配置,那么如何进一步扩大入侵的战果,一
些令人激动的工具给我们带来的无比愉悦的方便。

【触及RouterKit】
就如攻击视窗系统人喜欢用NTRK,攻击Linux的人则喜欢用rootkit,Router的世界也有
这优秀的Kit,让人爱不释手。

*密码破解机
得到路由配置文件后,如果看见在特权模式的配置中可能会有:“enable password 7
14341B180F0B187875212766”这样的加密字串。那么恭喜了,enable password命令的密
码加密机制已经很古老,存在极大安全漏洞。通过一些简单的工具就可以得到破解的特权
密码。
实用工具资源:
SPHiXe's 的'C'版本破解机:http://bbs.ccxx.net
Riku Meskanen的Pearl版本:http://bbs.ccxx.net
l
BigDog的Psion 3/5 版本:http://bbs.ccxx.net
Major Malfunction的Palm-Pilot破解机:http://bbs.ccxx.net
iscopw_1-0.zip
Boson Windows版本GetPass:http://bbs.ccxx.net
htm
Mudge描述的漏洞生成原因:http://bbs.ccxx.net
从这些资源,得知,password的安全机制是如此的薄弱,因此,在现在的配置环境中一
般采用enable secrect较新安全加密机制。

*RAT的丰厚礼物
RAT是系统管理网络安全研究机构(SANS)开发的免费路由审核工具(route audit tools)
。这套工具能自动和立即的检索路由配置的情况,并针对配置的问题给出极其详尽的漏
洞发现和推荐修改配置,并能寻址SNMP的漏洞给予安全建议。这种安全的配置文档对于
管理员和黑帽来说,都是非常珍贵的资料。
RAT是用Pearl语言编写而成,因此在Windows需要安装ActiveState Perl的环境。安装过
程十分简单,对于路由的扫描结果以Html和ASCII文本格式给予用户查看。下面是扫描的
具体实例。
Exploit:
C:\>perl c:\rat\bin\rat

2005/3/25 0:10
应用扩展 工具箱


iptables 入门
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
这一节开始说明 iptables 的观念及用法

iptables 中的指令,均需区分大小写。

ipchains 和 iptables 在语法上的主要的差异,注意如下:
1. 在 ipchains 中,诸如 input 链,是使用小写的 chains 名,在 iptables 中,要改用大写 INPUT。
2. 在 iptables 中,要指定规则是欲作用在那一个规则表上(使用 -t 来指定,如 -t nat),若不指定,则预设是作用在 filter 这个表。
3. 在 ipchains 中, -i 是指介面(interface),但在 iptables 中,-i 则是指进入的方向,且多了 -o,代表出去的方向。
4. 在 iptables 中,来源 port 要使用关键字 --sport 或 --source-port
5. 在 iptables 中,目的 port 要使用关键字 --dport 或 --destination-port
6. 在 iptables 中,"丢弃" 的处置动作,不再使用 DENY 这个 target,改用 DROP。
7. 在 ipchains 的记录档功能 -l,已改为目标 -j LOG,并可指定记录档的标题。
8. 在 ipchains 中的-y,在 iptables 中可用 --syn 或 --tcp-flag SYN,ACK,FIN SYN
9. 在 iptables 中,imcp messages 型态,要加上关键字 --icmp-type,如:

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT



iptables 使用时的例子
在设定 iptables 的封包过滤规则时,有几个例子,若先熟悉它们,往后就可自行套用,依此类推,很快地,您就可以进入这个天地之中。

##############################################

##--------##
准备工作
##--------##

首先查看一下机器上的有关于iptables的设定情况
作法如下:

iptables -L -n
iptablse -t nat -L -n



定义以下例子中引用的变数IP
$FW_IP="163.26.197.8"


打开核心 forward 功能,作法如下:

###-----------------------------------------------------###
# 打开 forward 功能
###-----------------------------------------------------###

echo "1" > /proc/sys/net/ipv4/ip_forward
或在/etc/sysconfig/network 中添加
FORWARD_IPV4=yes
打开转发功能


清除所有的规则,作法如下::

一开始要先清除所有的规则,重新开始,以免旧有的规则影响新的设定。作法如下:

###-----------------------------------------------------###
# 清除先前的设定
###-----------------------------------------------------###

# 清除预设表 filter 中,所有规则链中的规则
iptables -F

# 清除预设表 filter 中,使用者自订链中的规则
iptables -X

# 清除mangle表中,所有规则链中的规则
iptables -F -t mangle

# 清除mangle表中,使用者自订链中的规则
iptables -t mangle -X

# 清除nat表中,所有规则链中的规则
iptables -F -t nat

# 清除nat表中,使用者自订链中的规则
iptables -t nat -X




选定预设的策略
接着,要选定各个不同的规则链,预设的策略为何。作法如下:

预设全部丢弃:

###-----------------------------------------------------###
# 设定 filter table 的预设策略
###-----------------------------------------------------###
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP



或者预设全部接受:

###-----------------------------------------------------###
# 设定 filter table 的预设策略
###-----------------------------------------------------###
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT



**各个规则链的预设策略可独立自主的设定,不必受其它链的影响。**

以下练习,若目标为 DROP(丢弃),则 policy 请设为 ACCEPT(接受);若目标为 ACCEPT,则 policy 请设为 DROP,如此方可看出效果。

开放某一个介面
作法如下:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

注:IPFW 或 Netfilter 的封包流向,local process 不会经过 FORWARD Chain,
因此 lo 只在 INPUT 及 OUTPUT 二个 chain 作用。

iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT



IP 伪装(SNAT应用)
使内网的封包经过伪装之后,使用对外的 eth0 网卡当作代理号,对外连线。作法如下:

###-----------------------------------------------------###
# 启动内部对外转址
###-----------------------------------------------------###

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source $FW_IP

上述指令意指:把 172.16.0.0/16 这个网段,伪装成 $FW_IP 出去。



虚拟主机(DNAT应用)
利用转址、转 port 的方式,使外网的封包,可以到达内网中的服务器主机,俗称虚拟主机。这种方式可保护服务器主机大部份的 port 不被外

界存取,只开放公开服务的通道(如 Web Server port 80),因此安全性较高。

作法如下:

###-----------------------------------------------------###
# 启动外部对内部转址
###-----------------------------------------------------###
# 凡对 $FW_IP:80 连线者, 则转址至 172.16.255.2:80
iptables -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination 172.16.255.2:80



开放内部主机可以 telnet 至外部的主机
开放内网,可以 telnet 至外部主机。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open 外部主机 telnet port 23
###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT



开放邮包转递通道
开放任意的邮件主机送信包给你的 Mail Server,而你的 Mail Server 也可以送信包过去。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open SMTP port 25
###-----------------------------------------------------###

# 以下是:别人可以送信给你
iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 25 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 25 -d any/0 --dport 1024:65535 -j ACCEPT

# 以下是:你可以送信给别人
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT



开放对外离线下载信件的通道
开放内网可以对外网的 POP3 server 取信件。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open 对外部主机的 POP3 port 110
###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT



开放观看网页的通道
开放内网可以观看外网的网站。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open 对外部主机的 HTTP port 80
###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT



开放查询外网的 DNS 主机
开放内网,可以查询外网任何一台 DNS 主机。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open DNS port 53
###-----------------------------------------------------###

# 第一次会用 udp 封包来查询
iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 若有错误,会改用 tcp 封包来查询
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 开放这台主机上的 DNS 和外部的 DNS 主机互动查询:使用 udp
iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT
# 开放这台主机上的 DNS 和外部的 DNS 主机互动查询:使用 tcp
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! -y -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT



开放内部主机可以 ssh 至外部的主机
开放内网,可以 ssh 至外部主机。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open 外部主机 ssh port 22
###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是 ssh protocol 比较不同的地方
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1020:1023 -d any/0 --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1020:1023 -j ACCEPT



开放内部主机可以 ftp 至外部的主机
开放内网,可以 ftp 至外部主机。

作法如下:(预设 policy 为 DROP)

###-----------------------------------------------------###
# open 对外部主机 ftp port 21
###-----------------------------------------------------###

# 以下是打开命令 channel 21
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 21 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是打开资料 channel 20
iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 20 -d $FW_IP --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT

# 以下是打开 passive mode FTP 资料通道
iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 1024:65535 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 1024:65535 -d $FW_IP --dport 1024:65535 -j ACCEPT



开放 ping
可以对外 ping 任何一台主机。

作法如下:(预设 policy 为 DROP)

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT
iptables -A INPUT -i eth0 -p icm -s any/0 --icmp-type 0 -d $FW_IP -j ACCEPT


追加:

问题1:为什么每个功能都用了两条链INPUT和OUTPUT,他们的作用是不是先允许网关机器output,然后再允许局域网到网关机器?
            _____
             /   \      .
  Incoming-->[Routing ]--->|FORWARD|------->Outgoing
        [Decision] \ _____/     ^
          |              |
          v           _____
         ____         /   \
        /  \         |OUTPUT|
         |INPUT|         \ ______/
         \ ____/            ^
          |             |
           ----> Local Process ----
  还是分析一下包的在链中的处理流程吧!
其中三个圈代表前述的三个链,当一个包抵达上图其中的一个链时,相应的链就会被检验(examined)以决定如何处理这个包。如果链认为

应该丢弃(DROP)这个包,则将该包丢弃;如果链认为应该接受(ACCEPT)该包,那么它将继续在图中穿越。
(1)当一个包进入时,内核首先看包的目的地,如果目的地址为本机,这个包就下行至INPUT链,如果能够通过检测,则进入后面的包处理

程序。
(2)如果目的地址不是本机,但内核没有启动转发功能,或者内核不知道如何转发这个包,那么该包就会被丢弃。
(3)如果目的地址不是本机,转发功能也已经启动,那么这个包将右行至FORWARD链。如果该包被接受,那么它将会被发送出去。
(4)一个在本机运行的程序发送网络包,这时包会直接经过OUTPUT链,如果被接受,该包会继续被发送到它所指定的网络接口。

注:Incoming & Outgoing 可以是内网也可以是外网, Local Process是指提供代理 或 IP过滤的服务器.

现在知道各链的功能,也就能知道同时出现INPUT,OUTPUT规则语句的含义

2005/3/24 5:28
应用扩展 工具箱


Linux系统深度安全加固
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
你的Karma积分 0 没有达到帖子要求的标准 1.
请修炼几日再来吧.

2005/3/23 23:59

overflow 于 2005年03月24日 23:33:27
overflow 于 2005年03月26日 06:12:13
应用扩展 工具箱


浅谈如何学习linux v1.2
网站管理员
注册日期:
1970/1/1 8:00
所属群组:
网站管理员
帖子: 7077
等级: 58; EXP: 5
HP : 0 / 1426
MP : 2359 / 216382
离线
注:这个可以说是个学习目录从1-4 初学者可能需要2年时间。

我一会把1-4里面要学习的内容一步一步发出来。


★浅谈如何学习linux v1.2


*******************************
*author:ayazero *
*mail:drdos@163.com *
*homepage:overflow.nease.net *
*team:www.ph4nt0m.net *
*******************************

Last update 2004/05/28


本文仅代表个人观点,难免有偏激和局限性。
另外,写本文的目的并不意在于培养你成为在桌面上点鼠标的“个人电脑高手”
而是希望你成为真正意义上的计算机高手。
由于个人水平的局限性,以后可能会发布更高的版本修正bug

一.为什么要学linux?

http://ph4nt0m.net/bbs/showthread.php?threadid=22510
http://ph4nt0m.net/bbs/showthread.php?threadid=857
当然如果没有这种必要,请不要浪费时间

二.起步

你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
问题1:版本的选择

北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux
开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上
而应集中精力学习最有用的东西。

//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,
Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮

如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到
linux上这种需要,那么中软,红旗等中文linux是不错的选择

我强烈建议:自己亲自动手把linux装到你的硬盘上,
你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单

从此现在开始,请不要以windows的工作方式来考虑问题,
应该尝试挖掘linux身上的“天才unix”的气质。

三.进阶
掌握至少50个以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面环境操作
掌握.tgz.rpm.biz等软件包的常用安装方法
学习添加外设,安装设备驱动程序(比如modem)
熟悉Grub/Lilo引导器及简单的修复操作
熟悉系统固有目录的名称及公用
学会用mount命令访问其他文件系统
了解vi,gcc,gdb等常用编辑器,编译器,调试器
学习linux环境下的简单组网

建议:买一本不需要太厚的linux教材,大致可以满足要求
//现在的书越来越多了,还带很多图,我当时可没这么多书:)

四.高级应用

澄清一些概念:
linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识

我个人认为比较重要几种linux语言
1.英语
即使你不学linux,我也强烈建议你学好英文[U.S.english]
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装
你必须能无障碍的阅读大量的英文技术文档
在搜索引擎找到的英文网站和网页中熟练的检索
最好能有用英文直接交流的能力,
摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距


2.shell[sed/awk]
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat
但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell
几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上
这也是CS中的一个重要思想。
此外,shell可以实现工作自动化,这个概念也比较重要
sed,awk用来处理文本,历来很常用

3.Perl/PHP
漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.C\C++
C、C++是linux/unix的核心语言,系统代码都是C写的


5.ASM
系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要
//走核心路线的话,个人认为c\c++,asm最重要

6.Java,Python,Tcl,XML

*系统管理篇
在熟悉linux的基础上还需要掌握至少一种unix
我首推Solaris,其次是FreeBSD
比如运营级系统一般是Solaris+Oracle/DB2之类的
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind
等各种应用服务器的构架及电子商务的应用
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群
等各种企业级应用解决方案
熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复
系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能

我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员 :D

各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内
搜索引擎寻找最新文档,以避免错误和漏洞
有几本技术大全和技术内幕我认为都是这方面不错的书

*深入学习linux

我个人理解的读linux内核需要的基础:
在此之前,希望先把应用层的东西学一下,那样会比较好理解
1.C
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),
建议再看一下
《The C Programming Language》Second Edition这本圣经
/*如果想学缓冲区溢出,这点C的功力可能是不够的*/
还有,<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索>
反正经典书看多了是没有坏处的:)

2.asm (AT&T语法,保护模式)
保护模式下的比较复杂,基本上每本讲内核的书都会有介绍
有80x86 Intel语法的基础就行,
有兴趣可以看看Intel的官方白皮书

3.数据结构(离散数学)
计算机专业的核心课程,重要性我就不说了

4.操作系统原理
看懂这个再去读linux吧

5.微机原理/组成原理(数字电路)
底层直接和硬件打交道,所以这个也要

6.了解linux/unix
我想至少你要会操作吧,了解unix的API

7.软件工程/编译原理

这方面的经典书去www.china-pub.com可以搜到很多
我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧

APUE:
《advanced programming in the unix environment》
《unix环境高级编程》
作者:W.Richard.Stevens共有6本经典书,尊为“圣经”
他的书为全世界黑客所拜读!

UPE:《unix programming environment》
《unix编程环境》比较适合初学者的,深入浅出,
其中有一些比较重要的思想
另外,介绍linux下应用层编程的书也有很多,比如
<GNU\Linux编程指南>,redhat,redflag出的书...........
经典书还有很多很多......
操作系统:设计与实现 //交大的考研参考书目,讲Minix的
unix操作系统设计
4.4BSD操作系统设计与实现
昂莱氏unix源代码分析
ulk:understanding the linux kernel (2nd)深入理解linux内核
linux设备驱动程序 (2nd)
linux内核源代码情景分析
保护方式下的80386及其编程(次书已绝版,只有超星的电子版,如果谁能搞到纸书,清一定告诉我一下,非常感激!!!)


在这里你能明白"黑客"及"haching"一词所代表的真正意义
希望我写的这篇文章能造就更多的黑客,而不是骇客

五.一些资源
www.linuxforum.net //国内最高水平GNU站点
www.chinaunix.net //unix、系统管理的不错
www.linuxeden.com //下载软件不错
www.linuxaid.com.cn
www.linuxsir.org

其实还有很多,包括国外的

后记
很多东西诸如Java之类的我没有学过,所以没有资格发言
本文写给对学习linux感到迷茫的人,高手大可一笑而过
由于个人水平极其有限,难免有错误,望指正和补充

2005/3/23 3:13
应用扩展 工具箱



« 1 ... 86 87 88 (89)





系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备14013333号-8