Can I create a modestly secure diary online using Wordpress, .htaccess, and a few tricks?
July 1, 2011 1:39 PM   Subscribe

I want to access my personal diary from anywhere - and keep it as secure as possible at the same time. Here's my idea on how to do this...what do you think?

I have a personal diary I want to set up on the internet for my use only - it will be private, but I need to be able to access it anywhere - from home, my phone, my laptop, etc., so I do realize there are inherent insecurities, but I plan to make it as secure as possible and well-hidden. Here's what I'm thinking of doind - am I'm being a total idiot or could this work given the limitations I agree to below?

1. The Setup
The server is a Linux VPS with sufficient power and RAM to run all necessary services; assume the server and VPS are sufficiently hardened. I am in complete control of the server and it serves only personal websites and email accounts (no one else's sites are on my server). The diary itself will be running the latest version of Wordpress. Software choice is not negotiable.

2. What I'm not concerned about
Obviously, administrators of the server the VPS is on can access anything on the VPS should they want to. I'm not concerned about that. The diary contains nothing illegal and it wouldn't interest anyone who doesn't know me. However, as with any diary, it would probably interest those who DO know me well, especially the things I may say about those people that would be unflattering or rude. Therefore, my concern is more that the diary itself is kept from (a) Search Engines, (b) The casual peruser, (c) those who know me well and might attempt to "break in" to the diary should they know it exists. I am well aware that a true "Hacker" could probably get at the diary and my server without much difficulty, but again, this information is not valuable, would at mose be embarassing if released, and would not really interest a hacker in any case. The security should just be enough to keep away people with only low-to-modest technical ability. Also, moving the diary offline or into my home is not possible or desired.

3. How I plan to set up security
a. It will be hosted on a directory within a subdomain of a domain; both the directory and subdomain will be nonsense words and letters. For example, http://x993zhd.mysitename.com/jjkda86111. This, I believe, will make it difficult to find when combined with the next item:

b. The subdomain itself will use .htaccess HTTP password protection and will have exactly ONE username and password that will be acceptable. Both the username and the password will be random, nonsense, words and letters that are not related to any other password or username I ever use. I believe this should prevent the site from being findable by search engines (since the spiders cannot crawl past the password authentication stage) AND should prevent anyone from getting in by trying to guess common usernames and passwords. Also, csf/lfd will automatically block the IP address of anyone who gets the username and password wrong five times in a row and will simultaneously notify me via text message if that occurs.

c. I will use the "Registered Users Only" plugin with Wordpress. This plugin will not allow ANYONE to view the diary/blog without first logging in (I've used this plugin before and it works perfectly). I will set up EXACTLY ONE username and password that will be, again, nonsense words and numbers that, again, are completely different from any previous nonsense words and passwords. Also, creating any new usernames and passwords will be disabled within Wordpress. That combined with the next item will ensure that no one can just randomly try guessing the user name and password to access the blog.

d. I will use the "Limit Login Attempts" pugin with Wordpress that will automatically permanently block the IP address of any user who attempts incorrectly to enter a user/password three times in a row.

e. I will use the "User Access Manager" plugin with Wordpress which will restrict the viewing of all posts to only those users I designate. If you are not on the "allowed users" list, you see nothing but a blank page. This is a catch-all solution in case either c. or d. above fail or are hacked past.

f. I will use the "Log User Access" plugin to keep a log of every time the blog is logged into. That way, I can review it periodically to see if there are any dates or times inconsistent with when I believe I actually logged in.

g. I will set Wordpress to "Block Search Engines"...just in case.

h. I will review the website statistics monthly to see what IP addresses successfully connected to the site and ensure that only my own IP addresses show up.

So, basically, to access my diary, I would need to first browse to the special, nonsense URL, then get past HTTP authentication using a nonsense user name and password, then log in to Wordpress with a different nonsense user name and password before I will even be able to see my diary or add to it.

Now, given the security level I'm after (keep it away from the general public, search engines, and those who know me well, none of whom are extremely tech-savvy), does this approach meet that goal? What am I not thinking of or should I add for additional security or peace of mind?
posted by jspierre to Computers & Internet (19 answers total) 6 users marked this as a favorite
 
If you're not worried about hackers, is there any reason why you can't just let wordpress host it?
posted by segfault at 1:46 PM on July 1, 2011


Honestly, this seems byzantine. It's still subject to discovery by spiders that ignore robots.txt although HTTP authentication should prevent that. So changing wordpress' search engine settings seems unnecessary. I'm not a Wordpress expert but you should verify that using HTTP authentication will not break Wordpress.

You're still exposed to any fundamental server breaches which will bypass all those levels of authentication - as you already acknowledge and dismiss - as well as keyloggers.

Have you considered a USB key with a text file? Maybe an encrypted text file?
posted by GuyZero at 1:46 PM on July 1, 2011 [2 favorites]


Or why not just keep it as a word document, and use dropbox? Not sure what you're gaining by "publishing" for the web if you don't want anyone to access it, ever.
posted by nkknkk at 1:50 PM on July 1, 2011 [1 favorite]


You can use evernote. Accessible everywhere and password protected.

Or if you want to go more hardcore Word or Text file encrypted with TrueCrypt in a DropBox.
posted by pyro979 at 1:52 PM on July 1, 2011 [2 favorites]


Step 1: Set it up as a Google Doc.

Step 2: There is no Step 2.
posted by davey_darling at 1:52 PM on July 1, 2011 [15 favorites]


I have mediawiki with a login setup behind an http authentication thing. If the browser caches http credentials then mediawiki would still log you out etc.

but yeah I just realized if someone gets to the db layer that's all useless right? so I need something more secure... putting it on something like wordpress etc is just asking for trouble eventually
posted by the mad poster! at 1:54 PM on July 1, 2011


1. Keep your diary in a text editor.
2. Use GPG to encrypt text file.
3. Sync online with Dropbox or some other similar service.

Done.

This is how I keep my website site login password list. Even if somebody gets into my Dropbox account, they've got a 2048 bit encrypted file that they won't be reading. I use Gedit on Ubuntu and I can encrypt / decrypt from within the application.
posted by COD at 1:55 PM on July 1, 2011


Yeah, why not just set up a new google account, one attached to anything else in your life, and use google docs?
posted by rtha at 1:56 PM on July 1, 2011


I want to access my personal diary from anywhere - and keep it as secure as possible at the same time.

Password protected USB drive
posted by desjardins at 2:00 PM on July 1, 2011


Best answer: Yes, I think that's sufficient.

I would put the site on a secure webserver (https) because otherwise all passwords will go over the network in the clear, but I don't think that precaution is necessary to serve the security need you have cited.
posted by massysett at 2:04 PM on July 1, 2011


Email yourself the diary entries? Then they're searchable, dated, and secure - or, as secure as your email.
posted by LobsterMitten at 2:06 PM on July 1, 2011


I use 750words.com and really like it. You can password protect it. It's also by the effortlessly awesome Buster Benson who will totally write you back if you write him notes on how awesome his little products are.
posted by sweetkid at 2:12 PM on July 1, 2011


Seconding SSL (https). Otherwise you are not secure at the transit level, and as massysett said, passwords will be thrown around in plaintext. And ssl layers well with your other measures.

Be aware that your obfuscated URL will be littered all over the place in caches on your local machines and will probably eventually get found by a search engine, and SSL does not encrypt requested URLs. Do not rely on this security-by-obscurity scheme: SSL + a strong password should be sufficient. A hard-to-guess username doesn't add any security if your password is strong enough.

What I do: Diary is an emacs org mode file kept on an encrypted partition, synchronized across multiple machines via subversion running over ssh, with the repository hosted on a VPS and only decrypted when reads/writes are made.
posted by qxntpqbbbqxl at 2:15 PM on July 1, 2011


Merely requiring the use of subversion is sufficient security-by-obscurity.
posted by GuyZero at 2:49 PM on July 1, 2011


If you're not worried about someone else hosting it, but only about your RL peeps trying to break in, why not something like Livejournal? No interests, no friends, set default privacy to 'private' = nothing for anyone to ever see? That's what LJ was *for*, was hosting diaries.
posted by lysimache at 3:13 PM on July 1, 2011


Keep the diary as a draft message in a gmail account, which you can open from anywhere.

(That's how al Qaida communicates -- if it's secure enough for them, it's secure enough for you.)
posted by foursentences at 4:39 PM on July 1, 2011


Opendiary.com. You can make it totally private and they have a mobile site too. I've had a journal there for over 10 years now and nobody has ever found it. If you want readers you know to be able to read, you can set them up with a reader's password pretty easily. I believe that's a paid feature, but it's $20 a year for the paid service, which is quite affordable for most.
posted by Fuego at 5:24 PM on July 1, 2011


Why don't you just set up a Gmail account and email yourself?
posted by jasondigitized at 12:16 PM on July 2, 2011


Response by poster: Thanks for all the awesome tips and advice! I will definitely move forward on this, probably with a mixture of your suggestions and advice. Nothing is 100% secure, and that's part of the risk I'll have to take for the convenience of online journaling. Thanks again!
posted by jspierre at 6:48 AM on July 19, 2011


« Older avoiding thinking   |   Am I doing enough for my dog? Newer »
This thread is closed to new comments.