From b8a3a1f354429ccac29d0246cc23558a414ff860 Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Thu, 27 Nov 2014 18:35:47 +0200 Subject: [PATCH 1/7] correcting README instructions for the ssl certificates folder location --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5561c4fb..e10e0159 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ To run your application in a secure manner you'll need to use OpenSSL and genera $ sh generate-ssl-certs.sh ``` Windows users can follow instructions found [here](http://www.websense.com/support/article/kbarticle/How-to-use-OpenSSL-and-Microsoft-Certification-Authority) -To generate the key and certificate and place them in the *config/sslcert* folder. +To generate the key and certificate and place them in the *config/sslcerts* folder. ## Getting Started With MEAN.JS You have your application running but there is a lot of stuff to understand, we recommend you'll go over the [Official Documentation](http://meanjs.org/docs.html). From 6ec9233d1c5afd44790bf872e9f572ca18d62c07 Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Thu, 27 Nov 2014 19:03:45 +0200 Subject: [PATCH 2/7] updating script to attempt generating the ssl certificates directory first before trying to create files there --- generate-ssl-certs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/generate-ssl-certs.sh b/generate-ssl-certs.sh index fda44bb0..c77082d1 100644 --- a/generate-ssl-certs.sh +++ b/generate-ssl-certs.sh @@ -1,5 +1,6 @@ #!/bin/bash echo "Generating self-signed certificates..." +mkdir -p ./config/sslcerts openssl genrsa -out ./config/sslcerts/key.pem -aes256 1024 openssl req -new -key ./config/sslcerts/key.pem -out ./config/sslcerts/csr.pem openssl x509 -req -days 9999 -in ./config/sslcerts/csr.pem -signkey ./config/sslcerts/key.pem -out ./config/sslcerts/cert.pem From 5c689e9ebd17ceee3a9a5a489fe02751c905cb95 Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Fri, 28 Nov 2014 09:23:04 +0200 Subject: [PATCH 3/7] organizing contributed helpful scripts into a ./scripts/ folder before we mess up the app root directory --- README.md | 2 +- generate-ssl-certs.sh | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 generate-ssl-certs.sh diff --git a/README.md b/README.md index e10e0159..0c85e062 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ $ docker run -p 3000:3000 -p 35729:35729 -v /Users/mdl/workspace/mean-stack/mean ## Running in a secure environment To run your application in a secure manner you'll need to use OpenSSL and generate a set of self-signed certificates. Unix-based users can use the following commnad: ``` -$ sh generate-ssl-certs.sh +$ sh ./scripts/generate-ssl-certs.sh ``` Windows users can follow instructions found [here](http://www.websense.com/support/article/kbarticle/How-to-use-OpenSSL-and-Microsoft-Certification-Authority) To generate the key and certificate and place them in the *config/sslcerts* folder. diff --git a/generate-ssl-certs.sh b/generate-ssl-certs.sh deleted file mode 100644 index c77082d1..00000000 --- a/generate-ssl-certs.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -echo "Generating self-signed certificates..." -mkdir -p ./config/sslcerts -openssl genrsa -out ./config/sslcerts/key.pem -aes256 1024 -openssl req -new -key ./config/sslcerts/key.pem -out ./config/sslcerts/csr.pem -openssl x509 -req -days 9999 -in ./config/sslcerts/csr.pem -signkey ./config/sslcerts/key.pem -out ./config/sslcerts/cert.pem -rm ./config/sslcerts/csr.pem -chmod 600 ./config/sslcerts/key.pem ./config/sslcerts/cert.pem From 586f0ade38adb8c739a7e9fc830af2e393b1a91c Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Fri, 28 Nov 2014 09:29:18 +0200 Subject: [PATCH 4/7] adding the new scripts directory --- scripts/generate-ssl-certs.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 scripts/generate-ssl-certs.sh diff --git a/scripts/generate-ssl-certs.sh b/scripts/generate-ssl-certs.sh new file mode 100644 index 00000000..c77082d1 --- /dev/null +++ b/scripts/generate-ssl-certs.sh @@ -0,0 +1,8 @@ +#!/bin/bash +echo "Generating self-signed certificates..." +mkdir -p ./config/sslcerts +openssl genrsa -out ./config/sslcerts/key.pem -aes256 1024 +openssl req -new -key ./config/sslcerts/key.pem -out ./config/sslcerts/csr.pem +openssl x509 -req -days 9999 -in ./config/sslcerts/csr.pem -signkey ./config/sslcerts/key.pem -out ./config/sslcerts/cert.pem +rm ./config/sslcerts/csr.pem +chmod 600 ./config/sslcerts/key.pem ./config/sslcerts/cert.pem From 176b619c2d4da90d200b550c64516ab4042bff26 Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Mon, 1 Dec 2014 09:47:51 +0200 Subject: [PATCH 5/7] updating ssl generation script to check app root directory location as safe-guard --- scripts/generate-ssl-certs.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/generate-ssl-certs.sh b/scripts/generate-ssl-certs.sh index c77082d1..5caaaa9a 100644 --- a/scripts/generate-ssl-certs.sh +++ b/scripts/generate-ssl-certs.sh @@ -1,4 +1,13 @@ #!/bin/bash + +if [ ! -e server.js ] +then + echo "Error: could not find main application server.js file" + echo "You should run the generate-ssl-certs.sh script from the main MEAN application root directory" + echo "i.e: bash scripts/generate-ssl-cers.sh" + exit -1 +fi + echo "Generating self-signed certificates..." mkdir -p ./config/sslcerts openssl genrsa -out ./config/sslcerts/key.pem -aes256 1024 From a17f86d5dd7292e4ef26890a95084d3e690ff58f Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Mon, 1 Dec 2014 09:48:52 +0200 Subject: [PATCH 6/7] updating .gitignore with ignoring the correct location of the ssl certficates --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 79f6cf28..adbed9b6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ public/lib app/tests/coverage/ .bower-*/ .idea/ -config/sslcert/*.pem +config/sslcerts/*.pem From 2faaca5e1ac2efd28a7f6c33bd72f7e75b353a42 Mon Sep 17 00:00:00 2001 From: Liran Tal Date: Fri, 5 Dec 2014 19:44:43 +0200 Subject: [PATCH 7/7] default port set to 8443 so it doesnt require root privileges --- config/env/secure.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/env/secure.js b/config/env/secure.js index ee2b270a..8ce09a50 100644 --- a/config/env/secure.js +++ b/config/env/secure.js @@ -1,7 +1,7 @@ 'use strict'; module.exports = { - port: 443, + port: 8443, db: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://localhost/mean', log: { // Can specify one of 'combined', 'common', 'dev', 'short', 'tiny'