Articles of 安全

在mongodb / node中存储敏感数据

我正在开发一个项目,要求我的networking应用程序从用户那里收集敏感信息(例如驾照的照片)。这是通过在Angular上进行file upload完成的,我计划将这些图像作为二进制数组存储在MongoDB中。 我也在考虑直接在服务器上使用node.js(busbuy或fs我相信)来存储图像,并在服务器中存储图像的引用(在两种情况下,API点都实现了适当的访问控制)。问题是。我不知道这两种方法会有多安全。 像密码一样,我不认为存储敏感数据(DL,SSN)的“原始/原始”图像在任何意义上都是安全的。 什么是保护敏感图像在服务器上存储的方法?

Express JS – 检测电脑机器人,垃圾邮件

我试图在网上search,但没有得到这种东西。 我正在寻找expressjs / nodejs框架来识别和阻止垃圾邮件和从我的服务器抓取数据的计算机/用户。 我想保护我的服务器免受机器人。 只允许用户在那里和最好的框架。 function如 鉴定 阻止用户/ ips /networking 读取模式

在MongoDB中访问控制

比方说,一个应用程序是纯粹使用JavaScript和node.js直接连接到MongoDB的后端。 在这种情况下,有可能有一个安全的应用程序,用户login和权限分离像pipe理/用户/来宾。 如果是这样如何工作? 它需要什么?

使用root权限安装node.js是否有缺点?

我正在使用下面的代码来安装节点: cd /usr/local/src/ wget http://nodejs.org/dist/v0.10.25/node-v0.10.25.tar.gz tar -xvf node-v0.10.25.tar.gz cd node-v0.10.25 ./configure make make install # node.js links to make sudo work right ln -s /usr/local/bin/node /usr/bin/node ln -s /usr/local/lib/node /usr/lib/node ln -s /usr/local/bin/npm /usr/bin/npm ln -s /usr/local/bin/node-waf /usr/bin/node-waf 该脚本需要root权限,我想知道是否会打开任何安全漏洞的可能性,或类似的东西。 我想安装节点,以便所有的用户都可以使用它,但我不希望它有任何root权限,除非用户有他们,并明确地使用它们(通过sudo)。 与安装的npm包一样。

保护POST请求

我有一个expresjs应用程序 如何在发布表单时确保ID。 我有一个隐藏的字段ID的forms: <input type="text" name="id" id="id" hidden="hidden" value="1"> 该ID可以很容易地更改为无效的数据发布到我的数据库。 我怎样才能保护它? 我应该哈希吗?

当攻击者获得用于生成JWT的秘密时会发生什么?

据我所知,JWT身份validation基本上是这样工作的: 用户将login凭据发送到服务器 如果login凭证是正确的,则服务器发出一个包含用户标识和用户名的JWT(或任何你想在有效载荷中标识用户的) 此JWT是使用应用程序范围的秘密生成的,应该将其存储在环境variables中 JWT由用户存储,例如存储在localStorage中,并在每个请求中向服务器发送报头 来自auth头文件的JWT使用应用程序范围的秘密进行validation。 如果validation成功,我们知道谁发送了请求,以及请求是否被授权。 但是如果攻击者能够访问用于生成智威汤逊的秘密,会发生什么? 是不是像主密码? 随着秘密和用户的ID /用户名,任何人都可以为任何用户发布JWT,并基本上接pipe任何帐户。 这不是一个巨大的缺陷,因为一小块信息会危及整个系统(而不仅仅是一个用户帐户)? 还是我误会了?

在哪里存储凭据?

我正在构build一个包含图像上传function的应用程序,并决定使用Aws S3作为文件存储服务。 为了将图像上传到aws s3,您需要为该服务提供具有凭据的API。 为了保证这些证书的安全,我决定将它们存储在我自己的服务器上,并且只在需要上载图像时才将它们提供给客户端。 以下是我上传图片的过程: 1)客户端从相机胶卷select图像并点击上传button 2)该应用程序向我自己的服务器发出请求,并通过图像托pipe服务的访问密钥(aws s3) 3)客户端现在可以上传图片到aws s3。 上传完成后,客户端将删除证书。 我的问题是: 1)这样做是否安全? – 有没有更好的方法来处理这个问题? 2)我应该在哪里存储凭据在我的服务器,以保持他们的安全? 我的意思是我应该将它们存储在一个文件,数据库,代码中? *我使用graphql / expressjs作为后端,并将本机作为前端进行响应。

服务器端消息数据安全

将从客户端接收的服务器端消息内容清理为查询string参数之一的最佳方法是什么? 这个消息也意味着被重新发送到其他连接的客户端,所以它在服务器或客户端的代码执行或注入(JavaScript或HTML)方面是安全的。

Node – Express 4 csrf

随着Express 4连接的曙光不再是依赖。 我无法在快递网站上find任何新的csrf实施。 旧的方式是app.use(express.csrf()); 然后添加一个中间件函数来在视图中显示它。 我的问题是:我现在不得不把连接作为一个依赖项,或者是有一些现在expression的东西,允许我错过了csrf? 或者我可以只包含csrf的来源到我的应用程序?

使用encryption的cookie和会话存储来保护请求

我最近注意到,我正在咨询的应用程序正在使用未encryption的cookie。 前端(Angular)定期使用以下内容来提取用户标识: var user_id = JSON.parse($cookies.userdata).id; 我想象一个不愉快的访问者可以不断地使用他们的浏览器来改变他们的ID和访问他们不应该的资源。 这是一个巨大的红旗,我可以用一些帮助支持这一点。 这看起来像一个足够坚实的指导 ,但我并没有把自己的想法围绕在不同的部分。 如果我使用Mozilla的客户端会话,那么cookie中存储了什么? 任何我想要的? 我有诸如GET /api/v1/user/:user_id API路由来返回关于用户的信息。 如果Cookie在浏览器中被encryption,我将失去访问当前user_id并进行此API调用的能力。 我的行动计划是什么? 为这个API创build一个代理服务器端,首先解密cookie,提取user_id , 然后调用GET /api/v1/user/:user_id ? API路由被一个函数保护, req.isAuthenticated() === true ,如果有帮助的话。 鉴于以上情况,会议在什么时候开始? 假设我在MongoDB中存储用户会话。 我们知道cookies只能存储4kb,但如果这样就足够了? 应该在cookie中存储什么types的数据以及应该在用户会话中存储哪种数据? 你的回答将会是一个很长的路要走,清理一些对我来说有点黑盒子的概念。