Check out the new USENIX Web site.
2001 USENIX Annual Technical Conference, June 25-30, 2001, Boston, MA
Conference Home At a Glance Register/Hotel Tutorials Tech Sessions FREENIX Exhibition Organizers Activities/BoFs

Tutorials: Overview | By Day (Monday, Tuesday, Wednesday) | By Instructor | All in One File

Monday, June 25, 2001    

M1 Network Security Profiles: A Collection (Hodgepodge) of Stuff Hackers Know About You
Brad Johnson, SystemExperts Corporation

M2 Building Linux Applications  NEW
Michael K. Johnson, Red Hat, Inc.

M3 Advanced Topics in Perl Programming
Tom Christiansen, Consultant

M4 Topics for System Administrators, 1  NEW
Evi Nemeth, University of Colorado; Ned McClain, XOR Network Engineering; Tor Mohling, University of Colorado

M5 Sendmail Configuration and Operation (Updated for Sendmail 8.12)
Eric Allman, Sendmail, Inc.

M6 Blueprints for High Availability: Designing Resilient Distributed Systems
Evan Marcus, VERITAS Software Corporation

M7 Exploring the Potential of LDAP  NEW
Gerald Carter, VA Linux Systems

M8 Large Heterogeneous Networks: Planning, Building, and Maintaining Them While Staying Sane  NEW
Lee Damon,

M9 Communicating in Difficult Situations  NEW
Stephen C. Johnson, Transmeta Corp.; Dusty L. White, Consultant

M10 Wireless Networking Fundamentals: WANs, LANs, and PANs  NEW
Chris Murphy, MIT; Jon Rochlis, The Rochlis Group, Inc.

M1 Network Security Profiles: A Collection (Hodgepodge) of Stuff Hackers Know About You
Brad Johnson, SystemExperts Corporation

Who should attend: Network, system, and firewall administrators; security auditors and those who are audited; people involved with responding to intrusions or responsible for network-based applications or systems that might be targets for crackers (determined intruders). Participants should understand the basics of TCP/IP networking. Examples will use actual tools and will also include small amounts of HTML, JavaScript, and Tcl.

Network-based host intrusions, whether they come from the Internet, an extranet, or an intranet, typically follow a common methodology: reconnaissance, vulnerability research, and exploitation. This tutorial will review the ways crackers perform these activities. You will learn what types of protocols and tools they use, and you will become familiar with a number of current methods and exploits. The course will show how you can generate vulnerability profiles of your systems. Additionally, it will review some important management policies and issues related to these network-based probes.

The course will focus primarily on tools that exploit many of the common TCP/IP—based protocols, such as WWW, SSL, DNS, ICMP, and SNMP, which underlie virtually all Internet applications, including Web technologies, network management, and remote file systems. Some topics will be addressed at a detailed technical level. This course will concentrate on examples drawn from public-domain tools that are widely available and commonly used by crackers.

Topics include:

  • Profiles: what can an intruder determine about your site remotely?
  • Review of profiling methodologies: different "viewpoints" generate different types of profiling information
  • Techniques: scanning, on-line research, TCP/IP protocol "mis"uses, denial of service, cracking clubs
  • Important intrusion areas: discovery techniques, SSL, SNMP, WWW, DNS
  • Tools: scotty, strobe, netcat, SATAN, SAINT, ISS, mscan, sscan, queso, curl, Nmap, SSLeay/upget
  • Defining management policies to minimize intrusion risk

Topics not covered:

  • Social engineering
  • Buffer overflow exploits
  • Browser (frame) exploits
  • Shell privilege escalation

johnson_brad Brad Johnson (M1, T10) is vice president of SystemExperts Corporation. He has participated in the Open Software Foundation, X/Open, and the IETF, and has often published about open systems.Brad has served as a security advisor to organizations such as Dateline NBC and CNN. He is a frequent tutorial instructor and conference speaker on network security, penetration analysis, middleware, and distributed systems. He has a B.A. in computer science from Rutgers University and an M.S. in applied management from Lesley University.

M2 Building Linux Applications NEW
Michael K. Johnson, Red Hat, Inc.

Who should attend: This class is designed for programmers who are familiar with the C programming language, the standard C library, and some basic ideas of UNIX shells: primarily pipes, I/O redirection, and job control. We will discuss (come prepared to ask questions) the major O/S related components of a Linux application and how they fit together. This course will prepare you to start building Linux applications. Since Linux is very similar to UNIX, you will be fundamentally ready to build UNIX applications as well.

The core of the tutorial will be an introduction to system programming: the process model, file I/O, file name and directory management, and signal processing lead the list. We will more briefly cover (in more or less depth depending on participant interest) ttys and pseudo ttys, time, random numbers, and simple networking.

We will then cover some system library functionality, including globbing and regular expressions, command line parsing, and dynamic loading. If there is sufficient interest and time, we will briefly survey the great variety of application programming libraries.

Michael K. Johnson (M2) has worked with Linux since the first publicly released version. He is the co-author of Linux Application Development (Addison-Wesley, 1998) and is a software developer for Red Hat, Inc. Michael has written kernel, system, and application code for Linux and has been teaching Linux courses and tutorials for six years.

M3 Advanced Topics in Perl Programming
Tom Christiansen, Consultant

Who should attend: Perl programmers interested in honing their skills for quick prototyping, system utilities, software tools, system management tasks, database access, and WWW programming. Participants should have several months' experience in basic Perl scripting.

Topics include:

  • Complex data structures
  • References
  • Memory management and anonymous data structures
  • Packages and modules
  • Namespaces, scoping, and extent
  • Classes and objects
  • Object-oriented programming
  • Process control and management
  • Pipes and signals
  • Advanced I/O techniques and file locking
  • Assorted tips and tricks to use Perl effectively

Upon completion of this course, students will be able to:

  • Develop standard and OO modules
  • Understand complex and hierarchical data structures
  • Understand Perl's facilities for file locking
  • Use Perl for multi-process and daemon programming
  • Understand inheritance, closures, and scoping in Perl

christiansen_tom Tom Christiansen (M3, T3) has been involved with Perl since day zero of its initial public release in 1987. Lead author of The Perl Cookbook, co-author of the second editions of Programming Perl and Learning Perl, and co-author of Learning Perl on Win32 Systems, Tom is also the major caretaker of Perl's online documentation. He holds undergraduate degrees in computer science and Spanish and a master's in computer science. He now lives in Boulder, Colorado.

M4 Topics for System Administrators, 1 NEW
Evi Nemeth, University of Colorado; Ned McClain, XOR Network Engineering; Tor Mohling, University of Colorado

Who should attend: This class will cover a range of timely and interesting UNIX system administration topics. It is intended for system and network administrators who are interested in picking up several new technologies in an accelerated manner. The format consists of five topics spread throughout the day.

File systems and storage: This section will cover features of modern file systems and how they affect the life of a system administrator. We will survey existing file systems, ending with a brief discussion of trends and probable developments.

What's new in BIND9? BINDv9 includes a long laundry list of features needed for modern architectures, huge zones, machines serving a zillion zones, co-existence with PCs, security, and IPv6--specifically, dynamic update, incremental zone transfers, DNS security via DNSSEC and TSIG, A6, and DNAME records.

Machine room design: With the ever-increasing popularity of the Web as well as the general necessity for reliable data-access, more and more sites are requiring 24x7 server availability. We will look at the transition from small machine room to (large) data center, and what you can do to make it easier to manage cables, power, A/C, and so on.

Security tools: A new generation's worth of security management tools are on the loose. We'll help you understand how to use such tools as Nessus, nmap, host firewalling software, CFS, and TCFS.

Host security: Although the specific configuration tips refer to Linux and Solaris, the concepts are generic, applying well to other UNIX operating systems. This section will include technical discussion designed to help administrators identify weak points in their own installations.

nemeth_evi Evi Nemeth (M4, T4), a faculty member in computer science at the University of Colorado, has managed UNIX systems for the past 20 years, both from the front lines and from the ivory tower. She is co-author of the UNIX System Administration Handbook.
mcclain_ned Ned McClain (M4, T4) is a lead engineer at XOR Network Engineering. He is currently helping with the 3rd edition of the UNIX System Administration Handbook (by Nemeth, Snyder, and Hein). He has a degree in computer science from Cornell University and has done research with both the CS and Engineering Physics departments at Cornell.
mohling_tor Tor Mohling (M4) is currently a Unix systems administrator for the University of Colorado at Boulder's Computer Science department. He was bewitched by Evi Nemeth as a young child and forced to run dump(8) on VAX 11/780's running BSD 4.0. After under-graduate work in Comparative Religion and Philosophy, he worked as a brewer. This work drove him into graduate school studying Computer Science. He teaches sys-admin classes for the CS department at CU Boulder.

M5 Sendmail Configuration and Operation (Updated for Sendmail 8.12)
Eric Allman, Sendmail, Inc.

Who should attend: System administrators who want to learn more about the sendmail program, particularly details of configuration and operational issues (this tutorial will not cover mail front ends). This will be an intense, fast-paced, full-day tutorial for people who have already been exposed to sendmail. This tutorial describes the latest release of sendmail from Berkeley, version 8.12.

We begin by introducing a bit of the philosophy and history underlying sendmail.

Topics include:

  • The basic concepts of configuration: mailers, options, macros, classes, keyed files (databases), and rewriting rules and rulesets
  • Configuring sendmail using the M4 macro package
  • Day-to-day management issues, including alias and forward files, "special" recipients (files, programs, and include files), mailing lists, command-line flags, tuning, and security
  • How sendmail interacts with the Domain Name System
allman_eric Eric Allman (M5) is the original author of sendmail. He is the author of syslog, tset, the -me troff macros, and trek. He was the chief programmer on the INGRES database management project, designed database user and application interfaces at Britton Lee,and contributed to the Ring Array Processor project at the International Computer Science Institute. He is a former member of the USENIX Board of Directors.

M6 Blueprints for High Availability: Designing Resilient Distributed Systems
Evan Marcus, VERITAS Software Corporation

Who should attend: Beginning and intermediate UNIX system and network administrators, and UNIX developers concerned with building applications that can be deployed and managed in a highly resilient manner. A basic understanding of UNIX system programming, UNIX shell programming, and network environments is required.

This course will explore procedures and techniques for designing, building, and managing predictable, resilient UNIX-based systems in a distributed environment. Hardware redundancy, system redundancy, monitoring and verification techniques, network implications, and system and application programming issues will all be addressed. We will discuss the trade-offs among cost, reliability, and complexity.

Topics include:

  • What is high availability? Who needs it?
  • Defining uptime and cost; "big rules" of system design
  • Disk and data redundancy; RAID and SCSI arrays
  • Host redundancy in HA configurations
  • Network dependencies
  • Application system programming concerns
  • Anatomy of failovers: applications, systems, management tools
  • Planning disaster recovery sites and data updates
  • Security implications
  • Upgrade and patch strategies
  • Backup systems: off-site storage, redundancy, and disaster recovery
  • Managing the system: managers, processes, verification
marcus_evan Evan Marcus (M6) , who has 14 years of experience in UNIX systems administration, is now VERITAS Software Corporation's Data Availability Maven. At Fusion Systems and OpenVision Software, Evan worked to bring the first high availability software application for SunOS and Solaris to market. He is the author of several articles and talks on the design of high availability systems and is the co-author, with Hal Stern, of Blueprints for High Availability: Designing Resilient Distributed Systems (John Wiley & Sons, 2000).

M7 Exploring the Potential of LDAP NEW
Gerald Carter, VA Linux Systems

Who should attend: Administrators and programmers interested in the potential of the Lightweight Directory Access Protocol (LDAP) and in exploring issues related to deploying an LDAP infrastructure. This tutorial is not designed to be a how-to for a specific LDAP server, nor is it an LDAP developers' course. Rather, it is an evaluation of the potential of LDAP to allow the consolidation of existing deployed directories. No familiarity with LDAP or other Directory Access Protocols will be assumed.

System administrators today run many directory services, though they may be called by such names as DNS and NIS. LDAP, the up-and-coming successor to the X500 directory, promises to allow administrators to consolidate multiple existing directories into one. Vendors across operating-system platforms are lending support.

Topics include:

  • The basics of LDAP
  • Current technologies employing LDAP services
  • Replacing NIS using LDAP
  • Integrating authentication mechanisms for other services (e.g., Apache, Sendmail, Samba) with LDAP
  • LDAP interoperability with other proprietary Directory Services, such as Novell's NDS and Microsoft's Active Directory
  • Programming tools and languages available for implementing LDAP support in applications

carter_gerald Gerald Carter (M7, W7), a member of the Samba Team since 1998, is employed by VA Linux Systems. He is working with O'Reilly Publishing on a guide to LDAP for system administrators. He holds an M.S. in computer science from Auburn University, where he also served as a network and systems administrator. Gerald has published articles with Web-based magazines such as Linuxworld and has authored courses for companies such as Linuxcare. He is the lead author of Teach Yourself Samba in 24 Hours (Sams Publishing).

M8 Large Heterogeneous Networks: Planning, Building, and Maintaining Them While Staying Sane NEW
Lee Damon, University of Washington

Who should attend: Anyone who is designing, implementing or maintaining a UNIX environment with 2 to 20,000+ hosts. System administrators, architects, and managers who need to maintain multiple hosts with few admins.

This tutorial won't propose one "perfect solution." Instead, it will try to raise all the questions you should ask in order to design the right solution for your needs.

Topics include:

  • Administrative domains: Who is responsible for what? What can users do for themselves?
  • Desktop services vs. farming: Do you do serious computation on the desktop, or do you build a compute farm?
  • Disk layout: How should you plan for an upgrade? Where do things go?
  • Free vs. purchased solutions: Do you write your own, or do you outsource?
  • Homogeneous vs. heterogeneous: Homogeneous is easier, but will it do what your users need?
  • Master database: What do you need to track, and how?
  • Policies to make your life easier
  • Push vs. pull: Do you force data to each host, or wait for a client request?
  • Quick replacement techniques: How to get the user back up in 5 minutes
  • Remote install/upgrade/patching: How can you implement lights-out operation? Handle remote user sites? Keep up with vendor patches?
  • Scaling and sizing: How do you plan?
  • Security vs. sharing: Users want access to everything. So do crackers. Where and how do you draw the line?
  • Single sign-on: Can one-password access to multiple services be secure?
  • Single system images: Can you find the Holy Grail? Should each user see everything the same way, no matter what environment they're working in, or should each user's access to each service be consistent with his/her own environment?
  • Tools: What's free? What should you buy? What can you can write yourself?

The class will concentrate on UNIX.

damon_lee Lee Damon (M8) holds a B.S. in speech communication from Oregon State University. He has been a UNIX system administrator since 1985 and has been active in SAGE since its inception. He has developed several large-scale mixed environments. He is a member of the SAGE Ethics Working Group and was one of the commentators on the SAGE Ethics document.

M9 Communicating in Difficult Situations NEW
Stephen C. Johnson, Transmeta Corp.; Dusty L. White, Consultant

Who should attend: Anyone whose job involves important communication, be it with customers, management, or co-workers. This class should be especially useful to managers.

Do you work with difficult people? They may be clients, employees, peers, or managers. Or do you have to communicate or even manage people who are remote, communicating mostly through email? This tutorial discusses why some people and situations are difficult, and how to develop your own abilities and become more flexible in dealing with these difficulties. The focus is on giving you specific techniques you can try in the class and then take home to use immediately.

Technical people communicate a lot of information. Typically, this information seems quite clear to us, yet others frequently misinterpret it. The misinterpretation may distort facts, but often it distorts intention as well, leading to further problems. Most of us find that some people we work with seem almost to read our mind, while others seem unable to understand anything we say.

We focus on examples and simple exercises that demonstrate that there are many different ways to communicate, and that most people use only a small fraction of the available ways. The more communication techniques you master, the more people you can communicate with easily. The key to overcoming difficulties in communication is not just to keep trying, but to keep trying different things until you find something that works.

Topics include:

  • Reaching agreement with negative people
  • Saying "no" so that it will be understood and stick
  • Negotiating compromises
  • Building trust
  • Giving feedback constructively
  • Communicating with people who don't like to communicate
  • Fitting loners into a group
  • Knowing when to disengage from difficult people

Johnson_Steve Stephen Johnson (M9, T9) has been a technical manager on and off for nearly two decades, in both large and small companies. At AT&T, he is best known for writing Yacc, Lint, and the Portable C Compiler. He served as the head of the UNIX Languages Department at AT&T's Summit Labs and has been involved in a number of Silicon Valley startup companies. He served for ten years on the USENIX Board of Directors, four of them as president. He presented an invited talk at LISA three years ago, he has taught USENIX tutorials on technical subjects, and he has led management training seminars at USENIX conferences, as well as at Transmeta.
White_Dusty Dusty White (M9, T9) was an early employee of Adobe, where she served in various managerial positions. She now works in Silicon Valley as a trainer, coach, and troubleshooter for technical companies. She has presented tutorials at LISA and the USENIX Annual Technical Conference.

M10 Wireless Networking Fundamentals: WANs, LANs, and PANs NEW
Chris Murphy, MIT; Jon Rochlis, The Rochlis Group, Inc.

Who should attend: Anyone involved with network design, implementation, and support, and content providers who need familiarity with wireless technologies and how those technologies can affect their service offerings. A basic understanding of wired network architecture over local and/or wide areas is required.

For years people have dreamed of "unwired" access--anywhere, anytime--to networks and the data they contain. Recently, the advent of standards for wireless LANs, the development of powerful handheld devices, and widespread deployment of services such as digital cellular systems have made the promise of wireless networking more realizable than ever before.

Topics include:

  • Wide-area networks
    • CDPD
    • Cellular modem
    • PCS
    • GSM
    • pager
    • satellite
  • Local-area networks
    • 802.11
  • Personal-area networks
    • Bluetooth
    • IrDA
  • Home vs. office use
  • Standards and interoperability
  • Integration with wired networks and services
  • Cost: Budget salvation, or sinkhole?
  • Support: Will you need new skills?
  • Security
  • Product survey
  • Future trends and possibilities

murphy_chris Chris Murphy (M10) is a network engineer in the Network Operations Group at MIT. He and his colleagues manage the design, implementation, and operation of a TCP/IP and Appletalk network with over 25,000 hosts and 18,000 users. He was responsible for the design and implementation of MIT's dial-up PPP service, Tether. Mr. Murphy is also a co-manager of MIT's Desktop Products team.
rochlis_jon_a Jon Rochlis (M10) provides advice on networking, network security, distributed systems design and management, and electronic commerce to both large and small businesses. He has been a senior consultant with SystemExperts Corp., an engineering manager with BBN Planet, Director of the Cambridge Technology Center of OpenVision Technologies, and a technical supervisor for the Development Group of MIT's Distributed Computing and Network Services, the follow-on to Project Athena. Jon has also served on the NEARnet Technical Committee. He holds a B.S. in computer science and engineering from MIT.

?Need help? Use our Contacts page.
Last changed: 17 Apr 2001 becca
USENIX '01 Home
Events calendar