Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
博士后、django&;通用Web服务器身份验证安全性(pg_hba.conf等)_Django_Postgresql_Web Applications_Webserver - Fatal编程技术网

博士后、django&;通用Web服务器身份验证安全性(pg_hba.conf等)

博士后、django&;通用Web服务器身份验证安全性(pg_hba.conf等),django,postgresql,web-applications,webserver,Django,Postgresql,Web Applications,Webserver,我正试图用最佳实践和一般安全性来设置我的web服务器,并且已经尽可能多地阅读了 我的服务器正在运行nginx和uwsgi,这两个用户都被设置为作为各自的用户“nginx”和“uwsgi”运行——这两个用户都被设置为无登录,无密码 我的所有应用程序/项目文件夹都以我自己的(非root)用户名和“开发者”组命名。它们被命名为只读 第一个问题) 我的理解是,这是一种很好的做法,因为服务器(uwsgi/nginx)对这些文件没有写访问权限 第二个问题) 我的postgrespg_hba.conf是: l

我正试图用最佳实践和一般安全性来设置我的web服务器,并且已经尽可能多地阅读了

我的服务器正在运行nginx和uwsgi,这两个用户都被设置为作为各自的用户“nginx”和“uwsgi”运行——这两个用户都被设置为无登录,无密码

我的所有应用程序/项目文件夹都以我自己的(非root)用户名和“开发者”组命名。它们被命名为只读

第一个问题)

我的理解是,这是一种很好的做法,因为服务器(uwsgi/nginx)对这些文件没有写访问权限

第二个问题)

我的postgrespg_hba.conf是:

local    all    postgres    ident sameuser
local    appdb  appusername      password
其中,通过pgsql为特定应用程序设置了appdb和appusername

这是否意味着(unix)用户“postgres”只有在获得ident/unix授权时才能在本地登录

此外,这是否意味着对数据库“dbname”的唯一访问是通过具有正确密码的(psql)用户“dbuser”进行的

**最后部分**

如果我的服务器(uwsgi)在技术上对我的django设置文件(其中包含我的数据库详细信息,包括密码和psql用户名)具有读取权限,这不是安全风险吗

欢迎任何澄清

  • 通常情况下,尽可能对权限持偏执态度是一种很好的做法——所以是的。:)
  • 对,对,对
  • 允许的一切都是一种“安全风险”,但有时它就是不起作用。uWSGI是你的应用服务器,如果你的代码无法读取,他应该如何运行你的代码
  • 是的,这是一个很好的做法(尽管对于web应用程序来说很少见),服务器不必对不需要的文件进行写或读访问

  • 是的,这意味着由postgres OS用户运行的任何进程都可以作为postgres数据库用户访问任何数据库。它由ident强制执行,但不是不安全和不可靠的网络ident,而是本地的、安全和可靠的sou____\r\n
    我还建议服务不是通过密码而是通过本地标识进行连接-如果攻击者通过保存的密码以某种方式获得对设置文件的读取权限(例如,从备份、不安全的传输等),则它可以对数据库执行任何操作。使用ident,它必须能够以特定用户的身份运行代码,这要困难得多

  • 一切都是安全风险。安全是管理这种风险的一门艺术——在安全和方便之间保持平衡。如果您可以配置您的服务器,使其不需要访问此文件,并且不会过于不切实际(例如,重新启动时需要手动干预),那么就使用它。也许这种“ident”身份验证会更好