Linux下安装配置LIDS系统

LIDS全称为Linux Intrusion Detection System,是一种基于Linux内核补丁模式的检测系统,它也是一种基于主机的检测系统。它集成在Linux内核中,来进一步增强Linux内核的安全性,为Linux内核提供实现一种安全模式、参考模式和强制存取控制模式。
虽然,网络防火墙可以阻止大部份的网络,但这种穿透了防火墙,系统上的重要数据就会有彻底控制的危险。所以,在Linux系统上布置LIDS是颇有必要的。它可以保证Linux系统上的重要目录及文件不被复制、删除,重要的服务不被删除或中止,不能修改系统登陆方式等等,为Linux系统数据安全提供一种全方位的保护。php

1. LIDS的主要功能html

1).保护硬盘上任何类型的重要文件和目录node

如/bin、/sbin、/usr/bin、/usr/sbin、/etc/rc.d等目录和其下的文件,以及系统中的敏感文件,如passwd和shadow文件,防止未被受权者(包括ROOT)和未被受权的程序进入,任何人包括ROOT都没法改变,文件能够隐藏。保护重要进程不被终止,任何人包括root也不能杀死进程,并且能够隐藏特定的进程。linux

2).检测内核中的端口扫描器,LIDS能检测到扫描并报告系统管理员。apache

3).当有人违反规则时, LIDS会在控制台显示警告信息,将非法的活动细节记录到受LIDS保护的系统log文件中。安全

2 配置LIDS网络

本节涉及到内核编译的知识,请初学者参考:
http://linux.chinaunix.net/techdoc/desktop/2006/05/11/932179.shtmlssh

本次试验以Fedora 14为平台:
①.首先准备内核:
http://www.kernel.org/ 在这里下载kernel 2.6.34.14 源码,将源码包释放到/usr/src
②.下载patch
http://www.lids.jp/develop/lids-2.2.3rc11-2.6.34.patch
管理工具
http://www.lids.jp/wiki/index.php?Development
③.下载lidstools-2.2.7.10
④.Linux内核打LIDS补丁
#patch -p1 ./lids-2.2.3rc11-2.6.34.patch
Linux下安装配置LIDS系统
⑤.编译linux内核
#make menuconfig socket

执行完上面的命令会打开如图1所示界面,启用LIDS在在内核Security Options选项中,其界面如图2所示。ide

Linux下安装配置LIDS系统

图 1 在Linux内核中选中Security options选项

Linux下安装配置LIDS系统

图 2 在内核中启用LIDS

设置完毕保存退出
#make ;make install
这样就会将Lidsadm和Lidsconf这两个工具安装到/sbin/目录中,同时会建立一个/etc/lids的目录,并会在此目录下生成一个默认的配置文件.

3.使用Lidsadm工具

Lidsadm是LIDS的管理工具单元,能够用它来管理系统中的LIDS。Lidsadm的做用主要就是启用或停用LIDS,以及封存LIDS到内核中和查看LIDS状态。
使用下列命令能够列出Lidsadm的全部可用选项:
 # lidsadm -h
此命令会返回下列信息:
......
lidsadm -[s/I] -- [+/-] [LIDS_FLAG] [...]
lidsadm -v
lidsadm -h
命令参数解释:
-s:开关某些保护选项时指示应提交密码
-I:开关某些保护选项时不提交密码
LIDS_FLAG:为Lidsadm的标志值
-v:显示版本
-V:查看如今LIDS状态
-h:列出全部选项   
Lidsadm经常使用的部分主要功能模块:
CAP_CHOWN:                        修改目录或文件的属主和组
CAP_NET_BROADCAST:     监听广播
CAP_NET_ADMIN:                接口、防火墙、路由器改变
CAP_IPC_LOCK:                   锁定共享内存
CAP_SYS_MODULE:            插入和移除内核模块
CAP_HIDDEN:                         隐藏进程
CAP_SYS_RESOURCE:      设置资源限制
CAP_KILL_PROTECTED:    杀死保护进程
CAP_PROTECTED:               保护进程为单用户方式   
Lidsadm可用的标志值(Available flags):
LIDS:                                        禁止或激活本地LIDS;
LIDS_CLOBAL:                      彻底禁止或激活LIDS
RELOAD_CONF:                    从新加载配置文件

 (2)、Lidsconf工具及其选项:

Lidsconf主要用来为LIDS配置访问控制列表(ACLS)和设置密码。
输入如下命令能显示Lidsconf全部的可用选项:

 # lidsconf -h

此命令执行返回命令参数解释以下:
-A:增长一条指定的选项到已有的ACL中
-D:删除一条指定的选项
-E:删除全部选项
-U:更新dev/inode序号
-L:列出全部选项
-P:产生用Ripemd-160加密的密码
-V:显示版本
-h:显示帮助
-H:显示更多的帮助

子对像(subject):
-s [--subject]:指定一个子对像,能够为任何程序,但必须是文件。
目标(object):
-o[object]:能够是文件、目录或功能(capabilities)和socket名称。
动做:
-j:它有如下几个参数:
               DENY:           禁止访问
               READONLY: 只读
               APPEND:      增长
               WRITE:         可写
               GRANT:         对子对像授与能力
               Ignore:          对设置的对像忽略全部权限
               Disable:        禁止一些扩展特性

4.使用LIDS来保护系统

在使用LIDS保护的Linux的系统中,能够经过一个LIDS的自由会话终端模式来修改那些已经加入到保护中的数据,全部的LIDS设置工做也可在这个自由会话终端中进行。
使用以下命令打开一个LIDS终端会话:

#lidsadm -S -- -LIDS

在按提示输入密码后,就创建了一个LIDS自由会话终端,在此终端咱们就能够启用、停用LIDS和退出此终端。此时,Linux系统中的任何数据都是不受LIDS保护的。在完成对文件或数据的修改后,咱们应当经过以下命令从新启用LIDS:

#lidsadm -S -- +LIDS

另外要清楚的是,在一个增长了LIDS功能的Linux系统中,一个名为/etc/lids/lids.cap的文件中包括了全部的功能描述列表。每个功能项前经过使用“+”号来启用此功能,使用“-”号来禁用此功能,完成设置后咱们必须从新加载它的配置文件才能使修改生效。
下面咱们就经过运用这些功能项,来对系统中要保护的重要数据进行安全设置:

(1)保护某个文件为只读

#lidsconf -A -o /sbin/ps -j READONLY
此命令保证一旦LIDS被启用,任何人都不能修改或删除此文件。
(2)保护一个目录为只读
#lidsconf -A -o /usr/bin -j READONLY
此命令用来保证一旦LIDS被启用,任何人都不能列出或删除此目录及其中的内容。
 # lidsconf -A -o /etc -j READONLY
(3)隐藏任何用户都看不到的目录或文件
#lidsconf -A -o /home/userdir -j DENY
此设置将使任何系统用户甚至root用户都不能访问它。若是设置的是一个目录,那么此目录下的文件、目录都将被隐藏。
(4)指定某些特定的程序以只读方式访问一些很是敏感的文件
好比在系统登陆时要访问/etc/shadow文件,咱们能够指定某些程序能在系统认证时使用它,这些程序包括login、ssh、su等。例如,咱们能够只容许login以只读方式访问/etc/shadow文件:
#lidsconf -A -s /bin/login -o /etc/shadow -j READONLY
(5)以根用户身份指定一个服务在指定的端口上运行
要想指定服务在1024及如下端口上运行须要LIDS的CAP_NET_BIND_SERVICE功能。若是咱们在/etc/lids/lids.cap文件中没有启用此功能,那么就不能以根用户身份启动任何一个服务运行在指定的端口上。咱们能够经过下列命令来受权某个程序有此功能:
#lidsconf -A -s /usr/local/bin/apache -o CAP_NET_BIND_SERVICE 80 -J GRANT
(6)为ssh和scp的远程链接指定端口
要为ssh和scp的远程链接指定端口,就须要LIDS的CAP_NET_BIND_SERVICE功能。咱们能够经过下列命令将CAP_NET_BIN_SERVICE功能指定的端口受权给ssh:
#lidsconf -A -s /usr/bin/ssh -o CAP_NET_BIN_SERVICE 22 -J GRANT

最后,对LIDS技术感兴趣的读者能够参考《LIDS精通与进阶》的文档,文中写的很是详细。

参考文献

  1. LIDS精通与进阶 http://www.yesky.com/346/191346_1.shtml
相关文章
相关标签/搜索