<div dir="auto">That is a super comprehensive and awesome list, Alastair. Thank you.<div dir="auto"><br></div><div dir="auto">I have only one small thing to add - you should use keys or certificates for SSH, not passwords. For added security you can even require a password AND a key</div><div dir="auto"><br></div><div dir="auto">- b</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 7 Aug 2020, 15:53 Alastair Irvine, <<a href="mailto:alastair@plug.org.au">alastair@plug.org.au</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 15 January, 2020 at 09:55:25PM +0800, ıuoʎ wrote:<br>
> Hi Pluggers!<br>
> <br>
> I was wondering of some easy / simple to deploy intruder detection on my<br>
> vps.<br>
> <br>
> <a href="https://cmd.com/" rel="noreferrer noreferrer" target="_blank">https://cmd.com/</a> looks very interesting and I was wondering if anyone know<br>
> of some opensource local cli that might do something similar (even if much<br>
> less powerful)<br>
<br>
Rather than focusing on what someone might have done once they've<br>
compromised your box, I think it's a better use of time to harden it in<br>
the first place.  Some techniques:<br>
<br>
  - Automatic security updates<br>
  - Avoid running custom-built or self-compiled Internet-facing services<br>
  - Limit plugins (for WordPress, Jenkins, etc.) to those from<br>
    trustworthy sources and review the need for them regularly<br>
  - Ensure any plugins or non-distro-provided software install their own<br>
    security updates automatically<br>
  - Use the latest LTS distro release<br>
  - Don't open any ports except HTTP/HTTPS to the Internet; even SSH<br>
    should be locked down, and if you can't, turn off passwords and<br>
    install fail2ban<br>
  - Use a VPN for anything else you need private access to<br>
  - Ensure you have console access in case you get locked out<br>
  - Don't use password-less sudo on your account or the default cloud<br>
    admin account (e.g. ubuntu, ec2-user, etc.)<br>
  - When you do have to use password-less sudo (for cron jobs etc.),<br>
    lock down the commands it can run<br>
  - Use a Web Application Firewall to detect and block intrusion attempts<br>
  - Use a bastion host as an application-level "filter" to prevent hosts<br>
    containing critical data from being exposed to the Internet<br>
  - Spend time learning about other security techniques<br>
<br>
Off-site backups and log mirrors are generally a good idea too.<br>
<br>
If you want intrusion detection, you need to install software like AIDE,<br>
rkhunter or chkrootkit.  In practice, these tend to be a pain because<br>
usually there are so many false-positives that you end up filtering the<br>
reports to an e-mail folder that you never look at.<br>
<br>
It's probably less of a pain to use "immutable infrastructure" where<br>
possible.<br>
_______________________________________________<br>
PLUG discussion list: <a href="mailto:plug@plug.org.au" target="_blank" rel="noreferrer">plug@plug.org.au</a><br>
<a href="http://lists.plug.org.au/mailman/listinfo/plug" rel="noreferrer noreferrer" target="_blank">http://lists.plug.org.au/mailman/listinfo/plug</a><br>
Committee e-mail: <a href="mailto:committee@plug.org.au" target="_blank" rel="noreferrer">committee@plug.org.au</a><br>
PLUG Membership: <a href="http://www.plug.org.au/membership" rel="noreferrer noreferrer" target="_blank">http://www.plug.org.au/membership</a></blockquote></div>