From 1c55bccf91b65cc01c06241cc40beefca68712b9 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Sun, 30 Oct 2022 01:17:10 +0200 Subject: [PATCH] chore(iot): Restrict to local and VPN traffic This patch restricts access from the internet to IoT devices. It's now limited to the local network and VPN access, which reduces the risk of an attack and improves the multi-layer security. --- apps/k8s01/iot/rainer.yaml | 10 +++++---- apps/k8s01/iot/shelly.yaml | 44 ++++++++++++++++++++++---------------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/apps/k8s01/iot/rainer.yaml b/apps/k8s01/iot/rainer.yaml index e6e2c0d5f..44f730617 100644 --- a/apps/k8s01/iot/rainer.yaml +++ b/apps/k8s01/iot/rainer.yaml @@ -16,8 +16,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-11T13:22:25Z" - mac: ENC[AES256_GCM,data:t3k/mWa6ixw39Pvh0nZPNY8txZFj8d18Me3rZXBFz3noZOA6k2XFH99wi6GaXhGwhrSZ0MH6UKC8j0iLF/dG8z65jsyCay4ADVK87F9B2TjN/jgpBSS0vqbaTK13pAJSO2YWVa6LCIz2NFjXDn10K077AwvMDQF3nTOgOJujtRs=,iv:R36OowB3lNoHQUm+P/vEiawSaZS9RWC7HmvYn7NWY7A=,tag:+9mrZGHkJBtMQpWu17hlJA==,type:str] + lastmodified: "2022-10-29T23:15:58Z" + mac: ENC[AES256_GCM,data:hTmGPhatiM9MXUMZGnxOaN/utUX65i/UdrKl5uR+wBHESrCfSqDAIU1U9uRgL5bYZ2acCfP1zA2wAwRmhn7jqWpvrzcPsQm9JrPgirln3rL/HbKbTTWV9pC2Qxcduomh1Vuaxoiq5x378ogyjbFcUL97v7njKtsPdiaUyszHlcw=,iv:qKENbAB7w6qv9r7TsETHkqbIzax2bhyesr/fESvecSw=,tag:w0WvQ9C0nK+0WoxR0g4MiA==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -72,6 +72,8 @@ metadata: forecastle.stakater.com/expose: "true" forecastle.stakater.com/appName: Rainer forecastle.stakater.com/group: IoT + forecastle.stakater.com/network-restricted: "true" + nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.218/32 nginx.ingress.kubernetes.io/auth-response-headers: Authorization nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:jKiHDoG05AspEOjtaHqDMJSR7JJWWxtIdg==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:u3D0MZQR/yVynTH1cu4KwQ==,type:str] nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri @@ -105,8 +107,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-11T13:22:25Z" - mac: ENC[AES256_GCM,data:t3k/mWa6ixw39Pvh0nZPNY8txZFj8d18Me3rZXBFz3noZOA6k2XFH99wi6GaXhGwhrSZ0MH6UKC8j0iLF/dG8z65jsyCay4ADVK87F9B2TjN/jgpBSS0vqbaTK13pAJSO2YWVa6LCIz2NFjXDn10K077AwvMDQF3nTOgOJujtRs=,iv:R36OowB3lNoHQUm+P/vEiawSaZS9RWC7HmvYn7NWY7A=,tag:+9mrZGHkJBtMQpWu17hlJA==,type:str] + lastmodified: "2022-10-29T23:15:58Z" + mac: ENC[AES256_GCM,data:hTmGPhatiM9MXUMZGnxOaN/utUX65i/UdrKl5uR+wBHESrCfSqDAIU1U9uRgL5bYZ2acCfP1zA2wAwRmhn7jqWpvrzcPsQm9JrPgirln3rL/HbKbTTWV9pC2Qxcduomh1Vuaxoiq5x378ogyjbFcUL97v7njKtsPdiaUyszHlcw=,iv:qKENbAB7w6qv9r7TsETHkqbIzax2bhyesr/fESvecSw=,tag:w0WvQ9C0nK+0WoxR0g4MiA==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- diff --git a/apps/k8s01/iot/shelly.yaml b/apps/k8s01/iot/shelly.yaml index a680df47f..a92d15913 100644 --- a/apps/k8s01/iot/shelly.yaml +++ b/apps/k8s01/iot/shelly.yaml @@ -16,8 +16,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -72,6 +72,8 @@ metadata: forecastle.stakater.com/expose: "true" forecastle.stakater.com/appName: Shelly01 forecastle.stakater.com/group: IoT + forecastle.stakater.com/network-restricted: "true" + nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.218/32 nginx.ingress.kubernetes.io/auth-response-headers: Authorization nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:LtmYhpd4lLnuyYH9mF8aHNzChLTmrwgtCw==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:MUA/yQ+SrJ8F2meqqwlQEQ==,type:str] nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri @@ -105,8 +107,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -170,8 +172,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -226,6 +228,8 @@ metadata: forecastle.stakater.com/expose: "true" forecastle.stakater.com/appName: Shelly02 forecastle.stakater.com/group: IoT + forecastle.stakater.com/network-restricted: "true" + nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.218/32 nginx.ingress.kubernetes.io/auth-response-headers: Authorization nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:LtmYhpd4lLnuyYH9mF8aHNzChLTmrwgtCw==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:MUA/yQ+SrJ8F2meqqwlQEQ==,type:str] nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri @@ -259,8 +263,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -324,8 +328,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -380,6 +384,8 @@ metadata: forecastle.stakater.com/expose: "true" forecastle.stakater.com/appName: Humidity & Temprature 01 forecastle.stakater.com/group: IoT + forecastle.stakater.com/network-restricted: "true" + nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.218/32 nginx.ingress.kubernetes.io/auth-response-headers: Authorization nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:LtmYhpd4lLnuyYH9mF8aHNzChLTmrwgtCw==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:MUA/yQ+SrJ8F2meqqwlQEQ==,type:str] nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri @@ -413,8 +419,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -478,8 +484,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -534,6 +540,8 @@ metadata: forecastle.stakater.com/expose: "true" forecastle.stakater.com/appName: Humidity & Temprature 02 forecastle.stakater.com/group: IoT + forecastle.stakater.com/network-restricted: "true" + nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,100.64.0.218/32 nginx.ingress.kubernetes.io/auth-response-headers: Authorization nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:LtmYhpd4lLnuyYH9mF8aHNzChLTmrwgtCw==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:MUA/yQ+SrJ8F2meqqwlQEQ==,type:str] nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri @@ -567,8 +575,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- @@ -628,8 +636,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2022-10-19T12:13:53Z" - mac: ENC[AES256_GCM,data:cW9/LrYVnvAKQq5SC6bglyuitJqKA9XoUaSaCS0mGjUWTX8GHYLpT0RGoviwjl9ooNk9gwHcZ2THD0cW8r9cbZauVtsiwwD7vbPrKJaAbyms0EYdo9TksCE2EqFVZIg8uLVrNcYc2g+i9HEr+U50TqGlg1jzbs5IyG8t05BKxrY=,iv:eaotNSNrTERUdbHKknmSUuEBk76wlignjlu5LB0yBqQ=,tag:Di3Nup1zflNFZSjkRvNbgQ==,type:str] + lastmodified: "2022-10-29T23:16:41Z" + mac: ENC[AES256_GCM,data:tnVW6e6MzvneZobvPSp38dKosyWwBuvTk2W/2tQTErVdMvKSCLvrcnYEOzzYxKzbTuO3zKi++g100k45So6glG1vR/dUR8GUTlXZll8e85KueouW0CaxDCQc9C3TX6H0tCI+nWRvF4lvYqyOFZHY39MWIS87+aKC4d37ITmfed8=,iv:/TzT+OX6nCnVXpE5v8TbN55pJHaGfgw9CpEx+gkk51I=,tag:PP5Ns6y+zj9ELj9PcLH8ZQ==,type:str] pgp: - created_at: "2022-09-13T20:16:18Z" enc: |- -- GitLab