Linux Security

Linux Security

Linux Security Jaqui Lynch Mainline Information Systems Email – [email protected] Share 2/29/05 1727 6pm htt://www.circle4.com/papers/s1727jla.pdf The purpose of this talk is not to encourage hacking but to assist the system administrator in protecting their systems against hackers. 1 Agenda ¾ Basics – Security Types – Permissions ¾ Freeware/Shareware Tools that can help – TCP Wrappers & Secure Shell – Apache, openssl, modssl, stunnel – Portmap – Snort – Ftp ¾ Logging, finding Rootkits ¾ Scanners and Tools ¾ Questions 2 1 Security Types ¾Physical ¾Local – Keep system patched!!! ¾Files and filesystems ¾Passwords ¾Kernel ¾Network 3 Levels & Types of Attacks ¾ Levels ¾ Types – Embarrassment (replace – Root access break-in banners, home page, – Replacement of etc) materials – Denial of service (syn- flood connections) – Damage done – Ping of Death – Just looking – Stealing proprietary code – Theft of proprietary – Pornography – Harassment or threats - information stalking – Denial of service – Email Spam or bulk – Worms and Trojans subscribes – Hate mail – Buffer Overflow 4 2 SANS Top 20 www.sans.org/top20/#threats 1. U1 BIND/DNS 6. U6 Simple Network Management 1. DOS, buffer overflow, etc Protocol (SNMP) 2. U2 Apache Web Server 1. Public/Private, v1 very insecure 1. Mod_ssl worm, chunk handling 7. U7 Open Secure Sockets Layer exploit, default cgi 1. Multiple exploits 3. U3 General Unix Authentication 8. U8 Misconfiguration of NIS/NFS 1. Accounts with No Passwords or 1. Multiple exploits Weak Passwords 9. U9 Databases 4. U4 Version Control Systems 1. Multiple vulnerabilities in Oracle 1. Anonymous access via port 2401 and MYSQL t0 repository 2. SQL Injection Vulnerabilities in 5. U5 Mail Services Oracle E-Business Suite 1. Buffer overflows and 10. 10 Kernel misconfiguration 1. Icmp attacks can cause kernel to loop Top 10 UNIX Vulnerabilities as at Feb 22, 2005 5 LINUX Security Basics ¾ Permissions ¾ UID ¾ GID ¾ Dangerous Accounts ¾ Superuser ¾ SUID ¾ Sticky bit ¾ Umask ¾ Backups 6 3 File Security ¾ ls -l shows: ¾ -rwxr-xr-x 1 jaqui jgroup 4320 Feb 9 12:19 files ¾ - file's type (- for file, D for directory) ¾ rwxr-xr-x file's permissions ¾ 1 no. of hard links the file has ¾ jaqui name of the files owner ¾ 4320 size of file in bytes ¾ Feb 9 12:19 file's modification time ¾ files the file's name ¾ ls -l shows modification time for file ¾ ls -lu shows last accessed time ¾ The above two times can be changed with a command so you should check: ¾ ls -lc inode last change time 7 Permissions ¾ rread ¾ wwrite ¾ xexecute ¾ sSUID or SGID ¾ t sticky bit ¾ aaa bbb ccc ¾ aaa file's owner permissions ¾ bbb users who are in the file's group ¾ ccc everyone else on the system (except uid 0) ¾ Permissions apply to devices, named sockets, files, ¾ directories and FIFOs. 8 4 Octal Permissions ¾ 4000 SUID on execution ¾ 0040Read by group ¾ 2000 SGID on execution ¾ 0020Write by group ¾ 1000 Sticky Bit ¾ 0010Execute by group ¾ 0400 Read by owner ¾ 0004Read by other ¾ 0200 Write by owner ¾ 0002Write by other ¾ 0100 Execute by owner ¾ 0001Execute by other ¾ 755 Anyone can copy or run the program - Only the owner can change it 9 Umask ¾ Specifies the permissions you do not want given by default to newly created files and directories. ¾ By default on most systems: ¾ New files are 666 (anyone can read/write) ¾ New programs are 777 (all rwx) ¾ root should be 022 and all others 077 ¾ Common Umask Values ¾ Umask User Group Other ¾ 0000 rwx rwx rwx ¾ 0002 rwx rwx r-x ¾ 0007 rwx rwx --- ¾ 0022 rwx r-x r-x ¾ 0037 rwx r-x --- ¾ 0077 rwx --- --- ¾ Redhat – if uid=gid and uid>100 then umask=002 otherwise 022 10 5 SUID, SGID, Sticky Bit ¾ SUID Sets UID to program's owner at execution ¾ SGID Sets GID to program's group at execution Also used to share files in a directory All files and subdirectories will inherit the group ¾ Sticky Causes program to be left in swap space after termination. Used for programs that are executed frequently - outmoded. If set on a dir then only root or owner can delete or rename (see /tmp drwxrwxrwt) ¾ The su command is an SUID program. ¾ To find them: – find / -perm -004000 -o -perm -002000 \) -type f -print – or ncheck -s filesystem-name 11 Files to Clean Out ¾/etc/services ¾Password and group files ¾/etc/xinetd.d/* ¾/etc/inittab ¾/etc/rc.d/rc.local and other rc files 12 6 Checklist 1/3 Individual accounts only All accounts must have GOOD passwords Disable tftp if possible Remove .rhost and core files nightly Ensure /etc/passwd can't be read anonymously by UUCP or TFTP Check the SU log regularly Only allow root to login at the console (force su or sudo) Set console as only trusted location for root Set umask to 033 or 077 (077 = rwx --- ---) Scan regularly for SUID/SGID files & for crack Change default password on all system default accounts Get rid of guest Disable dormant or temporarily inactive accounts Make regular backups & check restores regularly Export filesystems that have programs as read-only Check last login when you login 13 Checklist 2/3 System directories - not world or group writable /etc/hosts.equiv and hosts.lpd should be rwx r-- r-- Remove the + nd all comments from your /etc/hosts.equiv and lpd files Disable finger and who and w Make sure fingerd is recent and disabled Ensure sendmail or Postfix is at latest version Make sure ftpd is current and disabled Ensure anonymous FTP & tftp can't get the /etc/passwd file Make sure /etc/ftpusers contains root, uucp, bin, etc Scan periodically for hidden directories (".. ") Check /etc/passwd for users with uid 0 regularly Ensure /etc/passwd is rwx r-- r-- Make sure only root can run last and lastcomm Turn on password aging 14 7 Checklist 3/3 User account directories should be rwx --- --- Set up system logging Set up accounting Disable ntalk, rlogin in /etc/xinetd.d and /etc/services Document your install and all changes Create a recovery list and a list of valid uids/gids For tftp - create a /etc/tftpaccess.ctl file Ensure only root has write access to binaries Ensure shadow password file is not readable Ensure accounting files are not writable No binaries on NFS filesystems Set nodev, nosuid & noexec on NFS exported f/s Never export a filesystem to the world NFS export files to fully qualified names or ips 15 Tools ¾SUDO ¾TCP Wrappers 7.6-ipv6-4 ¾SSH 3.2.9.1 ¾Portmap 4 ¾Snort 2.3.0 ¾Apache, Openssl, Modssl ¾Stunnel ¾Logging 16 8 TCP Wrappers and SSH ¾ TcpW - ftp.porcupine.org ¾ SSH – http://ftp.ssh.com/pub/ssh/ ¾ Wrappers improve security and logging ¾ Reverse dns lookup can be used to disallow access ¾ Allows tripwires ¾ SSH encrypts logins ¾ SCP allows secure file copies ¾ First install the wrappers – there is a new version that can now handle IPv6 ¾ Then configure ssh with the wrappers – do not install v1 of ssh 17 TCP Wrappers Configuration ¾ vi Makefile – STYLE = -DPROCESS_OPTIONS # Enable language extensions. – FACILITY= LOG_DAEMON # LOG_MAIL is what most sendmail daemons use – SEVERITY= LOG_INFO – Causes tcpd to log everything to daemon.info ¾ make clean ¾ make aix ¾ cp tcpd /usr/local/bin ¾ cp tcpd.h to ssh source directories ¾ cp libwrap.a /usr/local/lib ¾ vi inetd.conf, hosts.allow, hosts,deny ¾ refresh –s inetd 18 9 xinetd.conf /etc/xinetd.d [root@biteme xinetd.d]# more telnet # default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes } 19 /etc/hosts.deny ALL:ALL Or: ALL:ALL spawn (echo –e “\n Tcp Wrappers \: Refused \n \ By\: $(uname –n) \n Process\: %d (pid %p) \n \ Host\: %c \n Date\: $(date) \n \ “ | mail –s tcpw@$(uname -n). %u@%h ->%d. [email protected]) 20 10 Hosts.allow Options ¾ Telnetd: 123.123.123.4 : options ¾ Options are: – RFC931 Does an ident lookup to the originator – BANNERS path/filename Displays a banner whether service is granted or not – SPAWN (commands) Used to execute a command such as safe_finger and then mailing the response to a security person Only used for denied connections 21 /etc/hosts.allow Log but don’t really protect ftpd : all sshd : all rshd : all krshd : all tftpd : all bootpd : all rlogind: all krlogind: all telnetd : all dtspcd : all 22 11 /etc/hosts.allow Log and protect Portmap : 192.168.1. 192.168.5.3 vsftpd : LOCAL, 192.168.1. in.ftpd, ftpd : .abc.com,192.168.1.4 sshd : all dtspcd : 192.168.1.0/255.255.255.0 xmservd : .abc.com,123.123.123.4 rexecd : LOCAL,.abc.com,123.123.123.4 rexecd, telnetd: LOCAL, 192.168.1. smtpd : LOCAL, 192.168.1. sendmail : LOCAL, 192.168.1. EXCEPT 192.168.1.4 23 Replacement portmap ¾ Wietse Venema - ftp://ftp.porcupine.org/pub/security/index.html#software ¾ Portmap replacement with access control ¾ Similar to TCP Wrappers package in style ¾ Used to discourage access to the NIS (YP), NFS, and other services registered with the portmapper. ¾ Provides NIS daemons with their own access control lists. ¾ "securelib" shared library (eecs.nwu.edu:/pub/securelib.tar) implements access control for all kinds of (RPC) services, not just the portmapper. ¾ Many vendors still ship portmap implementations that allow anyone to read or modify its tables and that will happily forward any request so that it appears to come from the local system. ¾ Now included in most Linux and Unix distributions 24 12 Snort ¾ www.snort.org ¾ Latest version is v2.3.0 ¾ Intrusion detection tool ¾ Can be used as a packet sniffer like tcpdump ¾ Can be used as a packet logger for debugging ¾ Basically a network sniffer with flexible language allowing you to write rules ¾ Requires libpcap from www.tcpdump.org 25 Apache, Openssl, Modssl ¾ Apache – www.apache.org Latest is 1.3.33 or 2.0.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us