|
|
|
|
38
|
* An IRC bouncer via "ZNC":http://wiki.znc.in/ZNC.
|
38
|
* An IRC bouncer via "ZNC":http://wiki.znc.in/ZNC.
|
39
|
* "Monit":http://mmonit.com/monit/ to keep everything running smoothly (and alert you when it's not).
|
39
|
* "Monit":http://mmonit.com/monit/ to keep everything running smoothly (and alert you when it's not).
|
40
|
* Web hosting (ex: for your blog) via "Apache":https://www.apache.org/.
|
40
|
* Web hosting (ex: for your blog) via "Apache":https://www.apache.org/.
|
41
|
-* Firewall management via "ferm":http://ferm.foo-projects.org/.
|
|
|
|
|
41
|
+* Firewall management via "Uncomplicated Firewall (ufw)":https://wiki.ubuntu.com/UncomplicatedFirewall.
|
42
|
* Intrusion prevention via "fail2ban":http://www.fail2ban.org/ and rootkit detection via "rkhunter":http://rkhunter.sourceforge.net.
|
42
|
* Intrusion prevention via "fail2ban":http://www.fail2ban.org/ and rootkit detection via "rkhunter":http://rkhunter.sourceforge.net.
|
43
|
* SSH configuration preventing root login and insecure password authentication
|
43
|
* SSH configuration preventing root login and insecure password authentication
|
44
|
* Nightly backups to "Tarsnap":https://www.tarsnap.com/.
|
44
|
* Nightly backups to "Tarsnap":https://www.tarsnap.com/.
|
|
|
|
|
120
|
|
120
|
|
121
|
To run just one or more piece, use tags. I try to tag all my includes for easy isolated development. For example, to focus in on your firewall setup:
|
121
|
To run just one or more piece, use tags. I try to tag all my includes for easy isolated development. For example, to focus in on your firewall setup:
|
122
|
|
122
|
|
123
|
-bc. ansible-playbook -i ./hosts --tags=ferm site.yml
|
|
|
|
|
123
|
+bc. ansible-playbook -i ./hosts --tags=ufw site.yml
|
124
|
|
124
|
|
125
|
You might find that it fails at one point or another. This is probably because something needs to be done manually, usually because there's no good way of automating it. Fortunately, all the tasks are clearly named so you should be able to find out where it stopped. I've tried to add comments where manual intervention is necessary.
|
125
|
You might find that it fails at one point or another. This is probably because something needs to be done manually, usually because there's no good way of automating it. Fortunately, all the tasks are clearly named so you should be able to find out where it stopped. I've tried to add comments where manual intervention is necessary.
|
126
|
|
126
|
|