From 04afdda8132a3bc4c46401b556c411e7193fbd1d Mon Sep 17 00:00:00 2001 From: steven Date: Sat, 1 Jun 2019 09:40:20 +0200 Subject: [PATCH 1/4] Setup control-panel --- code-server.iml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 code-server.iml diff --git a/code-server.iml b/code-server.iml new file mode 100644 index 000000000000..80cc7391bd40 --- /dev/null +++ b/code-server.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 77d0d07ba0d72121f7de6a97fb6a4811cbc752df Mon Sep 17 00:00:00 2001 From: steven Date: Sun, 18 Aug 2019 20:23:07 +0200 Subject: [PATCH 2/4] remove sensitive password logging --- packages/server/src/server.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts index 70dbb7654028..9fcff4497647 100644 --- a/packages/server/src/server.ts +++ b/packages/server/src/server.ts @@ -94,7 +94,6 @@ export const createApp = async (options: CreateAppOptions): Promise<{ userAgent = userAgent.join(", "); } logger.info("Failed login attempt", - field("password", cookies.password), field("remote_address", remoteAddress(req)), field("user_agent", userAgent), field("timestamp", timestamp)); From b1af7047d4d15d715e7583c33297d58802714b27 Mon Sep 17 00:00:00 2001 From: steven Date: Sun, 25 Aug 2019 12:43:10 +0200 Subject: [PATCH 3/4] add basic authentication and add external ip address to self-signed certificate --- packages/server/src/server.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts index 9fcff4497647..02bbc639af00 100644 --- a/packages/server/src/server.ts +++ b/packages/server/src/server.ts @@ -52,6 +52,8 @@ export const createApp = async (options: CreateAppOptions): Promise<{ return cookies; }; + const basicAuthString = "Basic " + new Buffer("user:" + options.password).toString("base64"); + const ensureAuthed = (req: http.IncomingMessage, res: express.Response): boolean => { if (!isAuthed(req)) { res.status(401); @@ -103,6 +105,10 @@ export const createApp = async (options: CreateAppOptions): Promise<{ return true; } + + if (req.headers["authorization"] === basicAuthString) { + return true; + } } catch (ex) { logger.error("Failed to parse cookies", field("error", ex)); } @@ -136,9 +142,18 @@ export const createApp = async (options: CreateAppOptions): Promise<{ if (!fs.existsSync(selfSignedKeyPath) || !fs.existsSync(selfSignedCertPath)) { try { + let altNames: string[] = []; + let networkInterfaces = os.networkInterfaces(); + for(let ifName of Object.keys(networkInterfaces)){ + let interfaces = networkInterfaces[ifName]; + interfaces.filter(i => !i.internal && i.family === "IPv4").forEach(i => { + altNames.push(i.address); + }); + } const certs = await new Promise((res, rej): void => { pem.createCertificate({ selfSigned: true, + altNames: altNames }, (err, result) => { if (err) { rej(err); From 519ee018b73877348d09cd0b15022a980a8e77e4 Mon Sep 17 00:00:00 2001 From: steven Date: Sun, 25 Aug 2019 12:54:18 +0200 Subject: [PATCH 4/4] cleanup --- code-server.iml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 code-server.iml diff --git a/code-server.iml b/code-server.iml deleted file mode 100644 index 80cc7391bd40..000000000000 --- a/code-server.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file