Articles of 安全

使用Django,Gunicorn,Nginx禁用静态代码的执行

Django 1.8文档指出:“如果你正在提供你自己的静态文件,请确保像Apache的mod_php这样的处理程序,它将执行静态文件作为代码,被禁用。 如何禁用Gunicorn + Nginx可能存在的这种处理程序?

如何处理HSTS的端口redirect

目前正在build立一个新的个人服务器的过程。 我一直在阅读关于HSTS( 感谢EFF! ),以及在Nginx上实现的步骤(例如: 这里 )。 我没有看清楚的是如何处理最初的redirect。 我在端口80提供了一些静态错误内容,redirect到HTTPS的实际站点? 到目前为止,我读到的很多内容都表明,从HTTP服务使您的网站容易受到 MITM攻击。 其他人似乎build议 ,只要你有任何cookie实例化的安全标志设置,你很好。 当然,我是平民,我不在预装的HSTS网站列表上 ,所以没有了。 这里的交易是什么? 为了方便网站访问者,我是否应该为80端口服务并redirect?还是我将其暴露给攻击? 全面披露:非贸易行为,不安全的内容服务,只是一个饥饿的思维与学习的机会。

什么是在OpenShift中运行nginx docker容器的正确方法?

RedHat OpenShift将Docker容器作为随机用户标识运行。 这对一些容器工作正常,但NGINX容器需要文件权限设置为世界读/写/执行才能工作。 有没有更正确的方式来build立/运行一个容器用于OpenShift? 例如,OpenShift是否提供任何types的stream程所有权组织或规则? 下面是我下拉的nginx镜像,以及我们当前运行的chmod命令,使其在OpenShift中工作。 registry-nginxinc.rhcloud.com/nginx/rhel7-nginx:1.9.2 RUN chmod -R 777 /var/log/nginx /var/cache/nginx/ \ && chmod -R 777 /var/run \ && chmod -R 777 /etc/nginx/* 参考文献: http://mailman.nginx.org/pipermail/nginx-devel/2015-November/007511.html https://github.com/fsimorbrian/openshift-secure-routes 为什么这个openhift路由在CDK中成功,但在RHEL7 Atomic中失败了?

Django页面被黑了 – 如何反应?

我的原始网页是http://www.stahlbaron.de/ 自2天以来, http://www.joma-topflex.ru/正在指向我的页面。 我意识到这一点,并添加ALLOWED_HOSTS = ['.stahlbaron.de'] ,但没有帮助。 坏的url仍然指向我的网页。 我能做什么? 我用nginx,uwsgi来部署页面。 Ngix不deny www.joma-topflex.ru; 选项不幸。

nginx auth_basic发送密码明文吗?

我正在用这些说明安装netdata( https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04 ) 最后它使用htpasswd创build一个用户:密码文件,看起来像是以某种方式进行了散列处理。 如果我看看我看到的文件… username:$somekindofpasswordhashandnotthepasswordientered 然后指示告诉我做一个这样的服务器块… server { listen your_server_ip:80; server_name example.com; auth_basic "Authentication Required"; auth_basic_user_file netdata-access; netdata-access是nginx conf目录中的密码文件。 所以当我访问这个页面并input密码时,我是否通过networking发送密码明文,或者nginx模块对它进行了哪些encryption? 服务器块在端口80上,而不是443 … 编辑:我快速阅读了这两个东西的文档,我发现没有关于我的问题的信息

Nginx +主pipe+ Gunicorn + Django +芹菜 – 安全问题

我正在用nginx运行一个web服务器,之后是gunicorn来与Celery运行一个Django应用程序。 所有的gunicornstream程和芹菜工都由主pipepipe理。 我的问题是,为堆栈中的每个进程设置权限的最佳实践是什么? 目前我基本上是遵循默认值,我敢肯定有一些部分在这里是不安全的: Nginx的主进程是root,worker进程是以www-data的方式运行的 主pipe以root身份运行 Gunicorn以root身份运行(我试图将其设置为另一个用途,但是进程无法启动) PostgresSQL和RabbitMQ作为自己的用户运行(postgres和rabbitmq) 我还没有设立芹菜,但他们的文件说,不作为根运行 哪些权限可以被收紧,以及我必须确保他们有权访问哪些文件才能工作?

保护Elasticsearch集群

我想创build一个安全的Elasticsearch集群。 关于我的使用案例。 我想要一个多租户系统。 用户必须具有对自己的名称空间的pipe理访问权限。 几次尝试后,我现在只是给用户自己的集群(通过docker)。 尝试1:在具有多租户的专用节点上屏蔽。 这需要我为每个用户修改angular色yml文件。 这是麻烦和痛苦的。 尝试2:docker集装箱+盾牌:经过一些试验和错误,这看起来工作正常,但我不喜欢的许可,我也不明白如何确保TCP传输。 尝试3: Docker容器+ nginx反向代理&htpasswd:这对于确保http传输非常有效,并且现在在Kibana中支持基本身份validation,它与kibana非常相称 。 不幸的是,这限制了我的群集能力,因为9300是开放的。 尝试4:我即将尝试docker集装箱+search卫队:这看起来像一个体面的select,但我仍然不知道如何保证TCP传输。 人们如何确保多租户Elasticsearch集群的安全?

Django + Nginx + Gunicorn设置的外部IP错误

在Django + Gunicorn + Nginx的生产环境中,我得到了一个奇怪的错误,应用程序似乎运行良好,但我得到这个错误,至less透析: Invalid HTTP_HOST header: u'/home/ubuntu/my_apps/myapp/gunicorn.sock:'. The domain name provided is not valid according to RFC 1034/1035. Request repr(): <WSGIRequest path:/SiteMap.xml, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_USER_AGENT': 'masscan/1.0 (https://github.com/robertdavidgraham/masscan)', 'HTTP_X_FORWARDED_FOR': '94.102.48.193', 'PATH_INFO': u'/SiteMap.xml', 'QUERY_STRING': '', 'RAW_URI': '/SiteMap.xml', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': '/home/ubuntu/my_apps/myapp/gunicorn.sock', 'SERVER_PORT': '', 'SERVER_PROTOCOL': […]

Rails:HOST头部攻击漏洞

我非常关心我构build的Web应用程序的安全性,所以我一直使用各种工具来抓取每个应用程序。 虽然所有可以在编程方面完成的事情,而现成的课程,如活动logging,是不可预见的,有一个问题,我不断收到警报,我不知道从哪里开始解决这个问题。 我在Nginx和Rails 4.1后面运行Unicorn 。 我一直得到的警报是这样的: An attacker can manipulate the Host header as seen by the web application and cause the application to behave in unexpected ways. Developers often resort to the exceedingly untrustworthy HTTP Host header (_SERVER["HTTP_HOST"] in PHP). Even otherwise-secure applications trust this value enough to write it to the page without […]

IPTables不会立即用ipset阻塞IP

我有以IPTables IPSet作为规则源来阻止攻击IP ,但是当我添加攻击IP到IPSet ,在我的nginx访问日志中,我仍然看到攻击IP连续访问。 过了一会儿,也许3〜5分钟, IP被封锁了。 iptables的 ~$ sudo iptables -nvL –line-numbers Chain INPUT (policy ACCEPT 317K packets, 230M bytes) num pkts bytes target prot opt in out source destination 1 106K 6004K DROP all — * * 0.0.0.0/0 0.0.0.0/0 match-set Blacklist src Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target […]