Cyber Security Month 2016

The best time to upgrade the security on my projects!

2016-10-01 #security


As it's Cyber Security Month, now's the perfect time to work on improving the security on my websites, projects, and servers. But, upgrading them for now isn't good enough for me, I wanted to add a way of scanning projects automatically, to check for any new issues.

As most of my projects revolve around Javascript and Python, these are the languages I'll be concentrating on.

Javascript

Express Server

Express is one the most popular JS servers, and fortunately, they have a security guide, that contains some of best ways to write secure servers. One of the best and simplest ways is to add the helmet middleware, a combination of other middleware that drastically increase security. It's incredibly easy to add too, at just 3 lines of code!

You can use securityheaders.io to check if any headers are being sent by your server that shouldn't be, As well as see how you can improve. Here's the report for my website, powered by my static server tstatic.

NodeJS Dependencies

One of the easiest ways to keep your code secure is to make sure your dependencies are secure. Fortunately there's a tool to check this, nsp. It checks the Node Security Project for known vulnerabilities, and reports them to you, as well as how to mitigate them.

Checking for updates

Keeping dependencies up to date is generally a good thing, and likely to help with the above. Upload you package.json to npm.click, and it'll tell you what's out of date, and what the most recent version is!

Python

Code

Any of the projects I work on that are more advance that a simple static server, are probably Django. Checking the python code itself is nice and simple thanks to bandit. It checks your code to make sure you're writing it properly, catching errors, and using libraries in a secure way.

Dependencies?

As with NodeJS, there's a tool that checks dependencies for security issues. But, unlike nsp, safety not only checks your dependencies, but also their dependencies, recursively.

It's also possible to check for updates using pypiup. Working in much the same way as npm.click (and written by the same person), except it's a CLI rather than a website.

Checking

To check your hard work has made a difference, seositecheckup contains a helpful section on security, as well as the previously mentioned securityheaders.io. I've enabled these tricks on my website, and you can see their results here for securityheaders.io and seositecheckup.

Share this page