Table of Contents for
Linux Essentials for Cybersecurity, First Edition

Version ebook / Retour

Cover image for bash Cookbook, 2nd Edition Linux Essentials for Cybersecurity, First Edition by William Rothwell Published by Pearson IT Certification, 2018
  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Contents at a Glance
  5. Table of Contents
  6. About the Author
  7. Dedication
  8. Acknowledgments
  9. About the Technical Reviewers
  10. We Want to Hear from You!
  11. Reader Services
  12. Introduction
  13. Part I: Introducing Linux
  14. Chapter 1: Distributions and Key Components
  15. Chapter 2: Working on the Command Line
  16. Chapter 3: Getting Help
  17. Chapter 4: Editing Files
  18. Chapter 5: When Things Go Wrong
  19. Part II: User and Group Accounts
  20. Chapter 6: Managing Group Accounts
  21. Chapter 7: Managing User Accounts
  22. Chapter 8: Develop an Account Security Policy
  23. Part III: File and Data Storage
  24. Chapter 9: File Permissions
  25. Chapter 10: Manage Local Storage: Essentials
  26. Chapter 11: Manage Local Storage: Advanced Features
  27. Chapter 12: Manage Network Storage
  28. Chapter 13: Develop a Storage Security Policy
  29. Part IV: Automation
  30. Chapter 14: Crontab and At
  31. Chapter 15: Scripting
  32. Chapter 16: Common Automation Tasks
  33. Chapter 17: Develop an Automation Security Policy
  34. Part V: Networking
  35. Chapter 18: Networking Basics
  36. Chapter 19: Network Configuration
  37. Chapter 20: Network Service Configuration: Essential Services
  38. Chapter 21: Network Service Configuration: Web Services
  39. Chapter 22: Connecting to Remote Systems
  40. Chapter 23: Develop a Network Security Policy
  41. Part VI: Process and Log Administration
  42. Chapter 24: Process Control
  43. Chapter 25: System Logging
  44. Part VII: Software Management
  45. Chapter 26: Red Hat–Based Software Management
  46. Chapter 27: Debian-Based Software Management
  47. Chapter 28: System Booting
  48. Chapter 29: Develop a Software Management Security Policy
  49. Part VIII: Security Tasks
  50. Chapter 30: Footprinting
  51. Chapter 31: Firewalls
  52. Chapter 32: Intrusion Detection
  53. Chapter 33: Additional Security Tasks
  54. Appendix A: Answers to Review Questions
  55. Appendix B: Resource Guide
  56. Glossary

Appendix B Resource Guide

Resources by Chapter

Part I: Introducing Linux

Chapter 1: Distributions and Key Components

•     Distro Watch (www.distrowatch.com) Reviews Linux distributions, keeps track of which distros are popular, and provides links to distribution web sites.

•     What is Linux? (https://www.linux.com/what-is-linux) A tutorial that provides useful information about the components that make up the Linux OS.

•     Techradar Pro (https://www.techradar.com/news/best-linux-distro) Evaluation of several distributions to aid in user selection.

•     Linux.com (https://www.linux.com/blog/learn/intro-to-linux/2018/1/best-linux-distributions-2018) Identifies the “best” Linux distributions for 2018.

•     Penguin Tutor (http://www.penguintutor.com/linux/basic-shell-reference) Linux basic shell reference guide.

Chapter 2: Working on the Command Line

•     FOSSBYTES (https://fossbytes.com/a-z-list-linux-command-line-reference/) A huge list of Linux commands with a brief summary of each command.

•     Regular Expressions Tutorial (https://www.regular-expressions.info/tutorial.html) A tutorial for regular expressions.

•     RegExr (https://regexr.com/) A regular expression testing tool.

•     Regex Crossword (https://regexcrossword.com/) A regular expression game.

Chapter 3: Getting Help

•     die.net (https://linux.die.net/man/) Linux man pages available online. Sometimes easier to search for or filter the command help you are searching for.

•     The Linux Documentation Project (https://www.tldp.org/) A variety of Linux documents, how-to’s, and guides. Although some of these guides are out of date, there are some very good resources as well. The “Advanced Bash-Scripting Guide” is a great reference.

•     Linux Forums (http://www.linuxforums.org) A place where you can ask questions and experienced Linux users will provide answers.

•     GNU Software Foundation (https://www.gnu.org/software/gzip/manual/gzip.html) An excellent user guide for GNU software.

•     How-To Geek (https://www.howtogeek.com/108890/how-to-get-help-with-a-command-from-the-linux-terminal-8-tricks-for-beginners-pros-alike/) Tips for beginners and pros to find help with the Linux terminal.

•     Computer Hope (https://www.computerhope.com/unix/uhelp.htm) Linux help command in depth.

•     Linux.com (https://www.linux.com/learn/intro-to-linux/2017/10/3-tools-help-you-remember-linux-commands) Three tools to help you remember Linux commands.

Chapter 4: Editing Files

•     The vi Lovers Home Page (http://thomer.com/vi/vi.html) A source for vi and vim manuals, tutorials and cheat sheets.

•     Vi Reference Card (https://pangea.stanford.edu/computing/unix/editing/viquickref.pdf) A printable reference card for using vi editor.

•     Glaciated (http://glaciated.org/vi/) A no-frills reference to the commands in vi.

•     GNU Emacs Manuals Online (https://www.gnu.org/software/emacs/manual/) A series of emacs user guides.

•     gedit Text Editor (https://help.gnome.org/users/gedit/stable/) Documentation for the gedit editor.

•     The KWrite Handbook (https://docs.kde.org/trunk5/en/applications/kwrite/index.html) Documentation for the kwrite editor.

•     Joe’s Own Editor (https://joe-editor.sourceforge.io/4.5/man.html) The primary site for the joe editor.

Chapter 5: When Things Go Wrong

•     Bugzilla (www.bugzilla.org) A site that is used to track issues or problems on your systems.

Part II: User and Group Accounts

Chapter 6: Managing Group Accounts

•     Arch Linux (Users and Groups; https://wiki.archlinux.org/index.php/users_and_groups) A good overview of Linux users and groups.

•     linode (Linux Users and Groups; https://www.linode.com/docs/tools-reference/linux-users-and-groups/) A good article that covers accounts and basic permissions.

•     User Private Groups (https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Reference_Guide/s1-users-groups-private-groups.html) A discussion about user private groups (UPGs).

•     YoLinux (http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html) Managing group access.

Chapter 7: Managing User Account

•     Arch Linux (Users and Groups; https://wiki.archlinux.org/index.php/users_and_groups) A good overview of Linux users and groups.

•     linode (Linux Users and Groups; https://www.linode.com/docs/tools-reference/linux-users-and-groups/) A good article that covers accounts and basic permissions.

•     The Linux-PAM Guides (http://www.linux-pam.org/Linux-PAM-html/) Documentation for Pluggable Authentication Modules.

•     YoLinux (http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html) Managing group access.

Chapter 8: Develop an Account Security Policy

•     Ubuntu (User Management; https://help.ubuntu.com/lts/serverguide/user-management.html) Contains some essential security considerations for user and group accounts.

•     UpCloud (Managing Linux User Account Security; https://www.upcloud.com/support/managing-linux-user-account-security/) A good tutorial that includes some key security policies and features.

•     Sans.org (https://www.sans.org/reading-room/whitepapers/policyissues/preparation-guide-information-security-policies-503) A preparation guide to information security policies.

Part III: File and Data Storage

Chapter 9: File Permissions

•     Archlinux (File permissions and attributes; https://wiki.archlinux.org/index.php/File_permissions_and_attributes) A good overview of Linux permissions.

•     SELinux (https://wiki.centos.org/HowTos/SELinux) A how-to guide on SELinux.

Chapter 10: Manage Local Storage: Essentials

•     Archlinux (File systems; https://wiki.archlinux.org/index.php/file_systems) A good overview of Linux file systems.

•     Archlinux (Partitioning; https://wiki.archlinux.org/index.php/partitioning) A guide on Linux partitions.

•     An Introduction to Storage Terminology and Concepts in Linux (https://www.digitalocean.com/community/tutorials/an-introduction-to-storage-terminology-and-concepts-in-linux) Article on Linux storage devices.

•     An introduction to Linux filesystems (https://opensource.com/life/16/10/introduction-linux-filesystems) An article on Linux filesystems.

•     Learn IT Guide (http://www.learnitguide.net/2016/05/disk-management-in-linux-basic-concepts.html) Disk management in Linux; understanding basic concepts.

Chapter 11: Manage Local Storage: Advanced Features

•     How to Add a New Disk to an Existing Linux Server (https://www.tecmint.com/add-new-disk-to-an-existing-linux/) A quick step-by-step guide.

•     A Beginner’s Guide to LVM (https://www.howtoforge.com/linux_lvm) A quick guide to logical volume management.

•     Funtoo (https://www.funtoo.org/Learning_Linux_LVM,_Part_1) Learning Linux logical volume management.

Chapter 12: Manage Network Storage

•     Samba Documentation (https://www.samba.org/samba/docs/) The main website for Samba documentation.

•     Network File System (NFS; https://help.ubuntu.com/lts/serverguide/network-file-system.html) User guide for NFS on Ubuntu.

•     iSCSI Storage: A Beginner’s Guide (http://blog.open-e.com/iscsi-storage-a-beginners-guide/) A good overview of iSCSI.

•     FreeNAS (http://www.freenas.org/) Download and documentation.

Chapter 13: Develop a Storage Security Policy

•     Linux Backup Types and Tools Explored (https://blog.storagecraft.com/linux-backup-types-tools-explored/) Describes different backup types and available tools.

•     Sans.org (https://www.sans.org/reading-room/whitepapers/policyissues/preparation-guide-information-security-policies-503) A preparation guide to information security policies.

Part IV: Automation

Chapter 14: Crontab and At

•     Linux Cron Guide (https://linuxconfig.org/linux-cron-guide) A guide for using and administering cron.

•     CronHowto (https://help.ubuntu.com/community/CronHowto) A how-to guide for cron on Ubuntu.

•     Admin’s Choice (http://www.adminschoice.com/crontab-quick-reference) Crontab quick reference.

•     Computer Hope (https://www.computerhope.com/unix/ucrontab.htm) Linux crontab command.

Chapter 15: Scripting

•     Advanced Bash-Scripting Guide (http://tldp.org/LDP/abs/html/) A great guide for scripting.

•     Linux Command (http://linuxcommand.org/lc3_resources.php) A collection of tools, tips, and templates for BASH shell scripts.

•     TechMint (https://www.tecmint.com/command-line-tools-to-monitor-linux-performance/) Twenty command-line tools to monitor Linux performance.

•     Make Tech Easier (https://www.maketecheasier.com/online-resources-for-learning-the-command-line/) A collection of online resources for learning the command line.

Chapter 16: Common Automation Tasks

•     Singer’sScripts (ftp://ftp.cs.duke.edu/pub/des/scripts/INDEX.html) A collection of useful scripts.

•     John Chambers’ directory of useful tools (http://trillian.mit.edu/~jc/sh/) A collection of useful scripts.

•     Cameron Simpson’s Scripts (https://cskk.ezoshosting.com/cs/css/) A collection of useful scripts.

•     Carlos J. G. Duarte’s Scripts (http://cgd.sdf-eu.org/a_scripts.html) A collection of useful scripts.

•     Linux Academy (https://linuxacademy.com/howtoguides/posts/show/topic/14343-automating-common-tasks-with-scripts) Automating common tasks with scripts.

•     Tec Mint (https://www.tecmint.com/using-shell-script-to-automate-linux-system-maintenance-tasks/) Using shell scripts to automate Linux system maintenance.

Chapter 17: Develop an Automation Security Policy

•     Google’s Shell Style Guide (https://google.github.io/styleguide/shell.xml) A good guide to show you how to style your scripts.

•     Sans.org (https://www.sans.org/reading-room/whitepapers/policyissues/preparation-guide-information-security-policies-503) A preparation guide to information security policies.

Part V: Networking

Chapter 18: Networking Basics

•     Request For Comments (https://www.rfc-editor.org) Description of RFCs.

•     Subnet calculator (https://www.adminsub.net/ipv4-subnet-calculator) A subnet calculator.

•     The Internet Protocol Stack (https://www.w3.org/People/Frystyk/thesis/TcpIp.html) A description of the primary protocols.

•     Commotion (https://commotionwireless.net/docs/cck/networking/learn-networking-basics/) Learning network basics.

Chapter 19: Network Configuration

•     Network setup (https://www.debian.org/doc/manuals/debian-reference/ch05) A guide for setting up networking on Debian-based systems.

•     Configure IP Networking (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-configure_ip_networking) A guide for setting up networking on Red Hat–based systems.

•     Open Source (https://opensource.com/life/16/6/how-configure-networking-linux) How to configure networking in Linux.

Chapter 20: Network Service Configuration: Essential Services

•     The BIND 9 Administrator Reference Manuals (https://www.isc.org/downloads/bind/doc/) The main website for BIND documentation.

•     Postfix Documentation (http://www.postfix.org/documentation.html) The main website for Postfix documentation.

•     Procmail Documentation Project (http://pm-doc.sourceforge.net/) Provides links to Procmail documentation.

•     Dovecot Documentation (https://www.dovecot.org/documentation.html) The main website for Dovecot documentation.

•     Linode (https://www.linode.com/docs/tools-reference/linux-system-administration-basics/) Linux administration basics.

Chapter 21: Network Service Configuration: Web Services

•     Apache HTTP Server Documentation (https://httpd.apache.org/docs/) The main website for Apache HTTP documentation.

•     Squid Documentation (http://www.squid-cache.org/Doc/) The primary website for Squid Proxy server documentation.

•     Digital Ocean (https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debian-vps) How to configure Apache Web Server on an Ubuntu or Debian VPS.

•     Apache HTTP Server project (https://httpd.apache.org/docs/trunk/getting-started.html) A “getting started” tutorial.

Chapter 22: Connecting to Remote Systems

•     Open LDAP documentation (http://www.openldap.org/doc/) The primary website for Open LDAP documentation.

•     vsftpd (https://help.ubuntu.com/community/vsftpd) Ubuntu’s documentation page for the vsftpd server.

•     Open SSH (https://www.openssh.com/) The main web page for the Open SSH project.

•     Colorado State University (https://www.engr.colostate.edu/ens/how/connect/serverlogin-linux.html) How to connect to a remote Linux server.

Chapter 23: Develop a Network Security Policy

•     Kernel parameters (https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt) A text document that provides a list of kernel parameters along with brief descriptions.

•     TCP Wrappers (https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-tcpwrappers.html) A tutorial on how to implement TCP Wrappers and xinetd. Was created for CentOS 5, but content is still valid.

•     NTP documentation (http://www.ntp.org/documentation.html) The main site for all documentation related to the Network Time Protocol.

•     Sans.org (https://www.sans.org/reading-room/whitepapers/policyissues/preparation-guide-information-security-policies-503) A preparation guide to information security policies.

Part VI: Process and Log Administration

Chapter 24: Process Control

•     How to Manage Processes from the Linux Terminal: 10 Commands You Need to Know (https://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/) An introduction to processes on Linux.

•     30 Useful ‘ps Command’ Examples for Linux Process Monitoring (https://www.tecmint.com/ps-command-examples-for-linux-process-monitoring/) An article that provides more details about using the ps command.

•     Geeks for geeks (https://www.geeksforgeeks.org/process-control-commands-unixlinux/) Process control commands in Unix and Linux.

Chapter 25: System Logging

•     Overview of Syslog (https://www.gnu.org/software/libc/manual/html_node/Overview-of-Syslog.html) Syslog essentials.

•     systemd-journald.service (https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) Describes the journald service.

•     Tutorials Point (https://www.tutorialspoint.com/unix/unix-system-logging.htm) Unix and Linux system logging.

Part VII: Software Management

Chapter 26: Red Hat–Based Software Management

•     Installing and Managing Software (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/part-installing_and_managing_software) The official Red Hat manual for installing and managing software.

Chapter 27: Debian-Based Software Management

•     DebianPackageManagement (https://wiki.debian.org/DebianPackageManagement) A resource for managing packages on Debian-based systems.

Chapter 28: System Booting

•     Kernel documentation (https://www.kernel.org/doc) A source for information about kernel parameters used during the boot process.

•     GRUB Documentation (https://www.gnu.org/software/grub/grub-documentation.html) Official GRUB documentation.

•     systemd System and Service Manager (https://www.freedesktop.org/wiki/Software/systemd/) A page that contains links to many useful resources for systemd.

Chapter 29: Develop a Software Management Security Policy

•     Common Vulnerabilities and Exposures (CVE; http://cve.mitre.org) A system designed to provide a single location where you can learn about security-related software issues.

•     Red Hat Security Advisories (https://access.redhat.com/security/updates/advisory) Site that provides information from Red Hat about security issues.

•     Sans.org (https://www.sans.org/reading-room/whitepapers/policyissues/preparation-guide-information-security-policies-503) A preparation guide for information security policies.

Part VIII: Security Tasks

Chapter 30: Footprinting

•     Nmap documentation (https://nmap.org/docs.html) A reference that provides a lot of uses of the nmap utility.

•     Ehacking (https://www.ehacking.net/2011/03/footprinting-information-gathering.html) Footprinting and information-gathering tutorial.

•     Nmap (https://nmap.org/) Free network scanner nmap.

Chapter 31: Firewalls

•     Archlinux (iptables; https://wiki.archlinux.org/index.php/iptables) A guide for configuring iptables.

•     TecMint (https://www.tecmint.com/open-source-security-firewalls-for-linux-systems/) Ten useful open source firewalls for Linux.

Chapter 32: Intrusion Detection Systems

•     The Best Open Source Network Intrusion Detection Tools (https://opensourceforu.com/2017/04/best-open-source-network-intrusion-detection-tools/) An article that provides an overview of intrusion detection as well as descriptions of several tools.

•     SNORT (https://www.snort.org) Snort free download and documentation.

Chapter 33: Additional Security Tasks

•     BugTraq (www.securityfocus.com) This service is an email-based program that is sponsored by Security Focus.

•     Computer Emergency Response Teams (www.cert.org) Provides a variety of features, including vulnerability analysis tools, a knowledgebase of vulnerability notes, and coordination with private and governmental organizations regarding security issues.

•     US-CERT (www.us-cert.gov) U.S.-specific CERT.