Books: A User's Report
Elizabeth Zinkann
This has been an exciting two months in the UNIX book
world. The new
Rainbow manuals for both the Intel and Motorola processors
are being
released, although not all of them have been published
yet. The manuals
are also on the shelves for System V Release 4.2. New
books have been
published on device drivers for SCO UNIX (Writing Device
Drivers
for SCO UNIX by Peter Kettle and Steve Statler) and
also for the
casual UNIX user. Choosing books to review was not easy,
but I finally
decided to read two books on UNIX security, an exceptional
book on
UNIX tools, and Stalling's new networking book.
UNIX Installation Security & Integrity
by David Ferbrache and Gavin Shearer
Prentice-Hall Inc.
ISBN 0-13-015389-3
This book primarily addresses the system administrator
or systems
programmer. Its audience also includes anyone whose
job functions
deal with system security. Ferbrache and Shearer first
provide a short
history of UNIX, describing the different UNIX systems
and when they
were developed, then turn to file system security. They
begin with
a definition of inodes, which they supplement with a
diagram of the
UNIX file system, a diagram demonstrating inode allocation,
and a
table listing inode fields. The authors reuse the inode
diagram later
in the chapter to help the reader visualize multiple
block allocation,
unlinked files, unlinked blocks, corrupt directory structures,
and
other inode concepts. In this chapter, Ferbrache and
Shearer also
discuss directory and file permissions and respective
safety precautions.
The second major subject of the book, integrity, is
defined as "preventing
the corruption or modification of data or programs"
-- for
UNIX, this is expanded to include redundancy, synchronization,
and
tracking. The authors examine different ways to back
up data, how
to construct a file system using mount, and consistency
checking
using fsck.
Account-level security, including login procedures and
the etc/passwd
file, is the first security implementation the authors
address. When
security is violated at this level, they note, the system
administrator
or security manager should be able to identify the perpetrator.
Also
presented in this chapter is a consideration of different
password
algorithms and data encryption techniques to protect
accounts.
The authors then logically progress to a discussion
of process security
and examine how the process privileges are controlled.
In addition
to the fork and exec system calls, Ferbrache and Shearer
explain the signal, trace, and setuid mechanisms.
They provide a comprehensive discussion of viruses and
Trojan horses,
then dissect the initialization of two different UNIX
versions to
identify the security problems that may be encountered
while installing
the system files.
Later chapters deal with network security, including
different types
of protocols, monitoring security, programming for secure
results,
trusted systems, hardware security support, and standardization.
The
book ends with a set of fourteen appendices, ranging
in subject from
the Internet Worm to a glossary to several security
packages and including
references and suggested reading.
UNIX Installation Security & Integrity is an excellent
addition
to the texts available for system administrators. The
authors not
only explain commands, but also describe how the commands
really work.
They identify possible loopholes and outline different
methods for
remedying problems before they occur. Though each section
begins by
presenting a simple concept and its purposes, each topic
is then covered
in depth.
Overall, this book will provide useful information to
anyone interested
in computer security.
UNIX Security
A Practical Tutorial
by N. Derek Arnold ITDC
McGraw-Hill, Inc.
ISBN 0-07-002560-6
Derek Arnold's book presents a straightforward approach
to different
aspects of UNIX system security. Each chapter consists
of an introduction,
objectives, the body of the chapter, plus review questions.
The first
chapter covers a range of topics -- from the history
of UNIX through
its present versions, including a discussion of the
the Trusted Computer
Base (TCB), to definitions of security and how to activate
a system
as well as proceed through the shutdown procedure. Arnold
chose a
familiar way to differentiate the potential transgressors
of security
from its protectors: the latter are the "good guys,"
the former,
the "bad guys."
Arnold's central thesis is that "a System Administrator
must realize
that knowledge is a more powerful tool than anything
else the bad
guys might possess" (page 11). The goal of the
book is to provide
that knowledge for the system administrator. To that
end, Arnold examines
how audit programs can help keep a system secure. He
describes the
etc/passwd file and its entries, analyzing each field
and the
security risks involved, then offers solutions for the
potential problems
in the etc/passwd file.
Special devices are a special problem -- they can be
used to bypass
standard UNIX security. Proper permissions are needed
to use anything
in the /dev directory, but some special devices are
privately
owned and located outside /dev. Arnold describes the
problems
these can cause for system security and presents possible
solutions.
A rather unique chapter, "Break-In Techniques,"
explores the
methods of the bad guys. Arnold postulates that in order
to find a
bad guy, you have to know how he operates. By thinking
like a bad
guy, the system administrator can detect where the system
may be vulnerable.
A chapter entitled "Viral Infection" defines
a virus and explains
how a virus attacks the operating system. The author
describes symptoms
that could indicate viral infection and includes ways
to prevent a
virus from infecting your system.
Another special problem has to do with repairing a program
for which
you don't have the source code. If left to its own devices,
the object
code could threaten the security of the entire system.
Arnold presents
maintenance procedures for patching object code through
pre-processors,
a string patch, the absolute debugger (adb), and the
symbolic
debugger (sdb).
Other topics include modem security, database security,
the updated
UUCP network security, and an overview of Local Area
Networks.
This book succeeds very well as a practical approach
to protecting
a UNIX system. Step by step, the author analyzes the
UNIX system,
points out its vulnerabilities, and suggests ways to
prevent invasion
by the bad guys. Two chapters I found particularly helpful
were chapter
A, a list of reference programs with instructions on
how to compile
them, and chapter B, the source code for the reference
programs. Moreover,
no system administrator should be without the information
in the chapter
"Break-In Techniques." One criticism: the
print, especially
for the table of contents, should have been easier to
read. However,
that does not effect the quality of the book, which
is excellent,
nor Arnold's writing style, which is clear and easy
to understand.
UNIX Power Tools
by Jerry Peek, Tim O'Reilly, Mike Loukides,
and other contributors
O'Reilly & Associates/Bantam
CD-ROM Included
ISBN 0-553-035402-7
UNIX has, historically, been a difficult system to master,
in part
because most of the tips and tricks that make the system
pliable have
been available only through the Internet. As a result,
UNIX users
have often had to learn the hard way, with little help
or guidance
from easily found resources. UNIX Power Tools puts an
end to
the mystery: the experienced UNIX programmer is likely
to look at
this book and wonder where it has been and why it took
so long.
UNIX Power Tools was not designed to be read from cover
to
cover beginning with page one; instead, it is organized
so that it
can be referenced easily. The topics are detailed, brief,
and cover
exactly what was promised. Where a subject intertwines
with other
concepts, the separate discussions are cross-referenced,
with the
name shown in blue italics and followed by the section
where it is
more thoroughly explained, such as "expr[47.20]."
At the beginning of the book, following a well-organized
table of
contents, are two pages of instructions for using UNIX
Power Tools.
The book also contains a glossary and a detailed index.
Icons warn
of possible problems along the way, and also identify
what is on the
CD-ROM.
Many of the topics included here are not often seen
in print. For
example, on page 1,000, section 52.08 recounts how to
read a permuted
index, complete with a small sample. Facing this information
is an
entry entitled "Make Your Own Man Pages without
Learning troff."
Each selection is followed by its author's initials.
The shrink-wrapped CD-ROM that accompanies the book
includes such
tools as Perl, GNU Emacs, and every shell, perl, awk,
and sed script referenced in the book, and a section
in the
book documents every tool included and its purpose.
The book also
describes how to install the CD-ROM and what to do if
you have a problem.
In addition to the precompiled versions for the most
popular UNIX
platforms, C source code is included for unsupported
platforms. (For
those UNIX users without a CD-ROM, Ready-To-Run Software
Inc. has
provided an order form so that you can obtain the software
on alternate
media, including floppies, QIC, 8mm, 4mm, or DEC TK50
tape cartridges.)
The real challenge confronting the user of this book
is to put it
down. I tried several times to open it at random and
read only one
article. However, either the previous or the following
page would
entice me to peruse more than I had planned. The writing
style is
crisp, clear, and easy to understand. Considering the
number of contributors,
I was surprised at the uniformity of style and quality
throughout
the book: it read as if there had only been one author.
UNIX Power
Tools has implemented a new type of UNIX text and explains
some
things in print for the first time. It is an exceptional
book, and
one that every UNIX user, programmer, and system administrator
should
own and use often.
Networking Standards
A Guide to OSI, ISDN, LAN and MAN Standards
by William Stallings
Addison-Wesley Publishing Company, Inc.
ISBN 0-201-56357-6
In this latest addition to the networking selections,
Stallings first
examines the definition of a standard. He analyzes the
importance
of standards, the varied types of standards, and different
standards
organizations. The rest of the book addresses five major
concepts
in five sections: the "Open Systems Interconnection"
(OSI),
the "Integrated Services Digital Network"
(ISDN), "Local
and Metropolitan Area Networks" (LANS and MANS),
"Network
Management and Security," and "OSI Implementation."
Each
section is prefaced by a summary of its contents and
a brief overview
of what each chapter within the division contains. Each
chapter concludes
with a brief summary.
Stallings describes several concepts that are already
well-known,
but are not very well documented. For example, in the
chapter on internetworking,
he covers routing from two different perspectives, end-to-intermediate
system routing and intermediate-to-intermediate system
routing. In
the ISDN division, he gives a good explanation of frame
relay. Stallings
also presents a chapter on the fiber distributed data
interface (FDDI)
and discusses both FDDI-I, the original specification,
and FDDI-II.
FDDI-I uses a packet mode data transfer service, while
FDDI-II uses
both a packet mode and isochronous data transfer.
The order of this book is logical and the diagrams are
plentiful and
clear. The insides of both covers and their facing pages
provide a
useful list of acronyms. Stallings attempts to present
difficult concepts
in a well-defined, forthright manner and he succeeds.
The result is
a text carefully constructed for readability and suitable
for a wide
audience, ranging from students and designers to customers
and managers.
Anyone interested in networking and, in particular,
OSI, ISDN, LAN,
and MAN, will find this book to be a worthwhile addition
to their
library.
About the Author
Elizabeth Zinkann has been involved in the UNIX and
C environments for the past
10 years. She is currently a UNIX and C consultant,
and one of her specialities
is UNIX education. In addition to her computer science
background, she also has a
degree in English.
|