首页 / 知识
关于sql server:将数据库密码存储在启动脚本/配置文件中的最佳方法是什么?
2023-04-12 04:34:00

Best way to store a database password in a startup script / config file?因此,我们的Web服务器应用程序需要连接到数据库,而其他一些应用程序则具有在启动时执行的启动脚本。 就这些应用程序而言,最好的存储名称/密码的方法是
Windows和Linux解决方案均表示赞赏!
保护密码的最佳方法是停止使用一个。使用受信任的连接: 如果那对您不起作用,请使用ASP.NET中的内置配置加密系统。 PostgreSQL在其文档中为这种情况提供了一个很好的解决方案。 本质上,您使用ssh将计算机上的端口桥接到远程计算机上的PostgreSQL服务器端口。 这具有三个认证阶段: 这将安全性降低到您的用户帐户是否安全以及ssh配置是否正确以及是否不需要在任何地方存储密码的安全性。 编辑:我应该补充一点,这将与侦听TCP / IP端口的任何数据库一起使用。 它恰好在PostgreSQL中进行了描述。 您将希望iptables(或Linux上的等效表)进行端口限制。 看到这个。 我同意lomaxx:如果有人已经在服务器上或可以对其进行广泛访问(例如sysadmin),那么游戏就结束了。因此,想法是使用您信任的服务器,该服务器在您想要的程度内是安全的。特别:
除此之外,环境变量似乎是存储这些类型的凭据的流行选择,因为这意味着仅对源的访问(例如,通过破坏dev框)不会直接显示它,并且可以很好地本地化以用于每个服务器(开发,测试等)。 在大多数情况下,我认为在纯文本文件中混淆密码就足够了(例如,使用base64)。您无法针对具有root用户访问权限的确定的sysadmin完全保护存储的密码,因此,实际上没有任何需要尝试的操作。但是,简单的混淆处理可以防止意外将密码泄露给肩膀冲浪者。 一个更复杂的替代方法是设置一个专用的安全密码服务器,该服务器可以:
根据所使用的网络协议,这可能无法防止使用tcpdump的恶意sysadmin。而且它也可能无法避免使用调试器来确定系统管理员的身份。到那时,也许是时候来看一下Kerberos票证了。 澄清:在安全性,可维护性方面(例如,如果需要更改登录名,请稍后再找到等) @lomax:也许我不希望每个有权访问物理服务器的人(例如sysadmins)都看到密码。 谢谢! 纯文本?如果它们在您的服务器上,我希望该服务器足够安全,不允许未经授权的访问。如果人们可以访问服务器上的配置文件,则可能是更早出现了问题。 您可以将对称的加密密钥烘烤到二进制文件中,并使该二进制文件在启动时从磁盘上的文件中读取加密的用户名/密码。 但是,这实际上并不仅仅是混淆,因为您的代码可能存储在某个地方的某些源存储库中。 我建议您最好使用防火墙和专用网络气泡来控制物理上和通过网络对服务器的访问,并将密码以明文(或base-64编码)格式存储在磁盘上,并锁定权限给您的Web应用的运行用户。 您还可以锁定数据库服务器以仅接受来自IP的Web应用程序计算机的连接。 最终,您的问题是密钥(您的数据库用户名/密码对)需要可供您的Web应用程序以编程方式无人值守使用。 |
最新内容
相关内容
python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python如何连接mysql数据库
python如何连接mysql数据库,培训,数据,项目,一致,流程,数据库,参数,结果,接口,语句,python数据库接口支持非常多的数据库,你可以选择适合你项python定时修改数据库
python定时修改数据库,时间,服务,培训,单位,代码,标准,线程,操作,时间差,进程,1.传入执行改库操作的时间update_time,用update_time和当前时间python有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。python函数与方法的区别是什么
python函数与方法的区别是什么,培训,函数,方法,区别,对象,以上,方式,更多,内容,python中函数和方法的区别1、函数要手动传self,方法不用传selpython字符串切片的方法是什么
python字符串切片的方法是什么,培训,字符串,索引,切片,开头,方括号,时候,方法,冒号,首尾,获取Python字符串中的某字符可以使用索引:lang=pythopython子类怎么调用父类方法
python子类怎么调用父类方法,培训,代码,初始化,方法,函数,示例,时调,定义,对象,以上,python中类的初始化方法是__init__(),因此父类子类的初始python类自带方法吗
python类自带方法吗,培训,方法,里面,实例,也就是说,下面,对象,以上,之后,参数,python中的类,创建好之后,里面是没有方法的,也就是说,类并没有自带python子类可以调用父类方法吗
python子类可以调用父类方法吗,培训,名称,资料,情况,地方,函数,参数,方法,表示,语句,python中的子类中的__init__()函数会覆盖父类的函数,一些python静态方法怎么使用self
python静态方法怎么使用self,培训,管理,不了,方法,静态,属性,实例,变量,对象,参数,python-静态方法,类方法,属性方法静态方法实际上与类(或者实python魔术方法是什么
python魔术方法是什么,培训,通信,设计,第一,第三,数据,方法,实例,对象,参数,1、什么是魔术方法魔法方法就是可以给你的类增加魔力的特殊方法,python怎么调用实例方法
python怎么调用实例方法,代码,培训,方法,对比,参数,实例,空间,变量,定义,函数,在Python的类体中定义的方法默认都是实例方法,也示范了通过对象