linux下的入侵监测系统LIDS.docx
- 文档编号:1139291
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:11
- 大小:33.56KB
linux下的入侵监测系统LIDS.docx
《linux下的入侵监测系统LIDS.docx》由会员分享,可在线阅读,更多相关《linux下的入侵监测系统LIDS.docx(11页珍藏版)》请在冰豆网上搜索。
linux下的入侵监测系统LIDS
linux下的入侵监测系统LIDSﻫ
文章提交:
shuer 信息来源:
网安中国 (b)ﻫﻫ最近我要毕业设计。
可能要做一个ids的系统,所有找到了LIDS,现在我翻译了LIDS的一个HOW-TO文档,但是由于时间太紧,我匆匆的翻译完了。
感觉有好多东西不是很正确,所以发表出来。
让大家一起来帮助我找错误,呵呵。
大家也一起提高一下。
我不知道有没有人已经翻译了这个文档,不过我这个是我自己翻译的。
可能错误很多。
另外,也可以到我朋友的网站下载我打包的原英文的文挡。
www.caiduo.com/lids-howoto.zipﻫﻫ内容
ﻫl内容ﻫl什么是LIDS
l 编译lidsadm
l 安装lidsadm
l得到成熟的MD-160加密口令ﻫl修补一个内核
l配置内核ﻫ1.选择描述
l运行无保护程序时发出警告ﻫl在安装LIDS前不要运行无保护程序
l开启锁定子进程功能
l 尽量不要让日志溢出
l 允许转换LIDS保护
l允许远程拥护来转换LIDS保护ﻫl 允许任何程序来转换LIDS保护
l允许重新引导配置文件ﻫl隐藏一些已知的进程ﻫl可继承的隐藏功能ﻫl允许一些已知的进程访问/dev/mem(/xfree,等)
l允许一些已知的进程访问硬盘设备
l允许一些已知的进程卸载设备ﻫl允许一些已知的进程访问io端口ﻫl可继承的卸载功能
l允许一些已知的进程杀死子进程
l 可继承的杀进程功能
补丁填充域ﻫ如何安装UPSﻫl编译内核并且安装LIDS
l保护一些文件的安全
1.用lidsadmﻫ2.用chattr
3.文件在启动的时候更新升级
lLIDS保护前的准备ﻫ1.功能
l CAP_CHOWNﻫlCAP_DAC_OVERRIDEﻫlCAP_DAC_READ_SEARCH
lCAP_FOWNERﻫlCAP_FSETID
l CAP_FS_MASKﻫlCAP_KILL
lCAP_SETGIDﻫl CAP_SETUID
lCAP_SETPCAPﻫlCAP_LINUX_IMMUTABLEﻫl CAP_NET_BIND_SERVEICE
l CAP_NET_BROADCASTﻫl CAP_NET_ADMIN
lCAP_NET_RAW
lCAP_IPC_LOCK
lCAP_IPC_OWNERﻫlCAP_SYS_MODULEﻫl CAP_SYS_RAWIO
lCAP_SYS_CHROOTﻫl CAP_SYS_PTRACEﻫlCAP_SYS_PACCT
lCAP_SYS_ADMIN
lCAP_SYS_BOOT
lCAP_SYS_NICEﻫlCAP_SYS_RESOURCEﻫlCAP_SYS_TIMEﻫlCAP_SYS_TTY_CONFIGﻫ1.选择你要除区的功能
2.放置一个隐藏命令ﻫ3.如何确定安全的启动ﻫl重起系统
l 用LIDS工作ﻫn例子:
转换LIDSﻫn 例子:
网络管理
n例子:
后台管理ﻫn例子:
文件管理ﻫl关于这个文档ﻫ
ﻫ1. 什么是LIDSﻫLIDS是支持Linux的入侵监测防范系统。
ﻫ这个就是LIDS-08.1pre1的how-to文档。
但是也适用于LIDS-0.8和0.8pre1,2,3,4。
但是一些功能可能会不能实现。
现在只支持i386体系。
ﻫ这个东西的目的是保护linux系统不被root入侵,并在它自己的内核禁止一些系统调用。
如果你要管理你的系统,你可以先禁止LIDS保护,再来管理。
ﻫ首先,要保护LIDS本身不会被root的入侵,我们假定两件事情:
ﻫ1.系统是安全的(没有后门)直到LIDS第一次运行。
2. 你是唯一访问过控制终端的(你可以在lilo上加命令行,可以用急救内核或是启动盘启动).ﻫ
保护LIDS防止root入侵:
ﻫ1,禁止模块ﻫ2, 禁止内存访问(/dev/mem,/dev/kmem,/dev/kcore)ﻫ3,禁止磁盘访问(/dev/hdxx,/dev/sdxx)
4,保护每一个文件,包括启动进程(lilo文件,内核映象,后台,简本,模块)
5,禁止I/O端口的访问(/dev/port,ioperm和iopl系统调用)
然后你就会想如何入侵监测,LIDS提供了以下功能:
ﻫ1. 记录机会每一个拒绝的访问ﻫ2.用只读或是只能增加来保护程序或是日志不受root攻击。
对于系统的保护,LIDS提供以下功能:
ﻫ1.锁定你的路由表,防火墙规则。
ﻫ2.锁定挂载操作ﻫ3.保护后台信号
4.还有其他一些保护。
。
。
ﻫ编译lidsadmﻫ要编译lidsadm程序,进入目录然后
makeﻫ你就会看到当前lids的信息,这些主要是用来调试的目的,因为没有这些功能或是一个正确的系统配置。
没有人能知道LIDS的当前状态。
安装lidsadmﻫmakeinstall
你必须保证你的/etc目录在你的/系统下。
因为LIDS需要读取/etc/lids.conf的文件。
得到一个RipeMD-160加密口令ﻫvmlin1:
~# lidsadm -P
MAKEPASSWDﻫenterpassword:
Verifyingenterpassword:
ﻫRipeMD-160encrypted password:
46a1492cc2d43652409abfdbb047e4ae099a62f3
修补一个内核ﻫcd/usr/src/linux-linversionﻫpatch-p1<lidshome/lids-version-linversion.patchﻫ配置内核ﻫ确定你选择了
Promptfordevelopmentand/orincompletecode/driversﻫand
SysctlsupportﻫforﻫLinuxIntrusionDetectionSystem-->
toappear.
细节ﻫl 选择描述ﻫl运行无保护程序时发出警告ﻫl在安装LIDS前不要运行无保护程序
l 开启锁定子进程功能ﻫl 尽量不要让日志溢出ﻫl允许转换LIDS保护ﻫl 允许远程拥护来转换LIDS保护
l允许任何程序来转换LIDS保护
l允许重新引导配置文件
l隐藏一些已知的进程
l可继承的隐藏功能ﻫl允许一些已知的进程访问/dev/mem(/xfree,等)ﻫl允许一些已知的进程访问硬盘设备
l 允许一些已知的进程访问io端口ﻫl允许一些已知的进程卸载设备
l可继承的卸载功能ﻫl 允许一些已知的进程杀死子进程ﻫl可继承的杀进程功能ﻫﻫ1.运行无保护程序时发出警告
在没有LIDS保护前(用lidsadm–I –caps…..)运行无保护程序时会发出警告,这个对检测启动序列有很大帮助,但是他不会告诉你哪个模块被加载或是没有被保护。
这个功能还可以警告你是否有程序的弱点加到启动进程里。
,
ﻫ2.在安装LIDS前不要运行无保护程序
这个功能让LIDS在没有被保护前拒绝一些执行。
要意识到你可以阻止系统在不完全的lids.conf下启动。
3.开启锁定子进程功能
你可以开启这个功能用lidsadm (+LOCK_INIT_CHILDREN)这样就会阻止任何人杀死用LIDS保护的父进程的子进程。
你可以运行lidsadm命令用-LOCK_INIT_CHILDREN然后用+LOCK_INIT_CHILDREN,这样,就灭有人能阻止它(拒绝服务器攻击)或是重新用新的配置文件启动它。
(重起或是kill-HUP).
ﻫ4.尽量不要让日志溢出ﻫ你可以定义相同内容日志出现的次数。
如果在一定时间内有很多相同的日志,就不会在把他们存放到日志里面。
这样能避免日志溢出。
ﻫ5.允许转换LIDS保护
你可以启动转换LIDS功能的开关。
但是这样会降低安全性。
不过可以方便系统的管理。
具体过程是这样:
lidsadm读取当前的允许标志。
根据你的命令行升级它们,然后问你密码。
把他们配置到LIDS里面。
如果密码正确,允许标准就更新了。
这时候会有一个报警在日志里。
ﻫﻫ6.要让LIDS识别你的密码。
必须要给他一个RipeMD-160的指纹。
这个会被lidsadm来计算。
这个指纹非常难破解,就算有人访问你的二进制内核,他们也不能得到你的密码。
ﻫ你可以培植密码错误的次数。
如果超过就会被禁止登陆。
每一次登陆的失败会记录到日志里。
ﻫ7.允许远程拥护来转换LIDS保护ﻫ如果你允许没有登陆控制终端的用户开启启动标志的话,就选定这个功能。
如果你已经访问了控制终端。
你可以禁止这个选项,这样远程的用户就不能关闭LIDS,甚至他有密码。
ﻫﻫ8.允许任何程序来转换LIDS保护
如果你选定这个功能,你可以允许除了/sbin/lidsadm来操作/proc/sys/lids/locks。
我不认为这个会有什么用处。
ﻫ9.允许重新引导配置文件
选定这个功能就会编译重新引导配置文件的代码。
每一次运行+RELOAD_CONF参数给lidsadm,LIDS重新引导/etc/lids.conf和重读dev/inode。
如果在重引导的时候出错,内核不会在意,就象它根本就没有启动一样,因为它认为你看到了错误并即使改正了。
ﻫ
10。
隐藏一些已知的进程ﻫ这个功能允许你给出一些程序的目录,而这些程序的进程你可以不让它在/proc里出现。
(这样就不会在ps里看出)这不会影响安全。
如果你不明白这是怎么做的,你也不需要知道它。
ﻫ
11.可继承的隐藏功能
隐藏的进程的子进程,也会被隐藏
12。
允许一些已知的进程访问/dev/mem(/xfree,等)ﻫ通过这个功能,你可以允许一些在允许进程域下的进程来访问/dev/mem等。
13.允许一些已知的进程访问硬盘设备ﻫ如果一些程序因为不能写到磁盘而中断,但是你确实很需要它们。
就可以开启这个功能。
填写可访问的进程表。
ﻫ14.允许一些已知的进程访问io端口
如果一些程序不能访问io端口而中断,但是你很确实很需要它们,你可以开启这个功能,填写可访问的进程表。
ﻫﻫ15.允许一些已知的进程卸载设备ﻫ如果你需要你的系统可以自动关闭,(如在ups下)你需要允许一些程序来卸载设备。
ﻫ16.可继承的卸载功能
选定这个选项允许子程序来卸载设备。
ﻫ
17.允许一些已知的进程杀死子进程
如果你用init的子进程锁定功能并且让你的系统平滑的自动关闭,你必须允许一个进程来杀死后台程序,
18.可继承的杀进程功能
选定这个可以允许子程序来杀死锁定的子init进程。
ﻫﻫ1.补丁填充域ﻫ还有一些特殊列表,如:
ﻫ/usr/local/sbin/loginlog;/usr/local/sbin/trafficlog;/sbin/mgettyﻫ或
/usr/X11R6/XF86_SVGA
注意这些有特殊权利的程序可以用LIDS的lidsadm来声明只读来保护。
注意LIDS会在内核启动的时候努力去得到这些文件的/dev/inode数,因此那些没有在根文件系统的程序是不会被LIDS找到的,也就不会得到它们的权限。
有可以用+RELOAD_CONFﻫ选项隐藏它来解决这个问题。
ﻫ
2,如何一起安装UPSﻫ这个问题涉及到平滑的自动关闭的问题,意味着一般的杀死后台程序,卸载设备。
如果你用到锁定init子进程的功能,你必须允许一个进程来杀死她们。
如果你的后台没有被杀死,它可能会让一个设备忙,就不能被卸载。
所以,有两个事实很重要。
我们必须找到一个只用来关闭系统,杀死所有后台或卸载设备的程序。
但是不幸的时候,这些程序是不存在的。
然而,LIDS给你一个杀死进程的继承功能,利用这个功能可以杀死这些进程。
ﻫ这些程序也可以是/sbin/shutdown的-n选项,它会调用init脚本来停止所有的后台,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 入侵 监测 系统 LIDS
![提示](https://static.bdocx.com/images/bang_tan.gif)