红色的士 的个人主页 二级域名: http://红色的士.
首页 | 搜索 | 登陆 | 注册
校园网安全技术讲座 2006-10-09 17:03
复制

校园网络的发展到今天,大多都已成为了Internet的一部分。Internet的不再免费使用,使校园网的安全性显得尤其重要..

阅读全文(2041) | 回复(0) | 推送

怎样用ipchains构建防火墙 2006-10-09 17:00
复制
提示:防火墙是提供网络安全性的重要手段之一,RedHat6.1提供了用于实现过滤型防火墙的工具 ∫G弞.2Rs
 包——ipchains。实现防火墙的策略一般有两种:在第一种方式下,首先允许所有的包,然后..
阅读全文(2077) | 回复(0) | 推送

如何设置一个可靠的防火墙系统保护公司内部网络? 2006-10-09 16:58
复制
背景:公司通过一条DDN专线与ISP相连,考虑用Linux服务器建立一个 B彦1喗n
       防火墙,内部网段采用192.168.11.0,防火墙外部接口网卡连接 ?OZ栨S
       路由器然后与I..
阅读全文(1393) | 回复(0) | 推送

网络安全手册 2006-10-09 16:57
复制
本文主要讨论网络和数据通讯安全,分为六个部分.第一部分概述最大,最老的UNIX网络UUCP系统;第二部分讨论UUCP的安全;第三部分讨论新HONEY DANBER UUCP及安全特点;第四部分讨论..
阅读全文(1640) | 回复(0) | 推送

Unix网络的两个安全问题 2006-10-09 16:57
复制
虽然已经有许多文章对有关Unix网络的安全性问题进行了广泛的论述,但随着技术的进步和人们对安全问题的认识的深入,总是不断有安全问题被暴露出来,并被加以修正。本文介绍两个由于技术上认识不足而造成的安全问题,并给出解决方法。
关机用户的安全问题。
近年来,许多文章相继介绍了一种所谓最安全的Unix的关机用户。其主要思想是直接在/etc/passwd文件或/etc/shadow文件中的关机用户一行的末尾加入/etc/shutdown命令或加入/etc/haltsys命令以代替/bin/sh命令。这样即使有人知道了关机用户的密码(或没有设置关机用户的密码),也不能通过关机用户进入Unix系统,关机用户被严格界定为有且仅有关机功能的超级用户。这一关机用户已被公认为“最安全的关机用户”。
该用户和其他的关机方法相比安全性有所提高,特别是在单机状态下,其安全性值得信赖。但令人遗憾的是,该关机用户在Unix网络中也存在着一定的安全隐患。这主要是由关机用户本身的用途所造成的,首先由于网络中的用户几乎都需要关机用户,所以关机用户往往不设密码或由多人同时掌握密码;另一方面要关闭Unix系统就必须使关机用户具有超级用户的权限。这样,虽然不能用DEL键中断或su命令等手段非法侵入Unix系统, 但利用一些网络远程命令却有可能通过关机用户侵入Unix系统,甚至进入超级用户root的sh状态。
1.提出问题
假设计算机A中有一个关机用户名为shutdown,其设置和权限控制按“最安全的关机用户”的方法设定,因为系统管理员、软件管理员、一般操作员都要使用该用户, 故而未对其设置密码。设计算机A的IP地址为129.15.21.77。
此时如果想从另一台计算机(假设为计算机B)中向计算机A发起攻击,则利用Unix系统网络远程命令, 通过计算机A的“最安全的关机用户”:shutdown即可达到目的。首先在计算机B中的/etc/hosts文件中加入如下代码:
129.15.21.77 hostshut
然后在计算机B中进入任何一个普通用户,键入以下命令:
rcmd hostshut -l shutdown vi /etc/passwd
或 rcmd hostshut -l shutdown vi /etc/shadow
这样,该普通计算机用户已在计算机B中用vi命令打开了计算机A中包括root超级用户在内的所有用户的密码文本。接下来只要改动或删除这些密码,就可以轻松地用telnet、rlogin等远程命令登录到计算机A的任何一个用户中。如果此时闯入的是一个恶意用户, 对计算机A来说其后果将不堪设想。
2.解决问题
为了解决这个安全问题,首先可以封闭inetd守护进程中的部分远程功能,如telnet、shell、login、exec等,方法是直接用vi修改/etc/inetd.conf文件,在上述功能前添加#号,然后执行/etc/inetd命令即可。但这样大大削弱了Unix系统的网络功能,并可能影响到其他计算机应用方案的实施。
经过实践,笔者发现了一种相当安全的关机方法,该方法采用了输入/输出重定向、Unix哑终端技术和Unix定时系统来实现安全的关机。具体做法如下:
首先在超级用户中输入如下命令,使tty12终端成为哑终端:
#disable /dev/tty12
由于需要在哑终端tty12中运行关机程序,而哑终端的窗口在原始模式下工作, 所以不能用Unix系统命令read进行输入,必须自己编写一个能在原始模式下实现输入/输出功能的程序。用cc -lcurses命令编译以下源程序,并生成可执行文件safehalt:
file://安全关机程序
#include<curses.h>
#include<termio.h>
#include<stdio.h>
#include<string.h>
main()
{
WINDOW *win;
char til[]=“是否现在关机?确认请按yes:”,s1[4],sum[100];
struct termio save,term;
initscr(); raw(); noecho();
keypad(stdscr,TRUE); clear();
ioctl(0,TCGETA,&term);
save=term;
win=newwin(24,80,0,0);
while(s1[0]!=‘q’)
{
s1[0]=‘\0’;s1[1]=‘\0’;s1[2]=‘\0’;
mvwaddstr(win,5,0,til);
wrefresh(win);
read(0,&s1[0],1);
if(s1[0]==‘y’)
{
sprintf(sum,“%s%s”,til,s1);
mvwaddstr(win,5,0,sum);
wrefresh(win);
read(0,&s1[1],1);
if(s1[1]==‘e’)
{
sprintf(sum,“%s%s”,til,s1);
mvwaddstr(win,5,0,sum);
wrefresh(win);
read(0,&s1[2],1);
if(s1[2]==‘s’)
system(“/etc/shutdown -g0 -y”);
}
}
}
keypad(stdscr,FALSE); echo();
noraw(); endwin();
}
最后编制一个Unix的shell脚本atsh,包括以下内容:
at now +1 day
/usr/bin/safehalt
执行一次atsh脚本程序后,该程序以后会自动执行。
这样每天在tty12屏幕上都会自动运行一个关机程序,当输入yes后,机器将被关闭,当然也可以在程序中设置关机密码。该方法彻底排除了由关机用户引起的安全性问题。
自动传输数据的安全问题
在Unix系统中自动批量发送数据文件的方法主要有两种:一种方法是在用户的宿主目录下增加.netrc文件, 并在文件中加入远程机器的host名、用户名和密码,然后在建有.netrc文件的用户登录后用ftp自动批量发送文件;另一种方法是用Unix的shell编写一个批处理的脚本文件, 以执行该脚本文件来自动批量发送数据。上述两种方法虽然都可以实现自动批量发送数据文件的目的,但却存在一些安全隐患。这两种方法都使用了纯文本文件的方式来存放远程机器的host名、IP地址、用户名和密码,因此只要用简单的Unix命令如cat、vi、more等就可以对远程机器的主要秘密一览无遗。
为增加安全性,必须对这些秘密信息进行隐藏和加密。笔者用C语言程序的二进制代码封装远程机器的IP地址、host名、用户名和密码以增加其安全性。在用C语言进行编程封装时,注意不能在程序中把远程机器的IP地址、host名、用户名和密码等重要信息直接赋值给字符串变量。如果直接赋值给字符串变量,就很容易被人用Unix命令strings、hd和DOS操作系统的常用工具pctools从C程序的二进制代码中找到上述重要信息。还要注意不能在程序执行过程中产生带有上述远程机器重要信息的中间文件。如果出现这些中间文件,虽然可以在程序结束前删除它们,但遇到发送的数据文件数量多时间长时, 这些中间文件就有可能被调看而泄密,所以最好不要在程序中产生中间文件。
下面这个简短的程序例子是从本地机器的超级用户中把数据文件发送到另一台机器的超级用户中, 可以实现多个文件的连续自动批量发送。尽管该程序使用了超级用户进行数据发送,但由于编程时进行了巧妙的设计,所以当它被编译成可执行代码后,很难从这些二进制代码中发现有关本地计算机和远程计算机的安全方面的重要信息。同时,该程序采用了管道通信方法从而在执行过程中不会产生任何中间文件,安全性相对较高。实现代码如下:
file://安全发送数据
#include<stdio.h>
#include<string.h>
main(int argc,char *argv[])
{
int i,u1,u2,u3,u4;
float ip1,ip2;
char pw[10]=“”,us[5]=“”,ftpn[4]=“”;
char ftpcmd[500]=“”,runl[10]=“”;
char ftpprt[256]=“”;
FILE *fftp;
if(argc>1)
{
us[0]=‘u’;us[1]=‘s’;us[2]=‘e’;us[3]=‘r’;
u1=‘r’;u2=‘o’;u3=‘o’;u4=‘t’;
pw[0]=‘5’;pw[1]=‘1’;pw[2]=‘2’;
pw[3]=‘7’;pw[4]=‘3’;
pw[5]=‘7’;pw[6]=‘4’;
ftpn[0]=‘f’;ftpn[1]=‘t’;ftpn[2]=‘p’;
ip1=106.73;ip2=168.13;
printf(“\f 从本机数据:\n”);
for(i=1;i
{
sprintf(runl,“l %s”,argv);
system(runl);
}
sprintf(ftpcmd,“%s%s -n -i %.2f.%.2f <
sprintf(ftpcmd,“%s%s %c%c%c%c %s \n”,ftpcmd,us,u1,u2,u3,u4,pw);
sprintf(ftpcmd,“%scd /usr/tmp \n”,ftpcmd);
for(i=1;i
{
sprintf(ftpcmd,“%sput %s \n”,ftpcmd,argv);
sprintf(ftpcmd,“%sls %s \n”,ftpcmd,argv);
}
sprintf(ftpcmd,“%sCMD\n”,ftpcmd);
printf(“\n正在发送……\n”);
fftp=popen(ftpcmd,“r”);
i=0;
while(fgets(ftpprt,256,fftp)!=NULL)
{
i++;
if(i>0)
printf(“%s”,ftpprt);
}
pclose(fftp);
}
}
阅读全文(1490) | 回复(0) | 推送

设计防火墙系统 2006-10-09 16:56
复制

防火墙系统设计要求你能够了解并鉴别你的网络的安全域。网络的安全域是指一个网络中的在统一的安全策略下运行的邻近域。无论这些域的交叉点在那里,在这些域的边界肯定有一种潜在的对策略冲突决策机制的需求。这也是防火墙技术有用的地方。

现在,防火墙最常用于一个组织的内部网络和互联网之间。在设置互联网防火墙的时候,你首先必须决定它的基本结构(假设你已经确定了你的防火墙需求和安全策略,并且决定实施它们)。在本文中,“结构”代表防火墙的各个组成部分(软件和硬件)的总和,以及它们之间的连通性和功能分配。有两种防火墙结构,我们称它们为“单层结构”和“双层结构”。

在单层结构中(见1-1“单层结构”),一台主机实现所有功能,并且与需要它控制访问的所有网络相连接。这种方法通常适用于对价格敏感或者只有两个网络互联的情况。它的优点在于,那台主机上的防火墙可以监控一切事情。在需要实行的安全策略比较简单,并且接入的网络也不多的情况下,这种结构是十分划算并且容易维护的。它最大的缺点是容易受执行缺陷(Implementation Flaw)以及配置错误的影响——由于这种结构的特性,只要有一个缺陷或者错误,就可以使防火墙失效。

在多层结构中(见1-2“多层结构”),防火墙功能需要一定数量的主机来实现,而且通常采用级联方式,并且它们之间有DMZ网络。这种结构比单层结构更难设计和操作,但是它能够通过多样化的防御措施而提供更强的安全性。我们建议在每台防火墙主机中使用不同的防火墙技术,虽然这样的花费也更高。这样可以避免在不同的层中出现相同的执行缺陷和配置错误。这种结构最常见的设计方法就是在一个DMZ网络中接入一个由两台主机互联而组成的互联网防火墙。(The most common design approach for this type of architecture is an Internet firewall composed of two hosts interconnected with one DMZ network.

在确定基本结构(比如主机数量,主机连接方式,每台主机的任务)之后,下一步就是确定这些主机实现的防火墙功能。最基本的两种防火墙功能类型是包过滤和应用代理。这些功能可以单独或者结合使用,并且可以在同一台或者不同的防火墙主机上实现。现在,包过滤防火墙产品已经融入了一些应用代理的特点,并且通常被称作状态验证包过滤(Stateful Inspection Packet Filter)。如果希望了解更多的关于防火墙功能的细节,请参见《Building Internet Firewalls[Chapman 95]和《Firewalls Complete[Goncalves 98]以及《Firewalls fend off invasions from the Net[Lodin 98]

关于同时使用包过滤和应用代理,这里有一个很好的理由。某些服务(例如SMTPHTTPNTP)通常是十分容易通过包过滤控制的,而其他一些服务(例如DNSFTP)则可能需要一些只有应用代理才有的更复杂的特性。包过滤的速度很快,应用代理的速度要慢一些。在一些要求高访问量控制并且对代理性能要求很高的情况下,状态验证包过滤或许是一个比较折衷的方案。在任何情况下我们都需要尽量使用这些不同的功能(比如包过滤,代理和状态验证),并且将它们应用于合适的地方。

理论上,防火墙结构的设计应该在防火墙硬件和软件选择之前。然而,我们发现在一些组织中,一些形式的防火墙已经在运行了。(However, we recognize that in some organizations, some form of firewall may already be in place. U疑輂
  

为什么很重要

如果你没有选择正确并且有效的防火墙结构,你就可能在使你的组织的安全策略正确执行方面遇到困难。这个设计可以决定那些策略可以被执行,哪些不可以,以及防火墙完成任务的情况等。一旦部署了防火墙,那么,要更改它的结构就是一项困难而昂贵的工作。因此一个有效的,可升级的并且易于管理的防火墙设计就隐含了巨大的价值(节省的费用)。

防火墙系统在安全域的边界提供一个安全策略执行机制。如果对手可以通过利用其他疏于保护的边界以获取对你的网络的访问权(比如一个用户工作站的Modem或者通过合作伙伴的网络),那么,你在与那个网络交界处所部署的所有防火墙以及访问控制边界都会失效。

怎么做

将环境归档

制作和使用图标在你设计防火墙结构的时候是十分重要的。图表是一种十分有效的交流手段,它们也是你在之后避免错误的绝佳工具。最重要的一条基本原则是“如果你画不出来,你就无法构建它”。千万不要忽略或者敷衍这个步骤。一个有效的方法是跟一群有相关知识的人一起用电子白板构建图表。

确定防火墙功能

现在的防火墙产品所提供的功能有包过滤,应用代理和状态验证包过滤。每个功能都包含了一个特定的应用平台范围。防火墙应用平台是特定的硬件和操作系统的结合,防火墙在这个平台上面运行。在某些情况下,功能和平台是独立选择的,但是在另外一些情况下,确定了其中一个就会影响另外一个的选择。接下来的部分讲述了每种功能及其适用平台。

包过滤

因为路由器通常分布在有不同安全需求和安全策略的网络的交界处,因此可以通过在路由器上使用包过滤在可能的情况下实现只允许授权网络的数据进入。在这些路由器上使用包过滤师一种比较经济的在现有路由基础结构上增加防火墙功能的机制。顾名思义,包过滤在路由过程中对指定包进行过滤(丢弃)。对过滤的判断通常基于单个包的头部所包含的内容(例如源地址,目的地址,协议,端口等)。某些过滤工具提供依据其他信息过滤的能力,我们将在下面的状态验证包过滤中介绍。

通常来说,包过滤路由器提供了最高的防火墙性能。然而,由于它们需要比较低级的配置,需要你了解协议2细节,因此比较难配置。

包过滤通常运行在两种平台上

作为路由器的通用计算机

特殊用途的路由器

下表列举了每种平台理论上的优势和缺点。

我们发现费用在选择包过滤平台的过程中并不是的主要因素。

特殊用途路由器的商家已经在他们的路由器产品中加入了包过滤功能,以使他们的产品能够根据客户需求和最低的实现成本提供访问控制。但是,他们只是路由器厂商,并不是安全产品生产商,因此当他们需要在安全功能和路由功能之间进行取舍的时候,他们一定会选择路由功能。在这样的情况下,性能是一个路由功能上的问题,而不是安全功能上的。此外,向路由器添加过滤功能可能对性能产生下列消极影响:

<!--[if !supportLists]-->·   <!--[endif]-->可能对路由甚至网络性能产生消极影响

<!--[if !supportLists]-->·   <!--[endif]-->可能需要更多的内存

通用计算机以及运行于其上的系统软件并没有被设计为象高性能路由器那样。最常见的选择通用计算机的原因有: 

应用代理

应用代理是一个在两个网络之间的防火墙上运行的应用程序(见图1-3 "Application proxy")。

运行代理的主机并不需要作为路由器。当一个客户程序通过代理建立一个到目的服务器的连接的时候,它首先建立一个到代理服务器的直接连接。然后客户程序与代理商议,通过代理代表客户程序与服务器建立连接。如果成功,应该存在两个连接:一个是客户程序与代理之间的,另外一个是代理与服务器之间的。一旦连接上,代理就开始将从客户程序或者服务器接收到的数据转发给另一方。代理决定所有的连接建立和包转发,运行代理的主机上的所有路由功能都与代理无关。

1-3 "Application proxy"

和包过滤一样,应用代理可以在特殊的代理机服务器运行,也可以在通用计算机上运行。通常,应用代理比包过滤路由器要慢。但是,应用代理在某些方面天生有着比包过滤路由器更高的安全性。包过滤路由器曾经受到执行缺陷及操作系统漏洞的困扰。由于包过滤能力是“附加”到路由功能上的,因此它们无法更正或补偿某些特定类型的路由失败。

由于要进行更复杂的过滤和访问控制,,应用代理需要占用大量的系统资源,并且需要更为昂贵的主机来运行它。比如,如果一个UNIX平台采用了某种防火墙技术,并且需要支持200个并行会话,这台机器必须能够支持200HTTP代理进程并提供合理的性能。再加上100FTP会话,25SMTP会话,一些LDAP会话和一些DNS事务,那么,你就需要一台能够处理5001000个代理进程的主机。某些代理通过内核线程来实现(这样可以明显的减少资源需求),但是资源需求依旧很高。

状态验证和动态包过滤

我们使用术语“状态验证或动态包过滤”来指代路由器上一组更有能力的过滤功能。包过滤的限制在于它的过滤决策只基于每个单独的包的包头信息,而不考虑任何之前的包。状态验证过滤允许有效负荷(信息内容)的集合和前面的包提供的上下文作用于过滤决策。和包过滤一样,状态验证也是作为路由功能的“附加”而实现的,因此执行状态验证的主机也必须作为路由器。

状态验证的原理机能是性能和安全的折中。作为路由功能的“附加”,状态验证提供了比代理更好的性能。它也提供了比简单的包过滤更高级的防火墙功能。它能够像代理一样指定更复杂的访问控制标准,也能像包过滤一样基于高质量(比如,准确的)下层路由实现。

需要了解更多关于状态验证和动态包过滤的信息,请参阅《Stateful Inspection Firewall Technology Tech Note》(Check Point 98)和《Application Gateways and Stateful Inspection: A Brief Note Comparing and Contrasting.》(Avolio 98)。更多关于所有防火墙功能以及赞成和反对这些功能的原因,请参见《Firewalls and Internet Security Cheswick 94),《Building Internet Firewalls 》(Chapman 95),《Firewalls Complete》(Goncalves 98),《Third Annual Firewall Industry Guide》(ICSA 98),和《Internet Security Policy: A Technical Guide》(NIST 98)。《Firewalls Market Survey》(SC 99)是一篇关于13个厂商的防火墙产品及其支持的功能的摘要。

对于选择防火墙功能,我们有如下建议:

功能

包过滤(PF)

应用代理(AP)

状态验证和 h"3jo淘O
 动态包过滤 畼u"q炟旷
  (SI)

包过滤和 c-r閻e
 应用代理

状态验证,包过滤 XA弙.6睴
 和应用代理

平台a

SP  GP

SP    GP

SP       GP

SP       GP

SP                GP

协议/服务b

A    A

S      S

A        A

A        A

A                  A

支持c

T    S

T      S

T         S

T        S

T                  S

安全需求d

L    L

H      H

M         M

L(PF) L(PF) 鋭"礙邉}住
 H(AP) H(AP)

L(PF)           L(PF) 暺僦巨嗃
 M(SI)           M(SI) /5lk%赆簹
 H(AP)           H(AP)

性能/平均需求e

H    H

L      L

M(SI) M(SI) p8M 匢,
 H(PF) H(PF)

L(AP) L(AP) 莾褛u5
 H(PF) H(PF)

L(AP)          L(AP) 媡#鴆#$$
 M(SI)          M(SI) ^7U( 塋R
 H(PF)          H(PF)

a. SP –

阅读全文(1407) | 回复(0) | 推送

配置安全的SCO UNIX网络系统 2006-10-09 16:56
复制
一个网络系统的安全程度,在很大程度上取决于管理者的素质,以及管理者所采取的安全措施的力度。在对系统进行配置的同时,要把安全性问题放在重要的位置。 |:鞙b蚨
  稬R'
   SCO UNIX,作为一个..
阅读全文(1746) | 回复(0) | 推送

建立主动性网络安全体系 2006-10-09 16:55
复制
防火墙和其它反病毒类软件都是很好的安全产品,但是要让你的网络体系具有最高级别的安全等级,还需要你具有一定的主动性。 U,":4
  vG砟
   你是不是每天都会留意各种黑客攻击、病毒和蠕虫入侵..
阅读全文(1415) | 回复(0) | 推送

Web 安全技术与防火墙 2006-10-09 16:54
复制
1、概述    湚xV4E J
  鶃CB楏:翿v
 计算机的安全性历来都是人们讨论的主要话题之一。而计算机安全主要研究的是计算机病毒的防治和系统的安全。在计算机网络日益扩展和普及的今天,计算机安全的要求更高..
阅读全文(1428) | 回复(0) | 推送



2019 年 1 月 16 日 Wed
  12345
6789101112
13141516171819
20212223242526
2728293031  
«» 2019 - 1 «»

博客基本信息
用户名:红色的士
等级:初来乍到
威望:18
金钱:45
在线时间:120 分钟
日志总数:9
评论数量:0
访问次数:52987
建立时间:2006-10-09


 XML   RSS 2.0   WAP 

 

Powered by BLOG 教师博客 Code © 2006-08 Design by http://blog.yxzkxx.net
Time 0.009071 second(s),query:4 Gzip enabled