设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 安全技术 >> 入侵检测 >> LIDS精通与进阶(一)
精品推荐
入侵检测点击TOP10
·snort+acid打造LINUX下的入侵检测系统(IDS)(上)
·入侵检测系统Radware DefensePro
·Kfsensor IDS+HONEYPOT高级配置
·在家制造你的Cisco IDS
·一个网络入侵检测系统的实现
·LIDS精通与进阶(二)
·网吧入侵和网吧老板斗争到底
·snort+acid打造LINUX下的入侵检测系统(IDS)(下)
·用LIDS增强系统安全
·专家剖析黑客如何通过Google发动攻击
安全技术点击TOP10
·主板芯片级维修技术资料
·Symantec AntiVirus防病毒服务器安装配置使用指南
·教你如何手动查杀“幽灵(I-Worm.Ghost)”病毒
·贴片元件标记对应型号资料
·主板芯片组详解
·在WindowsXP/2003下查看端口对应的进程
·主板点不亮(不显示)的BIOS修复两法
·计算机启动过程详解
·网吧如何禁止使用PP点点通
·主板开机原理
精选专题

LIDS精通与进阶(一)

作者: 来源:网络文章 时间:2005-12-19 16:29:02

LIDS精通与进阶(一)(3) struct secure_ino {
    unsigned long int ino;     /* the inode number */
    kdev_t dev;           /* the dev number /*
    int type;            /* the file type */
    };

   上面的结构用一对来存储保护文件或目录的结点。type是用来标明保护结点文件类型的。

LIDS有4种类型:

在/usr/src/linux/include/linux/fs.h

#define LIDS_APPEND    1    /* APPEND ONLY FILE */
#define LIDS_READONLY   2    /* Read Only File */
#define LIDS_DEVICE    3    /* Protect MBR Writing to device */
#define LIDS_IGNORE    4    /* Ignore the protection */

通过secure_ino结构,我们能很容易的初使化保护的文件或是在内核里执行以下函数。

在/usr/src/linux/fs/lids.c

int lids_add_inode(unsigned long int inode ,kdev_t dev , int type)
{

     if ( last_secure == (LIDS_MAX_INODE-1))
     return 0;

     secure[last_secure].ino = inode;
     secure[last_secure].dev = dev;
     secure[last_secure].type = type;
     secure[++last_secure].ino = 0;

#ifdef VFS_SECURITY_DEBUG
     printk(lids_add_inode : return %dn,last_secure);
#endif
     return last_secure;
}

    就象你在上面代码上可以看到的,给secure_ino加到一个结点上是非常容易的。被保护的结点会在系统启动的时候初使化。初使化程序在/usr/src/linux/fs/lids.c的init_vfs_security()里。

   现在,让我们看看LIDS是如何来检查是否一个结点已经受到保护。 在/usr/src/linux/fs/open.c

int do_truncate(struct dentry *dentry, unsigned long length)
{
     struct inode *inode = dentry->d_inode;
     int error;
     struct iattr newattrs;
     /* Not pretty: inode->i_size shouldn't really be off_t. But it is. */
     if ((off_t) length < 0)
     return -EINVAL;

#ifdef CONFIG_LIDS
     if (lids_load && lids_local_load) {
     error =
     lids_check_base(dentry,LIDS_READONLY);
     if (error) {
              lids_security_alert(Try to truncate a protected file (dev %d %d,inode %ld),
              MAJOR(dentry->d_inode->i_dev),
              MINOR(dentry->d_inode->i_dev),

共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

LIDS精通与进阶(一) 相关文章:
LIDS精通与进阶(一) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com