二、UNIX文件权限如何识别
文件权限是unix文件系统安全的关键。Unix中的每个用户有一个唯一的用户名和UID(用户ID号),每个用户属于一个或多个组。基本分组成员在 /etc/passwd中定义,附加的分组成员在/etc/group中定义。例如,用户tiger的UID为225,分组为11(students),此外,他还是分组185(postgraduates)的成员。每个文件和目录有三组权限,一组是文件的拥有者、一组是文件所属组的成员、一组是其他所有用户。“r”表示可读,“w”表示可写,“x”表示可执行。一共9位(每组3位),合起来称为模式位(mode bits)。
模式位通常由一列10个字符来表示,每个字符表示一个模式设置,第一个指明文件类型,如(d表示目录,-表示普通文件,l表示链接文件等等)。例如,用ls -l 命令显示如下:
drwxr-xr-x 2 root root 1024 Aug 13 09:22 backup/
-rw-r--r-- 1 root root 1824 Apr 21 18:45 client.c
-rw------- 1 root root 65536 Apr 22 17:56 core
-rw-r----- 1 root root 2351 Apr 22 14:01 cry1.bak
-rwxr-xr-x 1 root root 27492 Apr 21 18:47 crypt*
-rw-r----- 1 tiger tiger 2450 Apr 22 15:16 cryption_server.c
-rw-r----- 1 tiger tiger 1544 Apr 22 15:02 myinclude.h
-rwxr-xr-x 1 root root 8280 May 3 10:35 test*
例如最后一行以“-”开始,表示test使一个普通文件,文件拥有者可以读写执行、本组其他成员可以读执行、其他用户可以读执行。我们可以用chmod 和umask命令来改变权限,这很简单,察看相应的帮助就知道怎么修改权限(man chmod,man umask命令)。
三、什么是设置用户ID(SUID)
UNIX允许程序在运行的时候取得其它的UID,SUID表示”设置用户ID”;当用户执行一个SUID文件时,用户ID在程序运行过程中被置为文件拥有者的用户ID。如果文件属于root,那用户就成为超级用户。
四、什么是设置组ID(SGID)
UNIX允许程序在运行的时候取得其它的GID;当一个用户执行SGID文件时,用户的组被置为文件的组。
五、SUID与SGID程序有何风险
SUID和SGID程序潜在了重要的安全漏洞,特别是SUID或SGID设为root的程序,这是网络入侵者非常爱用的入侵口。因为该程序执行权限和root一样,如果程序代码有缺陷,就很容易被人利用以获得一个root的shell。
六、如何查找出SUID和SGID程序
系统管理员应该定期察看系统中有哪些SUID和SGID文件,可用下面的命令可以实现:
find / -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \;
七、如何消除rlogin登录风险
rlogin命令属于远程登录访问命令,是从Berkeley UNIX的品种中演变出来的,适应于网络供给及分布式系统访问,rlogin命令可以被设置成不需要输入密码。与此类命令相关的配置文件有两个,分别是 /etc/hosts.equiv(有些系统不支持此文件)和远程系统的.rhost文件(在远程用户的主目录下)。在一般的rlogin执行过程中, etc/hosts.equiv文件用来检查源系统的主机名;如果出现,则进一步的远程登陆过程继续;如果未出现,那么第二个文件(.rhosts)将被用来检查源主机的主机名。任何一种方法,可能都要呈现给远程主机要求的登录名以作为用户的身份;然而,如果系统主机名没呈现,或不匹配.rhost文件里的内容,则rlogin程序将自动地要求输入密码。
第一个文件hosts.equiv是系统级文件,主要由系统或网络管理员来维护。如果这个文件的权限被危及,那么几乎任何一个入侵者都能远程地登录到目标主机上;第二个文件.rhost存在于目标系统的主目录里,它的权限也一定要安全地维护。
八、如何关闭系统中不必要的服务
Unix系统中有许多用不着的服务自动处于激活状态,它们中可能存在的安全漏洞使攻击者甚至不需要账户就能控制机器。为了系统的安全,应把该关的功能关闭,该限制的文件限制访问权限。可以用如下方法来关闭:
a.以root权限进入系统,或提升到 root;
b.备份inetd的配置文件/etc/inetd.conf ;
c. cp /etc/inetd.conf /etc/inetd.conf.BACKUP ;
d.编辑/etc/inetd.conf文件;
e.用”#”符号注释掉不需要的服务,使其处于不激活的状态;
f.最后请重新启动计算机。
在确实需要很高安全的机器上,最好注释掉telnet和ftp,即使要使用此两项服务,也要对使用情况进行限制,如用TCP Wrapper(host.allow,host.deny)对使用telnet或ftp的IP地址进行限制。
九、UNIX日志文件放在何处
网管主要靠系统的日志文件来获得侵入的痕迹以及其他访问信息。那到底这些LOG日志文件放在哪里呢?这主要依靠的是你所进入的UNIX系统系统,各个系统有些不同的LOG文件,但大多数都应该有差不多的位置,最普通的位置就是下面的这几个位置:
● /usr/adm - 早期版本的UNIX
● /var/adm - 新一点的版本使用这个位置
● /var/log - 一些版本的Solaris,Linux BSD,Free BSD使用这个位置
● /etc - 大多数UNIX版本把utmp放在此处,一些系统也把wtmp放在这里,这也是 syslog.conf的位置
十、何区分UNIX系统各种日志文件
既然我们已经了解了UNIX系统日志文件的位置,那么知道每个日志的作用也是十分重要的,下面即是UNIX中各个日志文件所包含的内容:
●acct 或 pacct -- 记录每个用户使用的命令记录;
●access_log - 此记录文件会有什么站点连接过你的服务器;
●aculog -- 保存着你拨出去的MODEMS记录;
●lastlog -- 记录了用户最近登录记录和每个用户的最初目的地,有时是最后不成功的登录记录;
●loginlog -- 记录一些不正常的登录记录;
●messages -- 记录输出到系统控制台的记录;
●security -- 记录一些使用UUCP系统企图进入限制范围的事例;
●sulog -- 记录使用su命令的记录;
●utmp -- 记录当前登录到系统中的所有用户;
●utmpx -- UTMP的扩展;
●wtmp -- 记录用户登录和退出事件;
●syslog -- 最重要的日志文件,使用syslogd守护程序来获得日志信息;
●uucp --记录信息包括UUCP发出和接受的呼叫,发出的请求,发送者,发送时间和发送主机;
●lpd-errs -- 处理打印机故障信息的日志;
●ftp日志 --记录每一个FTP访问记录;
●httpd日志 --记录每一个WEB访问记录;
●history日志 -- 这个文件保存了用户最近输入命令的记录;
十一、UNIX系统的安全审计
(1)、对系统用户登陆的安全审计
UNIX下系统用户登陆的安全审计工具主要有lastlog和WTMP。
lastlog文件(此文件一般在/var/log目录下,各种UNIX系统可能不同)记录每个用户的最近一次登陆时间和每个用户的最初目的地。当一个用户登陆到UNIX系统时,注册程序在lastlog文件中查找该用户的UID.如果程序找到了该用户的UID,UNIX系统就会为用户显示最后一次登陆的时间等。有些UNIX既显示成功的登陆也显示失败的登陆尝试。
通常用户登陆进系统后就会显示最后一次登陆的时间及IP地址等信息。
WTMP文件(此文件一般在/var/adm目录下,各种UNIX系统可能不同)记录用户登陆和退出时间。它随着用户每一次的登陆和退出会持续增长。在有些UNIX版本中,一些程序如(ftp等)也在WTMP中。
通常使用last和ac命令来访问WTMP文件,last和ac命令会根据WTMP的记录及命令的输入参数产生不同的报告。
(2)、对FTP服务的安全审计
FTP要根据具体使用的服务程序来区分它的安全审计,如果不使用系统自带的FTP服务器软件,则一般的FTP服务器软件都有日志记录功能,各种服务器软件可能会有不同的方式和日志文件。这里我们只介绍系统自带的FTP服务器软件。
系统自带的FTP服务器软件一般使用ftpd程序来接受用户的连接,它使用syslog来处理它产生的消息。执行带-l选项的ftpd能激活日志记录功能。在inetd.conf文件调用ftpd的行如下所示:
ftpstreamtcpnowaitroot/etc/ftpdftpd -l
应该编辑syslog.conf文件加入如下一行:
daemon.infoftplogfile
另外,在有些UNIX版本中,系统可能也会使用WTMP来记录FTP的用户登陆信息。因此这些系统中也可以last命令来查看ftp用户登陆的情况。
(3)、对在线用户的安全审计
UTMP文件(此文件一般在/var/log目录下,各种UNIX系统可能不同)记录当前登陆到系统的所有用户。这个文件随着用户进入和离开系统而不断地变化。它不会为系统的用户保持很长的历史记录,只记录此时联机的有那些用户。
通常可以使用用户who或者w命令来查看UTMP的日志记录。
(4)、对网络安全的安全审计
UNIX下使用syslog来作为系统的日志工具。syslog能够方便记录各种程序产生的日志。
为了利用syslog,在后台执行一个名为syslogd的守护程序。当syslogd接收到消息时,它检查自己的配置文件syslog.conf,找出消息的响应目标。在大多数的默认配置中,syslog把大多数的消息传递给/var/adm/message文件。大多数的守护程序及各种服务程序的消息一般都记录在这里。另外,我们也可以使用第三方工具来加强网络安全的安全审计,如TCP_Wrapper。
共8页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] 下一页 |