This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.
What this hour is for
The firewall generator drafts a rule for a source you name. 0.0.0.0/0 on SSH is a line you delete. fail2ban drafts a jail. It does not install itself.
Keep a console open before any later apply. You do not disable the firewall to make a login work.
192.0.2.10/24, gateway 192.0.2.1, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are documentation. example.com is a documentation name. A sample password is replaced. It is not a password you keep.
The change you can finish
Apply nothing while you are writing the note. When the lab window opens, it is one change on the system named in the ticket. Read the draft, then the system, then decide.
Rollback is the file, the record, or the snapshot you saved first. You do not invent a rollback after the only copy is gone.
- Name the host.
- Read the rule and the jail.
- Delete every-address SSH.
- Do not apply during the reading.
- Stop.
Mistakes that outlive the statement
Linux Server Hardening Checklist goes wrong in a small set of ways. The list is here so the ticket can forbid them before the window.
- 0.0.0.0/0 left on SSH.
- The firewall disabled.
- Applied from the only SSH session.
Decisions to write down
One decision for Linux Server Hardening Checklist: The source is a named prefix. The firewall stays on. And nothing was applied.
Checks before you call it done
Confirm this before you call the change done: The host is written. The drafts were read. Every-address SSH is absent. Nothing was applied. And the host is yours. If one of those fails, stop.
# Linux hardening draft.
# Delete 0.0.0.0/0 on SSH. Do not disable the firewall.
# 192.0.2.10/24, gateway 192.0.2.1, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are documentation. example.com is a documentation name. A sample password is replaced. It is not a password you keep.
Before you leave the system
Linux Server Hardening Checklist ends when the system in the note is the system in the ticket. If it is not, stop.
The draft stays a draft until a person has read the names in it. A generator does not log in, does not scan, and does not send mail.
192.0.2.10/24, gateway 192.0.2.1, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are documentation. example.com is a documentation name. They belong in the note. They are not values you publish because a draft included them.
prompt-for-this is a reminder that a secret is missing. It is not a password, a key, or a token you save. A sample password is replaced. It is not a password you keep.
One change is the window. If two things move and the result is wrong, you will not know which one did it.
If the same step fails twice, stop for the day. Restore the copy you took first.
A second person reads the scope aloud. If they cannot find it in the ticket, the note is not done.
This page is a planning guide. It is not legal advice, not an audit opinion, not a vendor manual, and not the text of a standard. You do not disable a security control to make a check pass. You do not use the page against a system you do not administer.
Tools for this guide
These tools run in the browser on this site. They do not log into your machines.
Related pillar guides
More in this cluster
The pillar for this page, and the next published pages filed with it.
- Pillar: Server Hardening Guide
- Checklist: Windows Server Hardening Checklist
- How-To: SSH Hardening Guide
- How-To: Sysmon Setup Guide
Companion: System: How to Configure sudo Safely.