设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 安全技术 >> 入侵检测 >> 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精通与进阶(一)(5)

  • CONFIG_LIDS_ALLOW_DEV_MEM,如果你选择了开启这个功能,你就可以允许一些特殊程序来访问/dev/men和/dev/kmen这些内核临界的设备。如果你想要用内核的X Server,选择这个功能就会在配置内核的时候提供整个路径和文件名。
  • CONFIG_LIDS_ALLOW_RAW_DISKS,如果选择这个开启,你就可以允许一些特殊的程序来访问物理磁盘。
  • CONFIG_LIDS_ALLOW_IO_PORTS,如果你选择了开启这个功能,你就可以允许一些特殊的程序来访I/O端口。

      #ifdef CONFIG_LIDS_ALLOW_DEV_MEM

      lids_fill_table(allow_dev_mem,&last_dev_mem,LIDS_MAX_ALLOWED,CONFIG_LIDS_DEV_MEM_PROGS);

      #endif

      #ifdef CONFIG_LIDS_ALLOW_RAW_DISKS

      lids_fill_table(allow_raw_disks,&last_raw_disks,LIDS_MAX_ALLOWED,CONFIG_LIDS_RAW_DISKS_PROGS);
      #endif

      #ifdef CONFIG_LIDS_ALLOW_IO_PORTS

      lids_fill_table(allow_io_ports,&last_io_ports,LIDS_MAX_ALLOWED,CONFIG_LIDS_IO_PORTS_PROGS);
      #endif
      如果一个进程或是程序要直接访问ip端口或是磁盘设备,LIDS就会检查它在数组allow_raw_disk,last_io_ports,等)。这个检查是通过调用lids_check_base()里的lids_search_inode(inode)来实现的。

      如,让我们看看CONFIG_LIDS_ALLOW_DEV_MEM
      /* in lids_search_inode() */

      #ifdef CONFIG_LIDS_ALLOW_DEV_MEM

      for( i = 0 ; i < last_dev_mem ;i++ ) {

      if ( allow_dev_mem[i].ino == ino && allow_dev_mem[i].dev == dev) {

      return LIDS_READONLY;

      }

      }

      #endif

      #ifdef CONFIG_LIDS_ALLOW_RAW_DISKS
      在allow_dev_mem包括了哪一个程序结点在系统启动的时候在init_vfs_security()里初使化。用同样的方法,除了一些特殊程序,我们可以保护设备,I/O访问等等。
    •     四、保护重要进程

         进程是操作系统的动态入口。内核里有两个特殊进程,进程ID 0 (swapd) 和进程ID 1(init)。Init进程是在系统启动的时候所有进程的父进程。

         1、不可杀死的进程。

      就象你可以看到是否有人要夺得root特权一样,我们可以很容易的杀死那些该内核发送特别信号的进程。为了杀死一个进程,你必须得到进程的ID,然后用kill命令来杀死它。

      系统杀死进程的调用是kill,是在内核里的sys_kill()命令里的调用。

      让我们看看LIDS的保护代码

      在/usr/src/linux/kernel/signal.c里

      asmlinkage int

      sys_kill(int pid, int sig)

      {

      struct siginfo info;

      #ifdef CONFIG_LIDS_INIT_CHILDREN_LOCK pid_t this_pid;
      共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

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