gpt4 book ai didi

mysql - 使用本地 MySQL 数据库保护 Web 服务器

转载 作者:行者123 更新时间:2023-11-29 12:51:11 24 4
gpt4 key购买 nike

我正在为一家小公司创建一个 Web 服务,该服务将使用客户端身份验证,并可能使用 https 来实现 RESTful 服务。我问一个非常简单的问题,希望不是太广泛,但我对互联网安全非常陌生且天真。我必须采取哪些预防措施来确保我的数据安全?

为了稍微描述一下我的服务,用户有一个帐户,他们在其中放置可能不敏感的信息,并使用我在使用加盐密码成功登录时创建的自制身份验证 token 从数据库中检索它。我正在使用一个亚马逊实例,其中 MySQL 位于本地,并且远程授予我访问权限,因此我可以直接从家里访问它。我正在使用一些 php 脚本来完成请求和添加数据的工作,并尝试防止注入(inject)。我将 MySQL 凭据存储在与 php 脚本不同的文件中。我只能使用我认为安全的 pem 文件 ssh 进入我的服务器。

我最担心的是有人会来删除我的所有数据。我还必须采取哪些其他预防措施?谢谢

最佳答案

如果您使用 Amazon EC2,那么您应该利用其安全组来锁定您的 MySQL 服务器并确保无法进行外部访问。

应用程序服务器具有内部非路由 10.x 类型 IP,应用于访问控制,并且如果 VPN 访问或 SSH 隧道不实用,则应将任何外部 IP(例如您的家庭网络)专门列入白名单,因为这些其中两个更容易保护。

绝对确保您的网络根目录中没有存储任何凭据、配置文件或 key 。也就是说,如果您不小心以最糟糕的方式错误配置了应用程序服务器,在打开目录索引和所有内容的情况下,就不可能捕获任何关键内容。

您可能还想专门排除 *.inc 的下载,以防出现错误。这里的想法是建立一些保障措施,在事情发生严重错误之前你必须打破这些保障措施。单一错误的失败情况总是由糟糕的计划造成的。

最重要的是,要极其警惕 proper SQL escaping避免SQL injection bugs因为当有人可以通过你代码中的错误驾驶卡车并自由控制服务器时,你的 MySQL 服务器上的防火墙安全性再多也无济于事。建议在使用之前彻底审核您编写的任何 SQL 接口(interface)代码。

确保有一个使用版本控制系统的正确部署过程。如果您遭受入侵,则可以很容易地回滚到代码的已知良好版本(如果有)。 20 世纪 90 年代风格的“使用 FTP 将文件扔到服务器上”的部署方法即使在最好的情况下也是危险的,而当出现问题时就会对您的业务造成致命的影响。使用版本控制,否则你的时间就是借来的。

关于mysql - 使用本地 MySQL 数据库保护 Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24702612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com