[lxc-devel] Strawman proposal... Default passwords in templates...

Serge Hallyn serge.hallyn at ubuntu.com
Wed Jan 1 20:26:10 UTC 2014


Quoting Michael H. Warfield (mhw at WittsEnd.com):
> [Holiday is mostly over...  Most of the family has departed to their
> homes or other homes.  Grandpa lays back to a late nap - errr -
> E-Mail...]
> 
> Ok all,
> 
> Serge and Stéphane know my background as a security researcher and
> expert.  This has been something that has been bothering me for some
> time and I think it's time for some serious discussion.
> 
> The current container templates create templates with horrible bad
> passwords.  Fedora, CentOS, and others create the "root" account with
> the password "root".  Ubuntu creates the user "ubuntu" with the password
> "ubuntu" with su / sudo authority to superuser.  There are other static
> conventions.  All are bad bad BAD!
> 
> I recently had opportunity to spin up a couple of CentOS PoC (Proof of
> Concept) containers for another project I'm working on.  Now, remember,
> I'm a security person and, as such, I have a number of honeypots and
> security detection mechanisms in place.  My "interesting days" usually
> being with "what just happened" or "what the hell was that" or "it never
> did that before".
> 
> So it came to pass...  One of those containers tripped some alarms and I
> examined it to find that I had neglected to change that password (I was
> working on the other container) and it had gotten whacked within one day
> (my containers are bridged onto my IPv4 /16 network space).
> 
> Ok...  Day just got more interesting now.  Flipped off my "LXC hat" and
> flipped on my "security hat".  Let's see what we've got.  We've got some
> processes running and burning time like "/etc/atdd", "/etc/lsapd",
> "/etc/kysapd" and "/etc/cupsdd".  Hmmm...  Not good...
> 
> Cool...  Shut that container down and find some interesting goodies.
> Things that relate directly to this:
> 
> https://isc.sans.edu/diary/Unfriendly+crontab+additions/17282
> 
> Very cool.  Now, I've got the attacker toys and binaries to play with.
> I even caught them before ISC did.  :-)  Not so cool for non security

Lol - I remember setting up a honeypot behind an l2 logging firewall
around 2001 and trying to get someone to bite by joining all sorts of
suspect irc channels.  No luck, I was very disappointed.  Anyways,

> people, though.
> 
> What happened...
> 
> Shortly after spinning those containers up, one of the frequent ssh
> scans came by and busted the root account.  This was confirmed
> through /var/log/secure.  Amateurs!  They didn't even clean the logs
> behind them.  RANK amateurs!  Geeeze...  Hacker quality control really
> has gone to shit these days.
> 
> The attacks came from a site in China and the C&C (Command and Control)
> was also located in China.  For me, this is nothing.  This is actually a
> lot of what I use LXC for.  Set up systems and let them get whacked and
> collect new toys for analysis.  I just wasn't expecting it so soon in
> this particular one and was due to an oversight on my part in my haste.
> 
> The malware seems to be of a DNS amplification attack family for DDoS
> I have yet to see any ssh brute force attack that does any further than
> lame password attacks.  The attackers are LAZY.  They don't need to do
> sophisticated attacks because the stupid attacks still work sooo well.
> attacks, which seems kinda crude, as they set themselves up on port
> 53/udp and started chattering with their C&C servers.  Really kinda
> boring stuff.
> 
> I have ssh honeypots running continuously and the scans and dain
> bramaged simple minded scans with lexicons of only a few hundred
> passwords for a few accounts like root, toor, user, plus a few strange
> ones I won't mention.  Yes, ubuntu and liveuser are on the use hit list
> and, yes, ubuntu/ubuntu is toast.
> 
> I have yet to see any ssh brute force attack that does any further than
> lame password attacks.  The attackers are LAZY.  They don't need to do
> sophisticated attacks because the stupid attacks still work sooo well.
> 
> Bottom line is that we have to do SOMETHING better than the bone headed
> dain bramaged passwords the templates are currently setting.  We're not
> even giving users instructions to immediately change those passwords
> (even though it should be obvious).
> 
> What I propose to do is to change the Fedora and CentOS templates to
> conform to the following convention...  Default root password as
> follows:
> 
> Root-${Container_Name}-${RANDOM}
> 
> Note: Contains one capital, multiple numbers, plus punctuation.

Why not purely random?  I also liked the suggestion of putting the
password in a file under $lxcpath/$lxcname - though chmod 600 owned
by the calling user, not root.  I prefer not outputting it in
stdout during create, but am not *strongly* against it.

> Add a warning that the user should change it to a user selected
> password.  Include instructions on how to change it from the host using
> chroot.
> 
> If they fail to note it down, it can always be changed with a "chroot
> {rootfs} ; chpasswd" so there's little loss of control.
> 
> Is it secure?  Not really, but security is a process, not a state.
> 
> Is it more secure than the current state?  Most definitely.
> 
> Is it more of a problem for administrators of the host system?  Yes, but
> only trivially so.  It's a PITA to enter but is readily changed from the
> container or the host and vastly more secure than the lame passwords
> we're using now.
> 
> It's not "bad" and highly unlikely to be busted by simple brute force.
> Without the attackers having internal knowledge of the container name,
> their attack surface is pretty large.  With that knowledge, the profile
> is still over a /16 surface (65536 guesses) from the ${RANDOM} variable.
> 
> I intend to implement this in the templates I'm working on.  I would
> love to hear comments and suggestions from everyone else.  I would
> definitely want to see something better in 1.0.  Doesn't have to be
> this, but someone needs to come up with something better.
> 
> Regards,
> Mike
> -- 
> Michael H. Warfield (AI4NB) | (770) 978-7061 |  mhw at WittsEnd.com
>    /\/\|=mhw=|\/\/          | (678) 463-0932 |  http://www.wittsend.com/mhw/
>    NIC whois: MHW9          | An optimist believes we live in the best of all
>  PGP Key: 0x674627FF        | possible worlds.  A pessimist is sure of it!
> 



> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel



More information about the lxc-devel mailing list