ITIS 3110 System Hardening.

Slides:



Advertisements
Similar presentations
Linux Users and Groups Management
Advertisements

1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
1 Defining System Security Policies. 2 Module - Defining System Security Policies ♦ Overview An important aspect of Network management is to protect your.
Lesson 17: Configuring Security Policies
System Security Scanning and Discovery Chapter 14.
Securing Network using Linux. Lesson Outline Setting up a secure system TCP Wrapper configuration Firewalls in Linux Authentication Systems –NIS –Kerberos.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 10: Server Administration.
Lesson 18: Configuring Application Restriction Policies
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
COEN 252: Computer Forensics Router Investigation.
Installing and Configuring a Secure Web Server COEN 351 David Papay.
1 Network File System. 2 Network Services A Linux system starts some services at boot time and allow other services to be started up when necessary. These.
11 MAINTAINING THE OPERATING SYSTEM Chapter 5. Chapter 5: MAINTAINING THE OPERATING SYSTEM2 CHAPTER OVERVIEW  Understand the difference between service.
Linux Operations and Administration
Copyright © 2002 ProsoftTraining. All rights reserved. Operating System Security.
Hands-On Microsoft Windows Server 2008
Remote Desktop Services Remote Desktop Connection Remote Desktop Protocol Remote Assistance Remote Server Administration T0ols.
system hardening Act of modifying a system to make it more secure Protecting against internal and external threats Usually a balance between security.
Managing User Accounts. Module 2 – Creating and Managing Users ♦ Overview ► One should log into a Linux system with a valid user name and password granted.
Network Services CSCI N321 – System and Network Administration Copyright © 2000, 2007 by Scott Orr and the Trustees of Indiana University.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
CIS 450 – Network Security Chapter 16 – Covering the Tracks.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
Linux Services Muhammad Amer. 2 xinetd Programs  In computer networking, xinetd, the eXtended InterNET Daemon, is an open-source super-server daemon.
New SA Training Topic 6: Service Management Our organization takes advantage of many service type to provide functionality to users and ease management.
Managing Users  Each system has two kinds of users:  Superuser (root)  Regular user  Each user has his own username, password, and permissions that.
Chapter 10: Rights, User, and Group Administration.
Introduction to System Admin Sirak Kaewjamnong. 2 The system administration’s job  Adding a new user  Doing backup and restoring files from backups.
Core System Services. INIT Daemon The init process is the patron of all processes. first process that gets started in any Linux/ UNIX -based system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 14: Windows Server 2003 Security Features.
1 Linux Security. 2 Linux is not secure No computer system can ever be "completely secure". –make it increasingly difficult for someone to compromise.
Module 7: Implementing Security Using Group Policy.
SCSC 455 Computer Security Chapter 3 User Security.
Linux Operations and Administration
system hardening Act of modifying a system to make it more secure Protecting against internal and external threats Usually a balance between security.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Unit 2 Personal Cyber Security and Social Engineering Part 2.
system hardening Act of modifying a system to make it more secure Protecting against internal and external threats Usually a balance between security.
Security Risk Assessment Determine how important your computer is to your group ● Mission critical? ● Sensitive information? ● Expensive hardware? ● Service.
Guide to Operating Systems, 5th Edition
Lesson 19: Configuring and Managing Updates
Securing Network Servers
Chap-I Network and System Configuration in Linux
Working at a Small-to-Medium Business or ISP – Chapter 8
Overview – SOE Sudo SEP 2014.
NTP, Syslog & Secure Shell
Module Overview Installing and Configuring a Network Policy Server
Chapter 9 Router Configuration (Ospf, Rip) Webmin, usermin Team viewer
Chapter 11: Managing Users
Configuring and Troubleshooting Routing and Remote Access
Overview – SOE Sudo September 2016.
LINUX ADMINISTRATION 1
Overview – SOE Sudo November 2015.
Linux Users and Groups Management
IS3440 Linux Security Unit 3 User Account Management
IS3440 Linux Security Unit 6 Using Layered Security for Access Control
Network Services CSCI N321 – System and Network Administration
IS3440 Linux Security Unit 9 Linux System Logging and Monitoring
IS3440 Linux Security Unit 4 Securing the Linux Filesystem
Lesson 16-Windows NT Security Issues
Network Services.
Configuring Internet-related services
Operating System Security
Daemons & inetd Refs: Chapter 12.
Convergence IT Services Pvt. Ltd
Microsoft SQL Server 2014 for Oracle DBAs Module 1
Presentation transcript:

ITIS 3110 System Hardening

system hardening Act of modifying a system to make it more secure Protecting against internal and external threats Usually a balance between security and usability More usability  less secure Higher security  harder to use Balance required is different for every organization

hardening practices Removing unneeded: Privileges Applications Services Updating installed packages on a regular basis Maintaining user lists with up-to-date information Providing an audit trail Detect changes in files and behaviors

nsa security guides The NSA publishes security guides for various operating systems and applications Linux guide is written for Red Hat Enterprise Linux 5 Guide can be adapted for other Linux distributions

nsa security guides Guides are just a reference Never follow them without understanding what you are doing Many of the security recommendations may not make sense in your environment Adapt and modify as needed

nsa security guides http://www.nsa.gov/ia/mitigation_guidance/security_config uration_guides/index.shtml

vulnerability databases Vulnerability databases are an important resource for determining if your software needs to be patched Often contain mitigation information as well as available update paths

vulnerability databases http://www.cert.org http://www.us-cert.gov/cas/techalerts/index.html http://nvd.nist.gov Interesting article: http://www.cio.com/article/730250/US_NIST_39_s_Vulnerability_Database_Hacked

Typical Resources to Monitor

inetd inetd is the Internet “super-server” A super-server listens to network ports and starts the appropriate server when a connection is received Configuration is in /etc/inetd.conf Note: xinetd is the new improved version

/etc/inetd.conf One service per line 7 tab-delimited fields Lines can be commented out by preceding with a # 7 tab-delimited fields service-name socket-type Protocol wait|nowait User server-program server-args “The wait/nowait entry specifies whether the server that is invoked...will take over the socket...and thus whether inetd should wait for the server to exit before listening for new service requests.” (man inetd)

/etc/inetd.conf service-name socket-type protocol wait | nowait user server-program server-args ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l #ntalk dgram udp wat root /usr/libexec/ntalkd ntalkd telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd

xinetd Secure replacement for inetd Configuration is stored in /etc/xinetd.conf and /etc/xinetd.d/ Most services have their own file in the configuration directory Allows services to be added when a package is installed

xinetd Configuration files allow both enabled and disabled keyword Convention is to only use disabled keyword On Red Hat-like systems chkconfig can control xinetd services

/etc/xinetd.d/tftp } service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = yes }

disabling services Red Hat Debian Standard Service inetd xinetd chkconfig update-rc.d inetd - update-inetd xinetd edit manually

Elevated Privileges

su switch user “Anyone can use” su [options] [commands] [-] [username] If no user specified root is assumed “Anyone can use” Still must know the password  all administers for the system must share the password  Don’t know who changed something while root

sudo sudo allows a user id to perform actions as root or another user sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command sudo sudo allows a user id to perform actions as root or another user More flexible than su which is all or nothing Authenticates user with their password su requires user to know root or other user’s password Can filter which actions they may perform Simplified syntax: sudo command Executes command as root (if set up)

sudo All root-level work should be done using sudo Allows tracking of what users were using root privileges Configuration is in /etc/sudoers sudoers should be edited with visudo checked after editing with visudo –c

sudoers syntax user hosts = (runas) commands Can have aliases for each One or more users (or %group) hosts List of hosts (or ALL), eg. Remote machines allowed to run on runas List of users (or ALL) that can run as for the command Groups can follow a : Root is default commands List of commands (or ALL) that can be run as root Can have aliases for each

/etc/sudoers #%group hostlist=(runas) cmd %wheel ALL=(ALL) ALL #user hostlist=(runas) cmd rgharaib ALL=(ALL) /etc/init.d/maui [a-z]* rgharaib ALL=(ALL) /sw/torque/bin/pbsnodes -[co] [a-z0-9]* rgharaib ALL=(ALL) /opt/xcat/bin/rpower b[0-9]* [a-z]* rgharaib ALL=(ALL) /usr/bin/ssh ananke reboot rgharaib ALL=(ALL) /usr/bin/ssh aether reboot Xyz ALL=(ALL) ALL Userid Xyz can run on any server as any target user for any command Xyz ALL=(root) vi Userid Xyz can run on any server as root for the vi command

Sudo Benefits Disable root No more generic root editing/configuring Who did it? Give individual sudo access to specific users Can be as general as all access Can be specific to a particular command and options If errors or sabotage Know who did it from the log records

Sudo examples operator ALL= /sbin/poweroff SuperMary ALL=(ALL) ALL UID operator can shut down the system SuperMary ALL=(ALL) ALL UID SuperMary can do anything as “root” %supergroup ALL=(ALL) ALL Anyone in the group supergroup has “root” authority msnider ALL= NOPASSWD: /sbin/halt UID msnider can halt the system, no password required trusty dev02 = /usr/bin/* UID trusty can run any command in the /usr/bin directory on system dev02

selinux

selinux Security-Enhanced Linux adds access-control mechanisms to the Linux kernel Most common mechanism is Mandatory Access Control (MAC) Developed primarily by the NSA

selinux All files are assigned a security context policies exist for every application detailing the security contexts they can access

selinux in red hat Red Hat includes decent SELinux support out of the box Can be enabled by editing /etc/selinux/config Usually type should be targeted and mode should be enforcing

selinux Having SELinux enabled may break some necessary functionality Booleans can be used to change SELinux behavior getsebool -a will show available booleans setsebool can modify them

auditd Audit daemon that tracks security operations on a system SELinux problems are logged to the audit daemon Can be configured to meet federal, DoD or other requirements Logs written to /var/log/audit/

selinux + auditd audit2allow will generate a SELinux ruleset from denied actions recorded by auditd Simple mechanism to update SELinux policies for your environment

Other

monitoring changes Host-based intrusion detection systems Software is on the computer itself Designed to detect changes to files on the system Normally used in extremely paranoid environments AIDE (Advanced Intrusion Detection Environment) is one example

aide Creates a database containing hashes of important files on the filesystem Periodically verifies that file hashes have not changed Must be turned off to update anything Database must be rebuilt after an update

logging Centralized log management is key Once logs are centralized, you need a way to condense them into something useful logwatch is one such tool Note: enable sudo to monitor who makes system changes

logwatch Tool to generate summary of system logs Can generate one email containing all systems or an email for each system Split into different components that check for certain patterns Easy to write new components

configuration management Tools and concepts that help maintain systems consistency Administrators use tools to write policies and apply them to multiple systems Policies are verified periodically and any changes on the local system can be backed out Some tools allow administrators to roll back changes that were pushed out via configuration management

configuration management Large organizations and organizations concerned about security can benefit from configuration management Example tools are cfengine and puppet Will have a complete module on configuration management