Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher...

14
Linux Intrusion Detection/Defens e System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James

Transcript of Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher...

Page 1: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Linux Intrusion Detection/Defense System (LIDS)

- Sowmya Ponugoti- Binita Mehta- Christopher James

Page 2: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Why LIDS

File System is unprotected Processes are unprotected System administration is unprotected Super user may abuse his rights.

Page 3: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Introduction

Linux Intrusion Detection/Defense System (LIDS) is a patch and set of admin tools which enhances the kernel’s security.

When installed, chosen file access, system/network administration, any capability use, raw device, mem and I/O access can be made impossible even for root.

Page 4: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Features

Protection Protect important files and directories

irrespective of the file system Protect important processes Prevent raw i/o operations by any

unauthorized program Detection

Notice any activity on the system that violates the rules.

Page 5: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Features …

ResponseLog a detail message about the violated

action to the system log file which has been protected by LIDS.

Send the log message to your mailbox .Can also shutdown the user’s session

immediately.

Page 6: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System

1. Download LIDS patch and corresponding official Linux kernel

uncompress the Linux kernel source code tree.

# cd linux_install_path/

# bzip2 -cd linux-2.2.17.tar.bz2 | tar -xvf - uncompress the lids source code

# cd lids_install_path

# tar -zxvf lids-0.9.8-2.2.17.tar.gz

Page 7: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System2. Patch LIDS to official Linux kernel

# cd linux_install_path/linux# patch -p1 </lids_install_path/lids-0.9pre4-2.2.14.patch

3. Configuring the Linux Kernel # make menuconfig or make xconfig

Turn this option on [*] Prompt for development and/or incomplete code/drivers

Entering the menu- "Linux Intrusion Detection System“turn this option on [*] Linux Intrusion Detection System support (EXPERIMENTAL)

(NEW).

Page 8: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System Here are the options we turned on for LIDS

Security alert when executing unprotected programs before sealing

Try not to flood logs Allow switching LIDS protections Allow reloading the config file Send security alerts through network

After this compile the kernel following the usual steps

Page 9: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System

4.Install LIDS admin tool into the Linux system # cd lids-0.9.8-2.2.17/lidsadm-0.9.8/

# make

# make install

5. Configuring the LIDS System Protecting Files and Directories

DENY access to any body.

# lidsadm -A -o /etc/shadow -j DENY

# lidsadm -A -s /bin/login -o /etc/shadow -j READ

Page 10: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System

Read Only Files or Directories.

# lidsadm -A -o /sbin/ -j READ Append Only Files.

# lidsadm -A -o /var/log/message -j APPEND

Our Configuration :

lidsadm -Z

lidsadm -A -o /usr/sbin -j READ

lidsadm -A -o /usr/bin -j READ

lidsadm -A -o /usr/lib -j READ

Page 11: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System

6. Making a Password for LIDS lidsadm -P

7. Reboot into the New Kernel !

8. Sealing the Kernel and Setting CapabilitiesWe removed the following capabilities CAP_CHOWN

Overrides changing file and group ownership

CAP_NET_ADMIN Disallows Interface Configuration Disallows modification of routing tables ..

Page 12: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Building a Secure Linux System CAP_SYS_ADMIN

Disallows mount() and umount() Disallows examination and configuration of disk quotas …

CAP_SYS_MODULE Disallows insertion and removal of kernel modules

CAP_SYS_TIME Disallows modification of System Time

CAP_SYS_BOOT Disallows reboot() command

For Finally Sealing the Kernel without these capabilities :lidsadm –I -- -CAP_CHOWN –CAP_NET_ADMIN –CAP_SYS_ADMIN –CAP_SYS_MODULE –CAP_SYS_TIME –CAP_SYS_BOOT

Page 13: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

Online Administration

Switching LIDS On and Off# lidsadm -S -- -LIDS

Changing the ConfigurationModify lids.cap or lids.conf lidsadm -S -- +RELOAD_CONF

Page 14: Linux Intrusion Detection/Defense System (LIDS) - Sowmya Ponugoti - Binita Mehta - Christopher James.

References

“Building a Secure System with Lids”http://www.lids.org/document/build_lids-0.2.html

LIDS-Howto

http://www.lids.org/lids-howto/

LIDS FAQhttp://www.lids.org/lids-faq/LIDS-FAQ.html