Lab 3 - UNIX Security Fall 2014

Total Page:16

File Type:pdf, Size:1020Kb

Lab 3 - UNIX Security Fall 2014 INSE 6130 Operating Systems Security Lab 3 - UNIX security Fall 2014 Updated by Paria Shirani - Saed Alrabaee Overview In this lab session, students will learn the basics of UNIX user administration, and user/group’s access rights regarding files and groups. Students will be able to perform the following operations: (i) adding groups and creating users’ accounts, (ii) creating files and changing their access rights, and (iii) defining access control lists (ACLs). Introduction Unix file system permissions are organized into three classes: User: The user who owns the file Group: Users belonging to the file's defined ownership group Other: Everyone else In turn, for each of these classes of user, there are three types of file access: The ability to look at the contents of the file ("Read") The ability to change the contents of the file ("Write") The ability to run the contents of the file as a program on the system ("Execute") On Linux and other Unix-like operating systems, there is a set of rules for each file which defines who can access that file, and how they can access it. These rules are called file permissions or file modes. The command name chmod stands for "change mode", and it is used to define the way a file can be accessed. chmod chmod is used to change the permissions of a file or files. chmod options permissions filename If no options are specified, chmod modifies the permissions of the file specified by filename to the permissions specified by permissions. Permissions defines the permissions for the owner of the file (the "user"), members of the group who owns the file (the "group"), and anyone else ("others"). There are two ways to represent these permissions: with symbols (alphanumeric characters), or with octal numbers (the digits 0 through 7). Let's say you are the owner of a file named myfile, and you want to set its permissions so that: the user can read, write, and execute it; members of your group can read and execute it; and others may only read it. This command will do the trick which is an example of using symbolic permissions notation: chmod u=rwx,g=rx,o=r myfile The letters u, g, and o stand for "user", "group", and "other". The equals sign ("=") means "set the permissions exactly like this," and the letters "r", "w", and "x" stand for "read", "write", and "execute", respectively. The commas separate the different classes of permissions, and there are no spaces in between them. Here is the equivalent command using octal permissions notation: chmod 754 myfile Here the digits 7, 5, and 4 each individually represent the permissions for the user, group, and others, in that order. Each digit is a combination of the numbers 4, 2, and 1: 4 stands for "read" 2 stands for "write" 1 stands for "execute" So 7 is the combination of permissions 4+2+1 (read, write, and execute), 5 is 4+0+1 (read, no write, and execute), and 4 is 4+0+0 (read, no write, and no execute). NOTE: before you start: Note 1: If you are in the Virtual Machine, press Ctrl+Alt to return to Windows. Note 2: To start a shell with root privileges, issue the command sudo su and enter your password when prompted. Note 3: To switch from a user firstuser to user seconduser, type 'su seconduser'. Unless firstuser is the root, you will need to enter the password of seconduser. Note 4: Type the command ‘whoami’ to know your username. Use ‘pwd’ to know your actual location. Note 5: To know more about a command and understand its syntax, type ‘man commandname’ or ‘info commandname’. Quit the manual by pressing ‘q’. A. Adding groups and creating/assigning user's accounts Assume you are the system administrator (root) of a fictional university that have one student (alice) and two professors (bob and malory). Create the professor group using the groupadd command. groupadd professor . Create bob's account and assign it to the professor group using the useradd command. useradd -g professor bob . Set a password for bob. passwd bob . Using the same command as above, create malory's account and assign it to the professor group. useradd -g professor malory . Set a password for malory. passwd malory . Create student group and assign alice to this group. Type the following command to view the current group settings. cat /etc/group B. Creating files and changing their access rights . Go the shared directory cd shared . Log in as bob: su bob . Create one empty file using the touch command: touch bobfile.txt . List the files using the ‘ls –l’ command. Observe the permissions. ls –l bobfile.txt QUESTIONs: Why alice cannot write into bobfile.txt? Why malory cannot write into bobfile.txt although bob and malory are in the same group? . Use the chmod command, edit the permissions on bobfile.txt so that malory can read and write it and alice can only read it. Try to make malory the new owner of bobfile.txt using chown command: chown malory:professor bobfile.txt QUESTIONs: Why is the operation not allowed although bob owns bobfile.txt? Who can change the ownership of the file? . Switch to user malory (Refer to Note 2) and create a new file maloryfile.txt. touch maloryfile.txt . Use the chmod command to only give the write permission to the professor group and the others (DO NOT GIVE THE READ PERMISSION). Switch to user bob (refer to Note 2 or just type exit). Write something inside maloryfile.txt. nano maloryfile.txt NOTE: You should be user bob at this step. Inside the shared folder, there is another folder that is owned by the root. Go into that folder: cd /shared/rootowned . The folder contains one file (rootfile). Check the permissions of the files. ls -l QUESTION: Which permissions do bob has on the rootfile.txt? . Try to rename the file: mv rootfile.txt renamedfile.txt QUESTION: Why bob cannot rename rootfile.txt although he has been granted full permissions on it? C. Access Control Lists (ACLs) Discretionary Access Control (DAC) allows a user or administrator to define an Access Control List (ACL) on a specific resource (e.g. file, registry key, database table, OS object, etc.), this List will contain entries (ACE) that define each user that has access to the resource, and what his/her privileges are for that resource. This section will present a very brief introduction to access control list in Linux. ACL are not very used in Linux since the 9-bits permissions bits are much simpler. The basic commands are getfacl (get file ACL) that display the ACL of a file and setfacl (set file ACL) that modify the file access control list. To know the many options these commands can take, please refer to the manual. Go the shared directory cd shared . Log as user alice (Refer to Note 2) . Create a new file (not empty) and set the permissions (remove all the permissions of others) echo “I belong to alice.” > alicefile.txt chmod 760 alicefile.txt . Display the permissions bits and the ACL of the file. ls –l alicefile.txt getfacl alicefile.txt . Use the ACL to give user bob the right to read, write and execute alicefile. setfacl –m user:bob:rwx alicefile.txt . Display the permissions bits and the ACL of the file. ls –l alicefile.txt getfacl alicefile.txt QUESTION: What is the difference? What do you see? . Switch to user bob (refer to Note 2). Try to read alicefile.txt. Does it work? cat alicefile.txt Let’s do the opposite: . Log as user alice (Refer to Note 2 or just type exit) . Edit the permissions of alicefile.txt (grant full rights to others). chmod 777 alicefile.txt . Remove bob right to read and write in the ACL. setfacl –m user:bob:x alicefile.txt . Display the permissions bits and the ACL of the file. ls –l alicefile.txt getfacl alicefile.txt • Switch to user bob (refer to Note 2). Try to read alicefile.txt. cat alicefile.txt QUESTION: Does it work? Can bob read alicefile.txt? C.1 Sharing a file with a particular user (Optional) . Switch to user bob (refer to Note 2), delete the previous bobfile.txt and create a new file. rm –f bobfile.txt && touch bobfile.txt . Use the chmod command to remove the permissions of the groups and others. Only bob (and the root) can access the file. chmod 700 bobfile.txt . Use acl to give permissions to malory. setfacl –m user:malory:rwx bobfile.txt . Display the permissions bits and the acl of the file. ls –l bobfile.txt getfacl bobfile.txt The group professor is denied in the ACL, but not in the 9-bits permissions. The user malory is allowed in the ACL. QUESTIONs: Can malory access bobfile.txt? Do you think another member of the professor group can access bobfile.txt? If you can create a new user (let call him tom) using the commands in section A and try to see what happen. Appendix Some of the commands used in the lab are presented here along with a short description. This is in no way an exhaustive documentation. Please refer to their manual if you wish to know more. Command Description ls ls - list directory contents ls [OPTION]... [FILE]... ls – l / use a long listing format ls – a / do not hide entries starting with . cd change the working directory cd [OPTION] [directory] cd pathtofolder / go to folder cd .. / go to the parent directory echo Print a string. echo “message” cat Concatenate – display the content of a file cat file nano (or Simple text editor pico) nano filename Ctrl+X to exit touch Create an empty file touch filename umask Change the default permissions that are assigned when you create a new file.
Recommended publications
  • Secure Telnet
    The following paper was originally published in the Proceedings of the Fifth USENIX UNIX Security Symposium Salt Lake City, Utah, June 1995. STEL: Secure TELnet David Vincenzetti, Stefano Taino, and Fabio Bolognesi Computer Emergency Resource Team Italy Department of Computer Science University of Milan, Italy For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: [email protected] 4. WWW URL: http://www.usenix.org STEL Secure TELnet David Vincenzetti Stefano Taino Fabio Bolognesi fvince k taino k b ologdsiunimiit CERTIT Computer Emergency Response Team ITaly Department of Computer Science University of Milan ITALY June Abstract Eavesdropping is b ecoming rampant on the Internet We as CERTIT have recorded a great numb er of sning attacks in the Italian community In fact sning is the most p opular hackers attack technique all over the Internet This pap er presents a secure telnet implementation whichhas b een designed by the Italian CERT to makeeavesdropping ineective to remote terminal sessions It is not to b e considered as a denitive solution but rather as a bandaid solution to deal with one of the most serious security threats of the moment Intro duction STEL stands for Secure TELnet We started developing STEL at the University of Milan when we realized that eavesdropping was a very serious problem and we did not like the freeware solutions that were available at that time It was ab out three years ago Still as far as we know e tapping problem and there are no really satisfying
    [Show full text]
  • Unix Security
    Unix Security Vulnerability Assessment Course All materials are licensed under a Creative Commons “Share Alike” license. ■ http://creativecommons.org/licenses/by-sa/3.0/ 2 Agenda ■ Why assess ■ Where are we in the process ■ What’s needed ■ Defining vulnerabilities ■ NIST 800-53A controls ■ Assessment Exercise ■ Security Exercise ■ Conclusion 3 Vulnerability Assessment ■ Provides the opportunity to address weaknesses before an enemy can exploit them ■ Implementation: Scanning tools that identify vulnerabilities in computer hardware, software, networks and operating systems ■ Common techniques – Multiple tools – one tool may not identify all vulnerabilities – Ability to identify backdoors security perimeter, e.g. modems, VPNs, etc. – all potential vulnerabilities need to be assessed – Correction verification mechanism – ability to check if vulnerability has been eliminated ■ Compliance with OMB, DOD, DHS policy – Utilize NIST 800-53 and 800-53A – DOD 8500 series 4 What’s Needed ■ Unix experience – Hands on experience: configuration, managing, building various Unix systems – Working knowledge of best practices ■ Security Experience – Intimate knowledge of how to secure a system – Prior experience with CIS Benchmark, DISA STIG/SRR ■ Data Collection – Network scans from NMAP and Nessus – Host output from any data collection tools ■ Other Skills – Need to work with administrators – Put vulnerability in their language – Be tedious while looking for vulnerabilities – Work well in a team 5 Defining Unix Vulnerability Assessment ■ Defining Unix Vulnerability Assessment – Unix Vulnerability Assessment – Unix Security Issues – Security Paradigm – System Hardening: The CIS Philosophy – Network Based Vulnerability Scanning – Host (Local) Vulnerability Scanning – Remote vs. Local Vulnerability Scanning – Common Problems and Issues – Mitigation 6 Unix Vulnerability Assessment ■ Definition – Examining the operating characteristics of a Unix environment remotely and locally in order to accurately assess its security posture (or profile).
    [Show full text]
  • Computer Network Security Protocols: a Review
    International Journal of Enhanced Research in Management & Computer Applications ISSN: 2319-7471, Vol. 5 Issue 1, January-2016 Computer Network Security Protocols: A Review Anil Kumar Programmer-Cum-Networking Engineer, Haryana Roadways, Transport Department, Govt of Haryana, India. ABSTRACT Network security is a complicated subject, historically only tackled by well-trained and experienced experts. However, as more and more people become ``wired'', an increasing number of people need to understand the basics of security in a networked world. This document was written with the basic computer user and information systems manager in mind, explaining the concepts needed to read through the hype in the marketplace and understand risks and how to deal with them. Keywords: Protocol, Security, Secure Socket Layer (SSL) and Transport Layer Security (TLS) Protocols; secure IP (IPSec); Secure HTTP (S-HTTP), secure E-mail (PGP and S/MIME), DNDSEC, SSH. 1. INTRODUCTION The rapid growth of the Internet as bothan individual and business communication channel has created a growing demand forsecurity and privacy in this electronic communication channel. Security and privacy are essential if individual communication is to continue ande-commerce is to thrivein cyberspace. The call for and desire for security and privacy has led to several security protocols and standards. Among these are: Secure Socket Layer (SSL) and Transport Layer Security (TLS) Protocols; secure IP (IPSec); Secure HTTP (S-HTTP), secure E-mail ( PGP and S/MIME), DNDSEC, SSH, and others. In this paper I discuss these protocols and standards within the framework of the network protocol stack as follow: Application Layer Transport Layer Network Layer Data Link Layer: PGP, SSL IPSec PPP S/MIME TLS VPN RADIUS S-HTTP TACACS+ HTTPS SET KERBEROS 2.
    [Show full text]
  • Unix Security Overview: 1
    CIS/CSE 643: Computer Security (Syracuse University) Unix Security Overview: 1 Unix Security Overview 1 User and Group • Users – root: super user (uid = 0) – daemon: handle networks. – nobody: owns no files, used as a default user for unprivileged operations. ∗ Web browser can run with this mode. – User needs to log in with a password. The encrypted password is stored in /etc/shadow. – User information is stored in /etc/passwd, the place that was used to store passwords (not anymore). The following is an example of an entry in this file. john:x:30000:40000:John Doe:/home/john:/usr/local/bin/tcsh • Groups – Sometimes, it is more convenient if we can assign permissions to a group of users, i.e. we would like to assign permission based on groups. – A user has a primary group (listed in /etc/passwd), and this is the one associated to the files the user created. – Any user can be a member of multiple groups. – Group member information is stored in /etc/group % groups uid (display the groups that uid belongs to) – For systems that use NIS (Network Information Service), originally called Yellow Page (YP), we can get the group information using the command ypcat. % ypcat group (can display all the groups and their members) 2 File Permissions • File Permissions – The meaning of the permission bits in Unix. ∗ Owner (u), Group (g), and Others (o). ∗ Readable (r), Writable (w), and Executable (x). ∗ Example: -rwxrwxrwx (777) • Permissions on Directories: – r: the directory can be listed. – w: can create/delete a file or a directory within the directory.
    [Show full text]
  • Evaluating UNIX Security Previous Screen Allen B
    84-01-15.1 Evaluating UNIX Security Previous screen Allen B. Lum Payoff The UNIX operating system's basic security features include password protection, access permission, user profiles, shell scripts, and file ownership. Because new and enhanced UNIX security features are continually being added to these features in response to the demands of an increasingly competitive user community, information security professionals must begin with an understanding of the basic UNIX security environment. This article covers the fundamental security features that can be found in most of the currently available versions of the UNIX operating system. Several checklists are included at the end of the article to assist administrators in ensuring the security of UNIX systems. Problems Addressed The UNIX operating system was originally developed for use by programmers within an open systems environment. The adoption of UNIX as a common operating system across several different platforms has increased the need for security beyond its original purpose. As a result, many UNIX installations have less than optimal security. In addition, there are several versions of UNIX on the market today with differing security features. This article discusses basic access controls (e.g., passwords) and directory and file permissions within the UNIX system. The concepts discussed are applicable to all versions of UNIX unless specifically noted otherwise. UNIX History As the majority of UNIX users know, UNIX was developed at AT Bell Laboratories in the late 1960s by Thompson and Ritchie; the name UNIXis a contraction of uni and multics. The original UNIX system software was written in the assembler language to run on the digital PDP-7 computer.
    [Show full text]
  • Linux Server Security, 2Nd Edition Expertly Conveys to Administrators
    Linux Server Security, 2nd Edition By Michael D. Bauer Publisher: O'Reilly Pub Date: January 2005 ISBN: 0-596-00670-5 Pages: 542 Table of • Contents • Index • Reviews • Examples Linux Server Security, 2nd Edition expertly conveys to administrators and Reader developers the tricks of the trade that can help them avoid serious • Reviews security breaches. It covers both background theory and practical step-by- • Errata step instructions for protecting a server that runs Linux. Packed with • Academic examples, this must-have book lets the good guys stay one step ahead of potential adversaries. Linux Server Security, 2nd Edition By Michael D. Bauer Publisher: O'Reilly Pub Date: January 2005 ISBN: 0-596-00670-5 Pages: 542 Table of • Contents • Index • Reviews • Examples Reader • Reviews • Errata • Academic Copyright dedication Dedication Preface What This Book Is About The Paranoid Penguin Connection The Second Edition Audience What This Book Doesn't Cover Assumptions This Book Makes Organization of This Book Conventions Used in This Book Safari® Enabled How to Contact Us Using Code Examples Acknowledgments Chapter 1. Threat Modeling and Risk Management Section 1.1. Components of Risk Section 1.2. Simple Risk Analysis: ALEs Section 1.3. An Alternative: Attack Trees Section 1.4. Defenses Section 1.5. Conclusion Section 1.6. Resources Chapter 2. Designing Perimeter Networks Section 2.1. Some Terminology Section 2.2. Types of Firewall and DMZ Architectures Section 2.3. Deciding What Should Reside on the DMZ Section 2.4. Allocating Resources in the DMZ Section 2.5. The Firewall Chapter 3. Hardening Linux and Using iptables Section 3.1.
    [Show full text]
  • Recent Security Enhancements in Netbsd
    Recent Security Enhancements in NetBSD Elad Efrat < [email protected] > September 2006 Abstract Over the years, NetBSD obtained the position of the BSD focusing on portability. While it is true that NetBSD offers an easily portable operating system, care is also given to other areas, such as security. This paper presents the NetBSD philosophy of security, design decisions, and currently offered security features. Finally, some of the current and future research will be revealed. 1. Introduction Running on almost twenty different architectures, and easily portable to others, NetBSD gained its reputation as the most portable operating system on the planet. While that may indicate high quality code, the ever demanding networked world cares about more than just that. Over the past year, NetBSD evolved quite a bit in various areas; this paper, however, will focus on the aspect relating to security. This paper was written and structured to present a full overview of the recent security enhancements in NetBSD in an easily readable and balanced form that will satisfy new, intermediate, and experienced users. References were sprinkled across the text to provide more information to those who want the gory details, while preserving the continuity. Section 2 will present the bigger picture of security in NetBSD: how NetBSD perceives security, the design decisions of NetBSD software in general and the security infrastructure and features more specifically. Section 3 will present a detailed overview of the recent enhancements in the security infrastructure and features of NetBSD including, where relevant, details about the design, implementation, and possible future development. Section 4 will present current security-related research and development in NetBSD, and section 5 will discuss how the described enhancements work together to provide a more secure platform.
    [Show full text]
  • SSH Secure Shell for UNIX Servers Administrator's Guide
    SSH Secure Shell for UNIX Servers Administrator's Guide December, 2000 2 c 1996 - 2000 SSH Communications Security Corp, Finland. No part of this publication may be reproduced, published, stored in a electronic database, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, for any purpose, without the prior written permission of SSH Commu- nications Security Corp. SSH and IPSEC Express are trade- marks or registered trademarks of SSH Communications Secu- rity Corp. All brand and product names that are trademarks or registered trademarks are the property of their owners. US and other patents pending. This product includes software de- veloped by the University of California, Berkeley and its con- tributors. THERE IS NO WARRANTY OF ANY KIND FOR THE ACCURACY OR USEFULNESS OF THIS INFORMA- TION EXCEPT AS REQUIRED BY APPLICABLE LAW OR EXPRESSLY AGREED IN WRITING. SSH Communications Security Corp Fredrikinkatu 42; FIN-00100 Helsinki; FINLAND SSH Communications Security Inc. 1076 East Meadow Circle; Palo Alto, CA 94303; USA SSH Communications Security K.K 2-7-1, House Hamamatsu-cho Bldg. 5F; Hamamatsu-cho; Minato-ku, Tokyo 105-0013; JAPAN http://www.ssh.com/ e-mail: [email protected] (sales), http://www.ssh.com/support/ssh/ Tel: +358 303 9870 (Finland), +1 650 251 2700 (USA), +81 3 3459 6830 (Japan) Fax: +358 303 9871 (Finland), +1 650 251 2701 (USA), +81 3 3459 6825 (Japan) c 2000 SSH Communications Security SSH Secure Shell Administration CONTENTS 3 Contents 1 Introduction to SSH Secure Shell 7 1.1 SSH Secure Shell . 7 1.2 This Document .
    [Show full text]
  • UNIX Security
    UNIX Security CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse497b-s07/ CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger UNIX System • Originated in the late 60’s, early 70’s – Bell Labs: Ken Thompson, Dennis Ritchie, Douglas McIlroy • Multiuser Operating System – Enables protection from other users – Enables protection of system services from users • Simpler, faster approach than Multics CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger Page 2 UNIX Security • Each user owns a set of files – Simple way to express who else can access – All user processes run as that user • The system owns a set of files – Root user is defined for system principal – Root can access anything • Users can invoke system services – Need to switch to root user (setuid) • Q: Does UNIX enable configuration of “secure” systems? CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger Page 3 UNIX Challenges • More about protection than security – Implicitly assumes non-malicious user and trusted system processes • Discretionary Access Control (DAC) – User or their processes may update permission assignments • Each program has all user’s rights • Must trust their processes to be non-malicious • File permission assignments – Assignment based on what is necessary for things to work • All your processes have all your rights • System services have full access – Users invoke setuid (root) procs that have all
    [Show full text]
  • Jails and Unikernels
    Virtualisation: Jails and Unikernels Advanced Operating Systems Lecture 18 Colin Perkins | https://csperkins.org/ | Copyright © 2017 | This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. Lecture Outline • Alternatives to full virtualisation • Sandboxing processes: • FreeBSD jails and Linux containers • Container management • Unikernels and library operating systems Colin Perkins | https://csperkins.org/ | Copyright © 2017 2 Alternatives to Full Virtualisation • Full operating system virtualisation is expensive • Need to run a hypervisor • Need to run a complete guest operating system instance for each VM • High memory and storage overhead, high CPU load from running multiple OS instances on a single machine – but excellent isolation between VMs • Running multiple services on a single OS instance can offer insufficient isolation • All must share the same OS • A bug in a privileged service can easily compromise entire system – all services running on the host, and any unrelated data • A sandbox is desirable – to isolate multiple services running on a single operating system Colin Perkins | https://csperkins.org/ | Copyright © 2017 3 Sandboxing: Jails and Containers • Concept – lightweight virtualisation • A single operating system kernel • Multiple services /bin • Each service runs within a jail a service specific container, running just what’s needed /bin /dev for that application /dev /etc /etc /mail /home /home /jail /www /lib • Jail restricted to see only a subset of the / /lib /local /usr filesystem and processes of the host /usr /lib /sbin • A sandbox within the operating system /sbin /sbin /tmp /tmp /share /var • Partially virtualised /var Colin Perkins | https://csperkins.org/ | Copyright © 2017 4 Example: FreeBSD Jail subsystem Jails: Confining the omnipotent root.
    [Show full text]
  • Freebsd Advanced Security Features
    FreeBSD Advanced Security Features Robert N. M. Watson Security Research Computer Laboratory University of Cambridge 19 May, 2007 Introduction ● Welcome! – Introduction to some of the advanced security features in the FreeBSD operating system ● Background – Introduce a series of access control and audit security features used to manage local security – Features appeared between FreeBSD 4.0 and FreeBSD 6.2, and build on the UNIX security model – To talk about new security features, we must understand the FreeBSD security architecture 19 May 2007 2 Post-UNIX Security Features ● Securelevels ● IPFW, PF, IPFilter ● Pluggable ● KAME IPSEC, authentication FAST_IPSEC modules (OpenPAM) ● Access control lists ● Crypto library and (ACLs) tools (OpenSSL) ● Security event audit ● Resource limits ● Mandatory access ● Jails, jail securelevels control (MAC) ● GBDE, GELI ● 802.11 security 19 May 2007 3 Brief History of the TrustedBSD Project ● TrustedBSD Project founded in April, 2000 – Goal to provide trusted operating system extensions to FreeBSD – DARPA funding began in July, 2001 – Continuing funding from a variety of government and industry sponsors – Work ranges from immediately practical to research – While many of these features are production- quality, some are still under development – Scope now also includes Apple's Mac OS X 19 May 2007 4 FreeBSD Security Architecture 19 May 2007 5 FreeBSD Security Architecture ● FreeBSD's security architecture is the UNIX security architecture – Entirely trusted monolithic kernel – UNIX process model – Kernel UIDs/GIDs driven by user-space user mode – Privileged root user – Various forms of access control (permissions, ...) ● Security features discussed here extend this security model in a number of ways 19 May 2007 6 Kernel and User Processes Kernel s s Inter-process e l c l communication c a a c m m e e t t s s y y s s e l i F User User User ..
    [Show full text]
  • The Internet Protocol Journal, Volume 12, No.4 - Cisco
    Protocol Basics: Secure Shell Protocol - The Internet Protocol Journal, Volume 12, No.4 - Cisco Cisco.com Worldwide Sear MENULog In Choos Langua Volume 12, Number 4, December 2009 / Protocol Basics: Secure Shell Protocol - The Internet Protocol Journal, Volume 12, No.4 by William Stallings Secure Shell (SSH) Protocol is a protocol for secure network communications designed to be relatively simple and inexpensive to implement. The initial version, SSH1, focused on providing a secure remote logon facility to replace Telnet and other remote logon schemes that provided no security [4]. SSH also provides a more general client- server capability and can be used to secure such network functions as file transfer and e-mail. A new version, SSH2, provides a standardized definition of SSH and improves on SSH1 in numerous ways. SSH2 is documented as a proposed standard in RFCs 4250 through 4256 [1–3], [5–8]. SSH client and server applications are widely available for most operating systems. It has become the method of choice for remote login and X tunneling and is rapidly becoming one of the most pervasive applications for encryption technology outside of embedded systems. SSH is organized as three protocols that typically run on top of TCP (Figure 1): Transport Layer Protocol: Provides server authentication, data confidentiality, and data integrity with forward secrecy (that is, if a key is compromised during one session, the knowledge does not affect the security of earlier sessions); the transport layer may optionally provide compression User Authentication
    [Show full text]