LINUX NETWORKING AND SYSTEM ADMINISTRATION
CONTENTS PART I RED HAT LINUX SYSTEM AND NETWORK ADMINISTRATION DEFINED CHAPTER DUTIES OF THE SYSTEM ADMINISTRATOR THE LINUX SYSTEM ADMINISTRATOR INSTALLING AND CONFIGURING SERVERS INSTALLING AND CONFIGURING APPLICATION SOFTWARE CREATING AND MAINTAINING USER ACCOUNTS BACKING UP AND RESTORING FILES MONITORING AND TUNING PERFORMANCE CONFIGURING A SECURE SYSTEM USING TOOLS TO MONITOR SECURITY SUMMARY CHAPTER PLANNING THE NETWORK DECIDING WHAT KIND OF NETWORK YOU NEED UNDERSTANDING TOPOLOGIES CLIENT/SERVER OR PEER-TO-PEER? WHAT’S IN THE MIX? DETERMINING SYSTEM REQUIREMENTS PLANNING AND IMPLEMENTING SECURITY ADDRESSING EXTERNAL AND INTERNAL THREATS FORMULATING A SECURITY POLICY PLANNING FOR RECOVERY FROM DISASTERS WRITE IT DOWN — GOOD RECORDS CAN SAVE YOUR JOB INSTALLING RED HAT LINUX EXPLORING YOUR PC’S COMPONENTS PROCESSOR BUS MEMORY VIDEO CARD AND MONITOR HARD DRIVE FLOPPY DISK DRIVE KEYBOARD AND MOUSE SCSI CONTROLLER CD-ROM DRIVE SOUND CARD NETWORK CARD CHECKING FOR SUPPORTED HARDWARE CREATING THE RED HAT BOOT DISK STARTING THE RED HAT LINUX INSTALLATION PARTITIONING THE HARD DISK FOR RED HAT LINUX NAMING DISKS AND DEVICES MOUNTING A FILE SYSTEM ON A DEVICE UNDERSTANDING THE SWAP PARTITION PREPARING DISK PARTITIONS FOR RED HAT LINUX CONFIGURING RED HAT LINUX INSTALLATION INSTALLING THE BOOT LOADER CONFIGURING THE NETWORK SETTING THE TIME ZONE SETTING THE ROOT PASSWORD AND ADD USER ACCOUNTS CONFIGURING PASSWORD AUTHENTICATION SELECTING THE PACKAGE GROUPS TO INSTALL COMPLETING THE INSTALLATION USING KICKSTART KICKSTART COMMANDS AUTH — AUTHENTICATION OPTIONS BOOTLOADER CLEARPART DEVICE --OPTS DRIVERDISK FIREWALL INSTALL INSTALLATION METHODS INTERACTIVE KEYBOARD LANGUAGE LILO LILOCHECK MOUSE NETWORK PARTITION RAID REBOOT ROOTPW SKIPX TIMEZONE UPGRADE XCONFIG ZEROMBR — PARTITION TABLE INITIALIZATION %PACKAGES — PACKAGE SELECTION %PRE — PRE-INSTALLATION CONFIGURATION SECTION %POST — POST-INSTALLATION CONFIGURATION SECTION STARTING A KICKSTART INSTALLATION RED HAT LINUX FILE SYSTEM UNDERSTANDING THE RED HAT LINUX FILE SYSTEM STRUCTURE THE / DIRECTORY USING FILE SYSTEM COMMANDS CHOWN CHGRP CHMOD CHATTR SYMLINKS STAT LSOF MKNOD MACUTIL WORKING WITH LINUX—SUPPORTED FILE SYSTEMS STANDARD DISK FILE SYSTEMS NONSTANDARD LINUX FILE SYSTEMS MEMORY FILE SYSTEMS AND VIRTUAL FILE SYSTEMS LINUX DISK MANAGEMENT PARTITIONING AN X86 MACHINE MOUNTING OTHER OS PARTITIONS/SLICES METADEVICES RED HAT SYSTEM CONFIGURATION FILES EXAMINING THE SYSTEM CONFIGURATION FILES SYSTEMWIDE SHELL CONFIGURATION SCRIPTS SYSTEM ENVIRONMENTAL SETTINGS SYSTEM CONFIGURATION FILES IN THE /ETC/SYSCONFIG DIRECTORY EXAMINING THE NETWORK CONFIGURATION FILES FILES TO CHANGE WHEN SETTING UP A SYSTEM OR MOVING THE SYSTEM STARTING UP NETWORK SERVICES FROM XINETD STARTING UP NETWORK SERVICES FROM THE RC SCRIPTS OTHER IMPORTANT NETWORK CONFIGURATION FILES IN THE /ETC/SYSCONFIG DIRECTORY NETWORK CONFIGURATION FILES IN /ETC/SYSCONFIG/NETWORK-SCRIPTS MANAGING THE INIT SCRIPTS MANAGING RC SCRIPTS BY HAND MANAGING RC SCRIPTS USING CHKCONFIG PART II RED HAT LINUX NETWORK SERVICES CHAPTER TCP/IP NETWORKING TCP/IP EXPLAINED UNDERSTANDING NETWORK CLASSES SETTING UP A NETWORK INTERFACE CARD (NIC) CONFIGURING THE NETWORK CARD CONFIGURING AN INTERNAL NETWORK UNDERSTANDING SUBNETTING INTERPRETING IP NUMBERS BEFORE YOU SUBNET YOUR NETWORK CLASSLESS INTERDOMAIN ROUTING (CIDR) GATEWAYS AND ROUTERS CONFIGURING DYNAMIC HOST CONFIGURATION PROTOCOL (DHCP) SETTING UP THE SERVER CONFIGURING THE CLIENT CONFIGURING A POINT-TO-POINT PROTOCOL (PPP) CONNECTION CONFIGURING A PPP SERVER CHAP SECURITY CONFIGURING A PPP CLIENT SETTING UP A PPP CONNECTION CONFIGURING IP MASQUERADING THE NETWORK FILE SYSTEM NFS OVERVIEW UNDERSTANDING NFS NFS ADVANTAGES NFS DISADVANTAGES CONFIGURING AN NFS SERVER OVERVIEW OF SERVER CONFIGURATION DESIGNING AN NFS SERVER KEY FILES, COMMANDS, AND DAEMONS EXAMPLE NFS SERVER CONFIGURING AN NFS CLIENT OVERVIEW OF CLIENT CONFIGURATION KEY FILES AND COMMANDS EXAMPLE NFS CLIENT TUNING NFS TROUBLESHOOTING NFS EXAMINING NFS SECURITY GENERAL NFS SECURITY ISSUES SERVER SECURITY CONSIDERATIONS CLIENT SECURITY CONSIDERATIONS THE NETWORK INFORMATION SYSTEM UNDERSTANDING NIS CONFIGURING AN NIS SERVER SETTING THE NIS DOMAIN NAME CONFIGURING AND STARTING THE SERVER DAEMON INITIALIZING THE NIS MAPS STARTING THE NIS PASSWORD DAEMON STARTING THE SERVER TRANSFER DAEMON STARTING THE NIS SERVERS AT BOOT TIME CONFIGURING AN EXAMPLE NIS SERVER CONFIGURING AN NIS CLIENT CONFIGURING AND STARTING THE CLIENT DAEMON CONFIGURING THE CLIENT STARTUP FILES KEY NIS CLIENT FILES AND COMMANDS TESTING YOUR NIS CONFIGURATION CONFIGURING AN EXAMPLE NIS CLIENT STRENGTHENING NIS SECURITY CONNECTING TO MICROSOFT NETWORKS INSTALLING SAMBA CONFIGURING THE SAMBA SERVER [GLOBAL] [HOMES] [PRINTERS] [NANCY] USING SWAT CONFIGURING THE SAMBA CLIENT USING A WINDOWS PRINTER FROM THE LINUX COMPUTER TESTING THE SAMBA SERVER CONNECTING TO APPLE NETWORKS UNDERSTANDING APPLETALK APPLETALK ADDRESSING APPLE ZONES INSTALLING THE APPLETALK SOFTWARE THE APPLETALK DDP KERNEL MODULE INSTALLING NETATALK CONFIGURING /ETC/SERVICES CONFIGURING NETATALK CONFIGURING THE DAEMONS CONFIGURING ATALKD CONFIGURING APPLETALK INTERFACES ADDITIONAL CONFIGURATION CONFIGURING APPLETALK FILE SHARING SETTING UP AFP ACCOUNTS CONFIGURING AFS TO WORK WITH APPLETALK CONFIGURING APPLETALK PRINTER SHARING CONFIGURING RED HAT AS AN APPLETALK CLIENT ACCESSING APPLE PRINTERS FINDING THE PRINTER’S ZONE PART III RED HAT LINUX INTERNET SERVICES CHAPTER WHAT ARE INTERNET SERVICES? SECURE SERVICES SSH SCP SFTP LESS SECURE SERVICES TELNET FTP RSYNC RSH RLOGIN FINGER TALK AND NTALK USING YOUR LINUX MACHINE AS A SERVER HTTP SSHD FTPD DNS THE INETD SERVER XINETD INETD AND XINETD VS STAND-ALONE INETD- OR XINETD-STARTED SERVICES STAND-ALONE SERVICES LINUX FIREWALL PACKAGES TCP-WRAPPERS IPCHAINS THE DOMAIN NAME SYSTEM UNDERSTANDING DNS INSTALLING THE SOFTWARE UNDERSTANDING TYPES OF DOMAIN SERVERS EXAMINING SERVER CONFIGURATION FILES THE NAMED CONF FILE OPTIONS THE NAMED CA FILE THE NAMED LOCAL FILE ZONE FILES THE REVERSE ZONE FILE CONFIGURING A CACHING SERVER CONFIGURING A SLAVE SERVER CONFIGURING A MASTER SERVER USING DNS TOOLS CONFIGURING FTP SERVICES WHAT FTP SOFTWARE IS AVAILABLE? RED HAT LINUX’S CHOICE: WU-FTPD ALTERNATIVE FTP SERVERS INSTALLING WU-FTPD INSTALLING THE BINARY RPM INSTALLING AND BUILDING THE SOURCE RPM INSTALLING AND BUILDING THE SOURCE DISTRIBUTION INSTALLING THE ANONFTP PACKAGE CONFIGURING THE SERVER CONFIGURING USER AND HOST ACCESS CONFIGURING FTPD THE ENHANCED /ETC/FTPACCESS FILE ADMINISTERING WU-FTPD WITH KWUFTPD MAINTAINING THE SERVER STRENGTHENING FTP SECURITY UNDERSTANDING AND MITIGATING THE RISKS RECONFIGURING THE SYSTEM LOG MONITORING THE SERVER CONFIGURING MAIL SERVICES E-MAIL EXPLAINED MAIL USER AGENT (MUA) MAIL TRANSFER AGENT (MTA) LOCAL DELIVERY AGENT (LDA) INTRODUCING SMTP UNDERSTANDING POP3 UNDERSTANDING IMAP4 CONFIGURING SENDMAIL CHECKING THAT SENDMAIL IS INSTALLED AND RUNNING THE M4 MACRO PROCESSOR UNDERSTANDING AND MANAGING THE MAIL QUEUE CONFIGURING POP3 CONFIGURING IMAP4 SETTING UP ALIASES TO MAKE LIFE EASIER USING OTHER FILES AND COMMANDS WITH SENDMAIL CONFIGURING THE E-MAIL CLIENT CONFIGURING NETSCAPE MESSENGER FILLING OUT THE MESSENGER FORMS USING NETSCAPE MESSENGER SENDING E-MAIL FROM THE COMMAND LINE READING MAIL WITH MAIL USING ELM CREATING MAIL ALIASES IN ELM USING PINE WORKING WITH PINE ATTACHMENTS MAINTAINING E-MAIL SECURITY PROTECTING AGAINST EAVESDROPPING USING ENCRYPTION USING A FIREWALL DON’T GET BOMBED, SPAMMED, OR SPOOFED BE CAREFUL WITH SMTP USING NEWSGROUPS CONFIGURING THE NNTP SERVER READING NEWSGROUPS IN PINE CONFIGURING NETSCAPE FOR NEWS CONFIGURING A WEB SERVER INTRODUCING APACHE A SHORT HISTORY OF APACHE APACHE FEATURES FINDING MORE INFORMATION ABOUT APACHE HOW WEB SERVERS WORK INSTALLING APACHE INSTALLING THE BINARY RPMS INSTALLING AND BUILDING THE SOURCE RPMS ADDITIONAL PACKAGES TO INSTALL CONFIGURING APACHE APACHE’S STARTUP PROCESS CONFIGURING GLOBAL APACHE BEHAVIOR CONFIGURING THE DEFAULT SERVER CONFIGURING VIRTUAL SERVERS CONFIGURING APACHE FOR SSI ENABLING SSI TESTING THE CONFIGURATION CGI SCRIPTS CREATING A SECURE SERVER WITH SSL GENERATING THE ENCRYPTION KEY GENERATING A SELF-SIGNED CERTIFICATE TESTING THE SELF-SIGNED CERTIFICATE PART IV RED HAT LINUX SYSTEM MAINTENANCE CHAPTER USING THE RED HAT NETWORK REGISTERING YOUR SYSTEM CONFIGURING THE RED HAT UPDATE AGENT USING THE RED HAT UPDATE AGENT USING THE RED HAT NETWORK VIA THE INTERNET RED HAT NETWORK MAIN PAGE TAB YOUR NETWORK PAGE TAB SEARCH ERRATA ALERTS TAB PREFERENCES TAB HELP DESK TAB UPGRADING AND CUSTOMIZING THE KERNEL SHOULD YOU UPGRADE TO A NEW KERNEL? UPGRADING VERSUS CUSTOMIZING CHECKING YOUR CURRENT KERNEL VERSION BUILDING A NEW KERNEL OBTAINING THE LATEST KERNEL VERSION PATCHING THE KERNEL CUSTOMIZING THE KERNEL COMPILING AND INSTALLING THE NEW KERNEL CONFIGURING GRUB BOOTING THE CUSTOM KERNEL CONFIGURING THE SYSTEM ON THE COMMAND LINE ADMINISTERING A SYSTEM AT THE COMMAND LINE ADMINISTERING USERS AND GROUPS WORKING WITH USER ACCOUNTS WORKING WITH GROUP ACCOUNTS MODIFYING MULTIPLE ACCOUNTS SIMULTANEOUSLY VIEWING LOGIN AND PROCESS INFORMATION MANAGING THE FILE SYSTEM CREATING AND MAINTAINING FILE SYSTEMS WORKING WITH FILES AND DIRECTORIES MANAGING DISK SPACE USAGE ADMINISTERING PROCESSES OBTAINING PROCESS INFORMATION TERMINATING PROCESSES MODIFYING PROCESS PRIORITIES TRACKING AND CONTROLLING SYSTEM USAGE MAINTAINING THE DATE AND TIME CREATING AND RESTORING BACKUPS USING SCRIPTS TO AUTOMATE TASKS UNDERSTANDING BASH PROGRAMMING WILDCARDS AND SPECIAL CHARACTERS USING VARIABLES BASH OPERATORS FLOW CONTROL SHELL FUNCTIONS PROCESSING INPUT AND OUTPUT WORKING WITH COMMAND LINE ARGUMENTS USING PROCESSES AND JOB CONTROL CREATING BACKUPS AUTOMATING SCRIPTS USING AT FOR ONE-SHOT JOBS USING CRON FOR REGULARLY SCHEDULED JOBS WRITING, TESTING, AND DEBUGGING SCRIPTS SELECTING A SCRIPTING LANGUAGE PERFORMANCE MONITORING DIAGNOSING PERFORMANCE PROBLEMS OVERALL SYSTEM STATUS MONITORING RUNNING PROCESSES MONITORING MEMORY UTILIZATION MONITORING DISK USAGE AND PERFORMANCE TRACKING CPU USAGE MONITORING NETWORK TRAFFIC UNDERSTANDING THE ROOT ACCOUNT IMPLEMENTING SUDO DECIPHERING SUDO’S CONFIGURATION FILE SUDO CONFIGURATION AND USAGE TIPS WORKING WITH USERS AND GROUPS UNDERSTANDING USER PRIVATE GROUPS ADDING, MODIFYING, AND DELETING USERS ADDING, MODIFYING, AND DELETING GROUPS USING THE RED HAT USER MANAGER USING FILE SYSTEM QUOTAS PREPARING THE SYSTEM FOR QUOTAS CREATING THE QUOTA FILES ENABLING QUOTAS SETTING AND MODIFYING QUOTAS REVIEWING QUOTA UTILIZATION BACKING UP AND RESTORING THE FILE SYSTEM WHAT SHOULD BE BACKED UP? CHOOSING MEDIA FOR BACKUPS UNDERSTANDING BACKUP METHODS USING BACKUP TOOLS COMMAND LINE TOOLS ADVANCED TOOLS INSTALLING AND UPGRADING SOFTWARE PACKAGES USING THE RED HAT PACKAGE MANAGER GENERAL OPTIONS QUERY MODE PACKAGE INSTALLATION AND REMOVAL VERIFYING RPMS BUILDING RPMS RPM ADMINISTRATIVE COMMANDS CHECKING SOFTWARE VERSIONS OBTAINING NEWER SOFTWARE USING RPMFIND ORG USING FRESHMEAT USING IBIBLIO ORG USING GNOME-RPM ADDITIONAL SOFTWARE REPOSITORIES INSTALLING SOFTWARE INSTALLING SOFTWARE FROM SOURCE BUILDING AND INSTALLING SOURCE RPMS USING RPM WITH SOURCE TARBALLS PART V SECURITY AND PROBLEM SOLVING CHAPTER SECURITY BASICS INTRODUCING BASIC SECURITY CONCEPTS SECURITY AS LOSS PREVENTION SECURITY: A DISTRIBUTED VENTURE THE FUNDAMENTAL MINDSET: SHADES OF GREY UNDERSTANDING THE ENEMY DEVELOPING A SECURITY POLICY BEWARE THE SECURITY ASSERTIONS PLOY CREATING THE POLICY: A FIRST ITERATION THE POLICY ITSELF RECOVERY PLANS SOCIAL ENGINEERING FINDING SECURITY-RELATED RESOURCES WEB SITES RECOMMENDED READING LINKS IMPLEMENTING LOCAL SECURITY EXPLORING THE NATURE OF PHYSICAL SECURITY BUILDING CONSTRUCTION BOOT SECURITY MAINTAINING USER AND PASSWORD SECURITY PASSWORDS: THEORY AND PRACTICE THOSE PESKY USERS CHECKING LOGS SECURING FILE INTEGRITY USING TRIPWIRE NOT FOR EVERYBODY, OR EVERY COMPUTER SETTING UP TRIPWIRE FINE-TUNING TRIPWIRE FIREWALLS AND INTERNET SECURITY LIMITING NETWORK SERVICES WHAT SERVICES ARE RUNNING? STOPPING RUNNING SERVICES MONITORING NETWORK TRAFFIC A FIREWALL PRIMER FIREWALL POLICY BASIC LAYOUT DESIGNING THE FIREWALL DETECTING INTRUSIONS UNDERSTANDING HOST-BASED INTRUSION DETECTION SOFTWARE INSTALLING TRIPWIRE CONFIGURING TRIPWIRE RUNNING TRIPWIRE DETECTING INTRUSIONS USING TRIPWIRE ADDITIONAL TRIPWIRE RESOURCES USING LOGWATCH DETECTING INTRUSIONS WITH IPCHAINS DETECTING INTRUSIONS WITH IPTABLES TROUBLESHOOTING AND PROBLEM SOLVING SOLVING INSTALLATION PROBLEMS UNABLE TO LOG IN AFTER INSTALLATION INSTALLING STAR OFFICE HARDWARE-RELATED INSTALLATION PROBLEMS SOLVING FILE SYSTEM PROBLEMS CANNOT DELETE A FILE COMMANDS WITH MULTI-WORD ARGUMENTS ACCESSING WINDOWS FILE SYSTEMS WORKING WITH FLOPPY DISKS CANNOT MOUNT A PARTITION AVOIDING FILE SYSTEM CHECKS AT EACH SYSTEM REBOOT GETTING A ZIP DRIVE TO WORK SOLVING NETWORKING PROBLEMS GETTING ONLINE WITH A MODEM WHAT TO DO WHEN THE BOOT PROCESS HANGS USING TWO ETHERNET CARDS SOLVING BOOT PROBLEMS SOLVING MISCELLANEOUS PROBLEMS GETTING SOUND TO WORK USING SCREENSAVERS AND POWER MANAGEMENT STARTING THE X WINDOW SYSTEM