当前位置:Linux教程 - Linux - Linux下的入侵监测系统LIDS--六、LIDS细节

Linux下的入侵监测系统LIDS--六、LIDS细节

冰河


CAP_CHOWN功能:
在一个_POSIX_CHOWN_RESTRICTED功能定义的系统。这会越过改变系统文件所有者和组所有的权限


CAP_DAC_OVERRIED功能:
如果_POSIX_ACL定义,就会越过所有的DAC访问,包括ACL执行访问,用CAP_LINUX_IMMUTABLE功能来排除DAC的访问


CAP_DAC_READ_SEARCH功能:
如果_POSIX_ACL定义,就会越过所有的DAC的读限制,并在所有的文件和目录里搜索,包括ACL限制。用CAP_LINUX_IMMUTABLE来限制DAC访问


CAP_FOWNER功能:
越过文件说有的允许限制,如文件的所有者ID必须和用户ID一样,除了CAP_FSETID可用。它不会越过MAC和DAC限制


CAP_FSETID功能:
越过当设置文件的S_ISUID和S_ISGID位的时候,用户的ID必须和所有者ID匹配的限制,设置S-ISGID位的时候,组ID必须和所有者ID匹配的限制,用chown来设置S_ISUID和S_ISGID为的功能限制


CAP_FS_MASK功能:
用来回应suser()或是fsuser()。


CAP_KILL功能:
一个有有效用户ID的进程发送信号时必须匹配有效用户ID的功能会越过


CAP_SETGID功能:
允许setgid() 功能, 允许setgroups() 允许在socket里伪造gid


CAP_SETUID功能:
允许set*uid()功能 允许伪造pid在socket


CAP_SETPCAP功能:
把所有的许可给所有的pid。或是把所有的许可删除


CAP_LINUX_IMMUTABLE功能:
允许更改S_IMMUTABLE和S_APPEND文件属性


CAP_NET_BIND_SERVICE功能:
允许绑定1024下的TCP/UDP套接字


CAP_NET_BROADCAST功能:
允许广播,监听多点传送


CAP_NET_ADMIN功能:
允许配置接口
允许管理IP防火墙IP伪装和帐户
允许配置socket调试选项
允许修改路由表
允许配置socket上的进程的组属性
允许绑定所有地址的透明代理
允许配置TOS(服务类型)
允许配置混杂模式
允许清除驱动状态
允许多点传送
允许读或写系统记录


CAP_NET_RAW功能:
允许用RAW套接字
允许用PACKET套接字


CAP_IPC_LOCK功能:
允许琐定共享内存段
允许mlock和mlockall


CAP_IPC_OWNER功能:
越过IPC所有权检查


CAP_SYS_MODULE功能:
插入或删除内核模块


CAP_SYS_RAWIO功能:
允许ioperm/iopl和/dev/prot的访问
允许/dev/mem和/dev/kmem访问
允许块设备访问(/dev/[sh]d??)


CAP_SYS_CHROOT功能:
允许chroot()


CAP_SYS_PTRACE功能:
允许ptrace()任何进程


CAP_SYS_PACCT功能:
允许配置进程帐号


CAP_SYS_ADMIN功能:
允许配置安全钥匙
允许管理随机设备
允许设备管理
允许检查和配置磁盘限额
允许配置内核日志
允许配置域名
允许配置主机名
允许调用bdflush()命令
允许mount()和umount()命令
允许配置smb连接
允许root的ioctls
允许nfsservctl
允许VM86_REQUEST_IRQ
允许在alpha上读写pci配置
允许在mips上的irix_prctl
允许刷新所有的m68k缓存
允许删除semaphores
用CAP_CHOWN去代替""chown""IPC消息队列,标志和共享内存
允许锁定或是解锁共享内存段
允许开关swap
允许在socket伪装pids
允许设置块设备的缓存刷新
允许设置软盘驱动器
允许开关DMA开关
允许管理md设备
允许管理ide驱动
允许访问nvram设备
允许管理apm_bios,串口或是bttv电视设备
允许在isdn CAPI的驱动下生成命令
允许读取pci的非标准配置
允许DDI调试ioctl
允许发送qic-117命令
允许启动或禁止SCSI的控制和发送SCSI命令 允许配置加密口令在回路文件系统上


CAP_SYS_BOOT功能:
允许用reboot() 命令


CAP_SYS_NICE功能:
允许提高或设置其他进程的优先权
允许在自己的进程用FISO和实时的安排和配置


CAP_SYS_RESOURCE功能:
越过资源限制,设置资源限制
越过配额限制
越过保留的ext2文件系统
允许大于64hz的实时时钟中断
越过最大数目的控制终端
越过最大数目的键


CAP_SYS_TIME功能:
允许处理系统时钟
允许_stime
允许设置实时时钟


CAP_SYS_TTY_CONFIG功能:
允许配置终端设备
允许vhangup()终端


选择你要删除的功能:
你必须删除CAP_SYS_MODULE, CAP_SYS_RAWIO 和 CAP_SYS_ADMIN来保护系统不受小的系统攻击。最好也要禁止CAP_NET_ADMIN, CAP_SYS_PTRACE, CAP_LINUX_IMMUTABLE, CAP_KILL, CAP_SYS_RESOURCE, CAP_SYS_TIME 和 CAP_SYS_TTY_CONFIG


放置密封命令:
你必须放置这些命令让它们在启动的时候马上运行,你可以把它放到rc的脚本里。(rc.local,/etc/init.c/lids,/etc/rc.d/init.d/lids,等)这个要看你系统的情况。
这些命令如下:
lidsadm -I -- -CAP_SYS_MODULE -CAP_SYS_RAWIO -CAP_SYS_ADMIN
-CAP_SYS_PTRACE -CAP_NET_ADMIN
+LOCK_INIT_CHILDREN
你必须确定你在启动前已经保护了每个系统的执行,因为一些人可以通过程序更改它,会在功能禁止的时候做一些恶意的行为


确保启动时的安全
当没有保护程序运行的时候报警LIDS会报警。选择这个功能,你可以禁止选择防止日志溢出,来确定没有遗漏无保护程序。然后你就可以启动并在syslog里能看到哪些程序没有被保护。


重新启动系统
现在你就可以重新启动系统,如果你培植阻止系统启动,你可以在lilo里用security=0来启动内核。


运行LIDS
转换LIDS
你可以转换LIDS的开关,如以下命令:
lidsadm -S -- -LIDS
foo
lidsadm -S -- +LIDS
注意,如果你在没有保护的文件上工作或是做一些其他设备的修改,他们不会在启动的时候受到保护的。不要忘记用lidsadm -S - +RELOAD_CONF. 你也可以本地的转换LIDS。这表明LIDS只能用lidsadm命令来工作。
lidsadm -S -- -LIDS_LOCAL
foo
lidsadm -S -- +LIDS_LOCAL