<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Anchor Web Hosting Blog &#187; password</title>
	<atom:link href="http://www.anchor.com.au/blog/tag/password/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anchor.com.au/blog</link>
	<description>A view into the Anchor Engineroom</description>
	<lastBuildDate>Wed, 08 Feb 2012 00:51:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Securing your codez from the wily exploit injectors</title>
		<link>http://www.anchor.com.au/blog/2009/11/securing-your-codez-from-the-wily-exploit-injectors/</link>
		<comments>http://www.anchor.com.au/blog/2009/11/securing-your-codez-from-the-wily-exploit-injectors/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:47:49 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1379</guid>
		<description><![CDATA[Remember the good old days, when Melissa and ILOVEYOU were the major virus threats, spreading via e-mail and causing all sorts of embarrassing conversations at work? Or maybe even earlier than that, when the only way you could get a virus was by engaging in risky sex? (I mean Software EXchange, of course&#8230; get your [...]]]></description>
			<content:encoded><![CDATA[<p>Remember the good old days, when Melissa and ILOVEYOU were the major virus threats, spreading via e-mail and causing all sorts of embarrassing conversations at work?  Or maybe even earlier than that, when the only way you could get a virus was by engaging in risky sex?  (I mean Software EXchange, of course&#8230; get your mind out of the gutter)</p>
<p>These days, anti-virus protection for e-mail is fairly thorough, and nobody&#8217;s really swapping floppies full of 16 colour games at recess.  Malware authors have moved on to new and more fertile ground &#8212; embedding their junk in web pages, and relying on browser exploits to gain access to computers.  Of course, with this method, you can only get infected if you actually visit a page that has an infestation, so the malware authors have two options: either entice you to visit their sites, or modify existing websites that users will visit in the course of their day &#8212; legitimate sites that people know and trust, but with a little added infection.</p>
<p>Enticing people to a whole dodgy site is usually just a matter of providing something people love to look at and sticking it in search engines.  Since the attacker has to have a stable, identifiable presence for the search engines to direct users to, that can also be used by anti-malware lists like <a href="http://stopbadware.org">stopbadware.org</a> to protect web users, so this isn&#8217;t a particularly effective means of attack, and is waning somewhat in popularity.  Far more effective is infecting a legitimate website with some form of malware.  How does it happen, though?  In our experience, there are four vectors for infection:</p>
<ol>
<li>
Brute-force password guessing, where the attacker has a botnet they control to just repeatedly try lots and lots of usernames and passwords.  They&#8217;re bound to get lucky sooner or later.
</li>
<li>
Some sort of web-based exploit, typically a vulnerability in the web application that allows the attacker to run code of their choosing; this is then either used directly to edit files, or bootstrapped into sufficient access to edit files via another method.
</li>
<li>
Password &#8220;scraping&#8221;, where the attacker gets direct access to the FTP password for your site.  This can either be some sort of malware on the workstation of the web developer (or someone else related to the management of the website) that gets the password off the local machine (in a saved password file, or via a keylogger), or else via the &#8220;lost password&#8221; functionality provided by the hosting provider.  Once the attacker has the FTP password for the site, they are free to login to the live site and make whatever changes they like.
</li>
<li>
Direct modification of the website code on the client-side computer, relying on the developer not to notice it and then upload the compromised content to the live site.  We recently had our first &#8220;confirmed&#8221; case of this (where the web developer found the malicious modifications in their local copy), and they swear blind they didn&#8217;t download the HTML from the live site (which would bring the &#8220;infection&#8221; onto the local machine from the infected live site &#8212; which we&#8217;ve seen before, and categorise under vectors 1 and/or 2).
</li>
</ol>
<p>The countermeasures required to combat all these vectors boil down to a few simple precautions.</p>
<ul>
<li>
<b>Use strong passwords</b>.  (Protects against vector 1)  Yes, they&#8217;re a pain to manage, but a weak password is just an open invitation to getting repeatedly and painfully owned.  Of course, the strongest password is a keypair, which leads us to&#8230;
</li>
<li>
<b>Don&#8217;t use FTP</b>.  (Protects against vectors 1 and 3)  The list of reasons for this is long, but for securing your website, FTP is a pain because you can <em>only</em> use passwords[<a href="#exploit_fn_1"><a name="exploit_fn_1_src">1</a></a>].  Switch to using SFTP (the file transfer component of the SSH protocol) and you can use public keys, which are, for all practical purposes, unguessable.  You should also encrypt your keys with a passphrase, which means that even if the attacker does get access to your workstation and copies the key, it&#8217;ll be useless to them &#8212; unless they keylog your passphrase, which brings us to&#8230;
</li>
<li>
<b>Keep your workstation secure</b>.  (Vectors 3 and 4)  It seems that attackers have realised that the weakest link in the website security chain is <em>still</em> the Windows desktop, and they&#8217;re increasingly hitting it as the first step in taking over websites (if you get the right workstation, you can get the credentials to hundreds or thousands of websites, because one web developer often works on many different sites).  So, on any machine you connect to webservers from, you need to be doubly, triply sure that it&#8217;s rock solid &#8212; and that&#8217;s just a matter of following all the good advice out on the web.  Antivirus, antispyware and firewall software, constantly running, well-configured, and kept up to date; keep up to date with your application patches, especially for your web browser, e-mail client, and core OS; don&#8217;t visit dodgy web sites; and so on.
</li>
<li>
<b>Protect your e-mail</b>.  (Vector 3)  If someone can get access to your e-mail, they can also get access to your website, by using the password recovery feature (or impersonating you to your hosting company).  If they delete the e-mails that are coming in before you notice them, you&#8217;ll never know what&#8217;s going on, and all the password changes and workstation security in the world won&#8217;t help you.
</li>
<li>
<b>Don&#8217;t use shared hosting</b>.  (Vectors 1 and 3).  This might seem an odd thing to say, given that we sell shared hosting, but it is a legitimate way to reduce your vulnerability.  If you use a <a href="http://www.anchor.com.au/dedicated-hosting/dedicated-servers.py">dedicated server</a> (including a <a href="http://www.anchor.com.au/vps/virtual-private-server.py">VPS</a>), you (or we) can configure it to only allow logins from certain IP addresses, rather than the entire Internet.  This means that even if an attacker does get your password (or SSH key), via brute force or sniffing it off your workstation, they can&#8217;t login from their own machine because it won&#8217;t have an authorized IP address.  On shared hosting, this configuration is impractical, because hundreds of people have legitimate access to the server, from a great many different IP addresses.
</li>
<li>
<b>Code responsibly</b>.  (Vector 2)  It is said that &#8220;PHP is great, because its ease of use means that any idiot can produce a security hole &#8212; and most of them do&#8221;.  Whilst this is a little derogatory to the many (several?  few?  one?  PLEASE?) good PHP programmers out there, it is certainly fair to say that the capabilities of many people who write dynamic code aren&#8217;t up to the challenge of writing code that is exposed to the extremely hostile conditions that are the public Internet.</p>
<p>Thus, if you are not familiar with the common security practices and problems with the language or environment that you are developing for, <em>stop right now</em> and go learn a little.  There&#8217;s plenty of good information out there on the Internet from people who have learnt the lessons the hard way.  Celebrate the benefits of literacy by learning from their mistakes rather than having to educate yourself by cleaning up an infected website.  If you feel that isn&#8217;t something you can commit to, then please, for the sake of the Internet, find someone else to write the code.
</li>
<li>
<b>Keep your web applications patched</b>.  (Vector 2)  Whilst some sites do use custom-built web applications, many sites choose to use a standard CMS or other application to manage their website.  This is great, because hopefully someone else is taking a bit of responsibility for the security of the software, but that doesn&#8217;t do you any good if you don&#8217;t <em>keep it up-to-date</em>.  Far, far too many people install a CMS once, then forget about it.  Almost all of these applications have a vulnerability at some point, and not keeping them up to date is absolutely fatal, because once a vulnerability is found in a piece of software, an attacker can typically use Google to find all of the publicly-available instances of the vulnerable software, and quickly attack them all.</p>
<p>This means that you need to keep yourself well-informed of any security updates for your off-the-shelf web applications.  Subscribe to a relevant security announcements mailing list, or ensure that your vendor sends them to you.  (If your commercial CMS vendor doesn&#8217;t have this ability, find a new CMS vendor).
</li>
</ul>
<p>Websites get compromised all the time, by a variety of methods.  You should reinforce your defences, lest you&#8217;re the next target.</p>
<hr />
<p><a href="#exploit_fn_1_src"><a name="exploit_fn_1">1</a></a>. The first person to mention Kerberos or other unused-in-practice authentication schemes in a comment gets a free laughing at.  If you think SFTP and SCP aren&#8217;t supported in widely used web development programs, try finding something that supports GSSAPI&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/11/securing-your-codez-from-the-wily-exploit-injectors/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>On the importance of knowing how to pick secure passwords</title>
		<link>http://www.anchor.com.au/blog/2009/05/on-the-importance-of-knowing-how-to-pick-secure-passwords/</link>
		<comments>http://www.anchor.com.au/blog/2009/05/on-the-importance-of-knowing-how-to-pick-secure-passwords/#comments</comments>
		<pubDate>Thu, 28 May 2009 06:36:57 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[WTF]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=959</guid>
		<description><![CDATA[We&#8217;ve already got solid advice on picking half decent passwords, but this advice from Zebra really takes the cake.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve already got solid <a href="http://www.anchor.com.au/hosting/dedicated/Securing_Remote_Access_via_SSH_and_Server_Security#head-025b770729909ef2b953fec11f75f55933e78af3">advice on picking half decent passwords</a>, but this advice from Zebra really takes the cake.</p>
<p><a href="http://www.anchor.com.au/blog/wp-content/uploads/2009/05/zebrasafepassword.png"><img class="alignnone size-medium wp-image-960" src="http://www.anchor.com.au/blog/wp-content/uploads/2009/05/zebrasafepassword-300x252.png" alt="zebrasafepassword" width="300" height="252" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/05/on-the-importance-of-knowing-how-to-pick-secure-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developers, you can stop your crap authentication schemes now. Please.</title>
		<link>http://www.anchor.com.au/blog/2009/05/developers-you-can-stop-your-crap-authentication-schemes-now-please/</link>
		<comments>http://www.anchor.com.au/blog/2009/05/developers-you-can-stop-your-crap-authentication-schemes-now-please/#comments</comments>
		<pubDate>Fri, 22 May 2009 00:05:39 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=925</guid>
		<description><![CDATA[I really like cryptography and security. I was lucky enough to take it as a subject at UNSW before I graduated. I found this earlier this evening; it&#8217;s a little old (~18 months), but that doesn&#8217;t make it any less relevant, so it&#8217;s a good read. There&#8217;s the odd inaccuracy here and there, but it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I really like cryptography and security. I was lucky enough to <a href="http://www.cse.unsw.edu.au/~cs3441/">take it as a subject at UNSW</a> before I graduated.</p>
<p>I found this earlier this evening; it&#8217;s a little old (~18 months), but that doesn&#8217;t make it any less relevant, so it&#8217;s a good read. There&#8217;s the odd inaccuracy here and there, but it&#8217;s solid stuff, and relevant to anyone writing webapp code to handle authentication.<br />
<a href="http://www.matasano.com/log/958/enough-with-the-rainbow-tables-what-you-need-to-know-about-secure-password-schemes/"> http://www.matasano.com/log/958/enough-with-the-rainbow-tables-what-you-need-to-know-about-secure-password-schemes/</a></p>
<p>The article focuses heavily on one particular authentication methodology, because it&#8217;s something a lot of people do. After you read it, you&#8217;ll understand that it&#8217;s something a lot of people do <em>poorly</em>. It assumes a reasonable degree of knowledge about what you&#8217;re doing (ay, there&#8217;s the rub), but the best lesson to be learnt there is that <em><strong>you</strong> shouldn&#8217;t be writing that code!</em> Just stop! Someone&#8217;s already done it better than you, and it&#8217;s been checked by a lot more people than you and your colleague, who reckons it &#8220;looks pretty secure&#8221;. If you&#8217;ve got time to read all the comments on the article you&#8217;ll find a rollercoaster of people saying, &#8220;wouldn&#8217;t it be secure if I just..?&#8221; Just don&#8217;t do it. <span style="text-decoration: line-through;">Don&#8217;t write my security code, bro!</span></p>
<p>Just using a proper authentication mechanism means you can spend your valuable time on more important things.</p>
<ul>
<li>Like not building SQL queries in a piecemeal manner, using unsanitised user-supplied data</li>
<li>Like not making your whole site world-writeable so you can handle file uploads (you don&#8217;t have to do this on <strong>our</strong> <a href="http://www.anchor.com.au/web-hosting/website-hosting.py">shared hosting</a> servers)</li>
<li>Like fixing your newsletter signup process so it requires <a href="http://www.anchor.com.au/hosting/support/BulkEmailMarketing/BeforeYouStart">double opt-in</a>, saving you from filling your database with spurious accounts and causing massive headaches when you do a campaign mailout</li>
<li>Like <a href="http://www.anchor.com.au/hosting/dedicated/SQL_Query_Optimisation">optimising your database schema for bitchin&#8217; performance</a> &#8211; do you retain a DBA on a six-figure salary to do this for you? Nah I didn&#8217;t think so, this is cheaper and much more fun</li>
<li>Like checking that your code doesn&#8217;t spew 14 PHP Warns/Errors to the apache logs for every page access, and fill the partition</li>
<li>Like trying to get nice round corners on your page elements <img src='http://www.anchor.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/05/developers-you-can-stop-your-crap-authentication-schemes-now-please/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tales of Hardware &#8211; IBM RSA-II slimline</title>
		<link>http://www.anchor.com.au/blog/2009/03/tales-of-hardware-ibm-rsa-ii-slimline/</link>
		<comments>http://www.anchor.com.au/blog/2009/03/tales-of-hardware-ibm-rsa-ii-slimline/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 06:17:06 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[WTF]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[ibmasm forgotten password]]></category>
		<category><![CDATA[ipmi]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[remote console]]></category>
		<category><![CDATA[remote management]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[rsa-ii slimline]]></category>
		<category><![CDATA[supermicro]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=535</guid>
		<description><![CDATA[In a recent post I mentioned that there are some nice things about using Supermicro hardware here at Anchor. There&#8217;s a bit of a dark lining to that silver cloud, however &#8211; we&#8217;ve had the worst luck trying to get their IPMI stuff to work in any sane way. IPMI is short for Intelligent Platform [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent post I mentioned that there are some nice things about using Supermicro hardware here at Anchor. There&#8217;s a bit of a dark lining to that silver cloud, however &#8211; we&#8217;ve had the worst luck trying to get their IPMI stuff to work in any sane way.</p>
<p>IPMI is short for Intelligent Platform Management Interface. Different companies have different names for the technology &#8211; Dell has this in their DRAC cards, HP calls this iLO, Sun calls it ALOM. IPMI basically gives you access to a bunch of diagnostic information and management controls for the server. The real killer feature is remote console. Because IPMI is largely independent of the rest of the system, you can get unimpeded access to everything on the server, regardless of what state it&#8217;s in. Just like The Matrix, you need to experience how great it is when you rescue a downed server from a BSOD, or a dopey prompt holding up the BIOS while booting.</p>
<p>You see that? IPMI just saved you from:</p>
<ol>
<li>Walking all the way to the datacentre</li>
<li>Going through six proximity card doors and an airlock</li>
<li>Getting to your suite</li>
<li>Opening the racks</li>
<li>Finding the server</li>
<li>Hooking up a keyboard and monitor</li>
<li>Hitting F1 to get past that pesky &#8220;keyboard not found&#8221; error</li>
<li>Walking back to the office &#8211; congratulations, you just wasted your lunchtime</li>
</ol>
<p><span id="more-535"></span>Supermicro has IPMI cards for their whole range of servers. They generally all do the same stuff, they just work in slightly different ways. But because they&#8217;re not <em>entirely</em> removed from the rest of the system, they can behave in strange ways&#8230;</p>
<p>After installing an IPMI card in one system, the video output to the monitor was noticeably poorer. Text was fuzzy and somewhat distorted. Removing the IPMI card fixed this problem immediately.</p>
<p>Some IPMI cards &#8220;piggyback&#8221; off an onboard network port. An IPMI card has its own IP address but needs a physical network connection. We&#8217;ve observed a piggyback-style IPMI card prevent the host from network-booting.</p>
<p>IPMI cards usually offer access to one or more serial ports on the host. Because this happens via the motherboard, we&#8217;ve had an instance of it interfering with use of the external serial port, even without wanting to use this feature on the IPMI card.</p>
<p>Of course, once you&#8217;ve got the IPMI card installed, it doesn&#8217;t count unless you can use it. Supermicro supplies software to configure the card, but it&#8217;s not exactly convenient. To actually use the card, there&#8217;s a java application you install and run on your workstation. Putting aside any weird issues you might have getting it to run on your version of the JVM, it&#8217;s really not fun to use. The interface is clunky and a bit of an eyesore.</p>
<p>Let us turn now to something much nicer, the IBM RSA-II slimline. The RSA (Remote Supervisor Adapter) card provides all the functionality you expect from a remote management card, through a very nice interface. The remote console is still a java client, but this time embedded in a normal webpage served from the card itself. I can SSH to the card, and everything in the interface is snappy (unlike APC&#8217;s managed power rails). It really is a nice unit, I love it. It&#8217;s also a very capable unit (with a pricetag to match). The board is about the size of a cheap video card (cf. Supermicro&#8217;s cards which seem to be mini-PCI form factor), running a 200MHz PowerPC chip, with good management interfaces for multiple users.</p>
<p>It&#8217;s when I was setting up these users, the day I got it, that I managed to lock myself out. As is good practice, you setup a strong password for the admin account. This is especially important for such a device exposed to the world, as they don&#8217;t have as much protection available. I put the nice, strong password into both password fields, checked all the settings, then called it a day. So you can imagine my surprise when I net tried to login and was rejected.</p>
<p>I was stumped; I&#8217;d taken extra care to ensure everything was correct, and now this. Well, not to worry, the card will just have to be hard reset. Somehow.</p>
<p>After searching online it became evident that this wouldn&#8217;t be easy. Not content to have something straightforward like an internal reset switch or some sort of magic handshake, IBM have made it necessary for you to run a firmware updater from within an OS. To add annoyance, you have to install the OS driver as well, so the app can talk to the RSA card. Some hours later I had Redhat on a disk, installed the ibmasm driver, and got the card reverted to factory default settings.</p>
<p>I then promptly locked myself out again.</p>
<p>It seems the RSA has a maximum password length of 15 characters. They even include this hard limit as part of the HTML form that you enter the password into, but it doesn&#8217;t help much when all you see on screen are bullet-points; you can&#8217;t tell how many characters you&#8217;ve entered, and browsers quietly drop characters once you hit the limit. A little reminder to the textbox would have been a nice touch, just to let you know that you&#8217;ve got a limit. Or just let you put in a password of arbitrary length and have a popup warning if it&#8217;s too long. They do that if it&#8217;s too simple, so why not for this?</p>
<p>At least it&#8217;s highly unlikely you&#8217;ll get bitten by this problem twice, but it&#8217;s a waste of time finding out the hard way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/03/tales-of-hardware-ibm-rsa-ii-slimline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

