Operating System Security A Windows and UNIX Introduction

27
Operating System Security A Windows and UNIX Introduction

description

Operating System Security A Windows and UNIX Introduction. UNIX Security. Unix is a multi-user computing environment with multitasking capabilities. It is widely used because it is generally more stable, more reliable and more scalable than most other operating systems. Typical Uses: - PowerPoint PPT Presentation

Transcript of Operating System Security A Windows and UNIX Introduction

Page 1: Operating System Security A Windows and UNIX Introduction

Operating System Security

A Windows and UNIX Introduction

Page 2: Operating System Security A Windows and UNIX Introduction

UNIX Security

Unix is a multi-user computing environment with multitasking capabilities. It is widely used because it is generally more stable, more reliable and more scalable than most other operating systems.

Typical Uses: Enterprise Resource Planning (SAP, PeopleSoft, Oracle, etc.) Engineering Applications (CAD/CAM, process controllers,

etc.) Electronic Commerce (web servers, transaction processors,

etc.) Database Servers (Oracle, Informix, etc.) Firewalls (Checkpoint Firewall-1, Sidewinder, etc.)

Page 3: Operating System Security A Windows and UNIX Introduction

Some UNIX History

Unix was developed at AT&T Bell Labs in 1969.

By the early 1970s, it was rewritten to make it an “open” system with portability.

As an open system, Unix became widespread as universities and others began using it more and more.

Two UNIX coding schemes became dominant. Most subsequent Unix variants are based on them.System V - AT&TBSD - Berkeley Software Distribution

Page 4: Operating System Security A Windows and UNIX Introduction

UNIX Features

Written in the C programming language.First to include TCP/IP in computers. This

made possible the Internet and the World-Wide Web.

Linux is based on Unix. Unix runs most Internet Service Providers.Unix is generally insecure upon default

installation and is one of the most vulnerable operating systems to hackers.

Page 5: Operating System Security A Windows and UNIX Introduction

Unix Architecture - Shells

Unix Architecture - Shells

Shell Program(C, Bourne, Korn)

Login Program

Commands being sent to system

Page 6: Operating System Security A Windows and UNIX Introduction

User Accounts - Overview

Every person who uses a UNIX computer system must have an account or username to log in with.

Each account is identified by user identification number (“UID”).

All accounts are stored in the /etc/passwd file. Each user has a line in /etc/passwd.

When a user logs in, UNIX needs the password file to authenticate the user and execute several start-up files.

Page 7: Operating System Security A Windows and UNIX Introduction

Users - The /etc/passwd file

daemon:*:1:1::/tmp:root:diw&5kdiwlj^#:0:1::/:ftp:*:2:2:FTP User:/usr/spool/ftpbobp:Je834,dfsjiv@:10:5:Bob

Paris:/home/admin:/bin/shrodj:9Iuh,.KjhgTr4:10:5:Rod

Jackson:/home/admin:/bin/shkevl:M,mnnh875Jkg:100:100:Klevrone:/home/

acc:/bin/shleel:8JHgjgj45d.,L:102:100:LeeLabrada:/

home/acc/:bin/sh

Page 8: Operating System Security A Windows and UNIX Introduction

/etc/passwd - The username

bobp:Je834,dfsjiv@:10:5:BobParis:/home/admin:/usr/bin/sh

can be 1-8 characters in length can be alphabetic or numeric problems with special characters

Page 9: Operating System Security A Windows and UNIX Introduction

/etc/passwd - Passwords

bobp:Je834,dfsjiv@:10:5:Bob Paris:/home/admin:/usr/bin/sh

passwords encrypted using DES

an asterisk (*) means EITHER: account is revoked or there is a shadow password file – to explain later

if blank, then the account has no password

NP is also sometimes used to lock an account

Page 10: Operating System Security A Windows and UNIX Introduction

etc/passwd - User ID numbers (UID)

bobp:Je834,dfjiv@:10:5:BobParis:/home/admin:/usr/bin/sh

UID 0-9 used for system accounts. Unix identifies user by UID not username i.e.

10 Users can have the same UID UID = 0 assigns superuser privileges

Page 11: Operating System Security A Windows and UNIX Introduction

/etc/passwd - Group ID (GID)

bobp:Je834,dfsjiv@:10:5:Bob Paris:/home/admin:/usr/bin/sh

GID defines user’s primary group GID=0 assigns superuser group Users can belong to more than one group. This

is evidenced by being included in several groups in the /etc/group file.

Page 12: Operating System Security A Windows and UNIX Introduction

/etc/passwd - The GECOS field

bobp:Je834,dfsjiv@:10:5:Bob Paris:/home/admin:/usr/bin/sh

General Electric Computer Operating System free text field (should be meaningful) used as output for finger command

Page 13: Operating System Security A Windows and UNIX Introduction

/etc/passwd - Home directory

bobp:Je834,dfsjiv@:10:5:Bob Paris:/home/admin:/usr/bin/sh

location of user’s startup files includes user’s /.profile file default directory

Page 14: Operating System Security A Windows and UNIX Introduction

/etc/passwd - The shell field

bobp:Je834,dfsjiv@:10:5:Bob Paris:/home/admin:/usr/bin/sh

different types of Unix shells can be something like /prod/payroll/menu a blank defaults to Bourne Shell (/bin/sh)

Page 15: Operating System Security A Windows and UNIX Introduction

Password Security

Different flavors of UNIX provide different level of account and password controls: password aging minimum password length alpha-numeric passwords account lockout

Page 16: Operating System Security A Windows and UNIX Introduction

Shadowed Passwords

UNIX requires all users to be able to read the /etc/passwd for login purposes

To protect the encrypted password against users with password guessers, a shadow file is used:

/etc/shadow (Sun), /etc/security/passwd (AIX) The encrypted password is a one-way hash algorithm Format of entries is different among Unix variants Your participant guide has standard shadow names!

Page 17: Operating System Security A Windows and UNIX Introduction

/etc/shadow

Entry format (Sun): username:password:lastchg Sample: markmcguire:cob6j4NEL3H7Q:9827

password: A 13-character encrypted password for the user, a

lock string to indicate that the login is not accessible,

or no string, which shows that there is no password

for the login.

lastchg: The number of days between January 1, 1970, and the

date that the password was last modified.

Page 18: Operating System Security A Windows and UNIX Introduction

Default Accounts

Default user IDs are common to most systems (therefore known and attacked). These IDs are powerful system IDs that are used by the kernel to run applications and internal processes.

Typical Unix default accounts:

root adm bin dev daemon sync sys lp nobody listen uucp

Access must be controlled. No system user ID (except root) should be able to login and obtain a prompt!

Applications and databases often create a default user account when they are being installed. If root is installing the program these install user IDs could be powerful and are usually not needed after installation. Administrators often fail to remove these accounts.

Example accounts: oracle, informix, sap, tivoli, tng

Page 19: Operating System Security A Windows and UNIX Introduction

Generic Accounts

Administrators more interested in flexibility than security often assign users generic user accounts. Generic user accounts are user IDs that often represent a group, class, or department of user instead of the name of the individual.

Samples: guest, trainer, student, accounting, accounts_payable operator, helpdesk, sales, consultant, temp1

Unless needed, generic accounts are generally a BAD idea because they fail to assign responsibility of the user ID’s actions to a specific individual.

Good practices for user ID:

employee number, employee name, specific identification of

consultants and temporary employees

Page 20: Operating System Security A Windows and UNIX Introduction

Superusers

Commonly called “root” Any UID number 0 is a superuser Superusers can:

override all file permissions bypass all normal security checks create new users

Page 21: Operating System Security A Windows and UNIX Introduction

Hacking Superusers

A HACKER’S GOAL IS TO BECOME THE ROOT USER

Once users have become root they may:

Modify log files to cover their tracks

Add users they can use later to access the system

Install backdoor programs to gain later access or to launch malicious code, such as distributed denial of service attacks (e.g. Yahoo, CNN, etc.)

Install daemons that capture and transmit sensitive information to the hackers

Page 22: Operating System Security A Windows and UNIX Introduction

File Permissions in UNIX

r (read) List (ls) the directory's contents

w (write) Add or remove files in the directory

x (execute) Make the directory your current directory Open files within the directory

Page 23: Operating System Security A Windows and UNIX Introduction

TCP Wrappers - Overview

TCP wrapper is a mechanism for providing access control.

It is a program allowing you to control which hosts your inet daemons will accept connections from.

Can be done on basis of service (e.g. ftpd, telnetd, etc.) Has support for wildcards (e.g. *.ncsa.uiuc.edu) Can be configured strict (e.g. only allow connections

from *.ncsa.uiuc.edu) Can be configured loose (e.g. allow connections from

everyone but *.spam.net)

Page 24: Operating System Security A Windows and UNIX Introduction

Job Scheduling - Cron

Cron is a clock daemon that starts a process that executes commands at specified dates and

times.

Regularly scheduled commands can be specified according to instructions found in crontab files in the directory /var/spool/cron/crontabs.

Users can submit their own crontab file using the crontab command.

Cron only examines crontab files during its own process initialization phase and when the crontab or “at” command is run.

Page 25: Operating System Security A Windows and UNIX Introduction

CRON – Cont’d

All executables and files referenced by cron should NOT be world-readable or world-writeable!

Usually administrators are the only ones with a need to use cron. If users have access to execute the crontab command, ask why there is a need.

Page 26: Operating System Security A Windows and UNIX Introduction

Audit Subsystem and Audit Files

UNIX has limited auditing capabilities Basic audit features provided for logging

Last logins Login and logout Failed logins System accounting Use of su command System events

Page 27: Operating System Security A Windows and UNIX Introduction

Sample Audit Files

acct/pacct records user commands lastlog records users last login loginlog records failed logins messages records syslog messages sulog records su attempts utmp records each user logged in wtmp records logins and logouts