Articles of 安全性

使用ssh密钥时强制更改过期的密码

我正在一个环境中,我有一个帐户在多个Linux机器帐户和密码独立pipe理(没有活动目录/ LDAP / etc)和密码每30天过期。 因此,我认为使用ssh密钥pipe理我的身份validation会更容易。 我能够使用我的SSH密钥进行身份validation就好了。 但是,我发现当我的密码过期时,当我尝试使用我的ssh密钥进行连接时,系统会提示我更改密码。 这是正常的行为? 我认为使用密钥对的全部重点是绕过你的密码。 如果我使用密码login,是否只能提示更改我的密码?

反向代理背后的OpenStack Horizo​​n(首选nginx)

现在的情况: 我有一个Triple-O OpenStack安装(Liberty),甚至连“公共”networking都在私有环境(10.24.7.0/24networking)中。 访问该networking的唯一方法是通过网关主机。 我希望使用反向代理从互联网访问Horizo​​n。 由于安全问题,所有外部通信应通过HTTPS进行encryption。 反向代理应该用作SSL终止主机,并且所有内部通信应该是未encryption的。 OpenStack部署未configuration为使用SSL / TLS,并不知道“公共”networking并非真正公开。 我目前正在尝试使用Nginx作为反向代理,但如果他们提供了解决我的问题的方法,也可以使用其他反向代理软件。 网关主机正在运行RHEL 7.2,Nginx从官方的Nginx仓库安装在版本1.11.1(主线)上。 gateway.example.com是示例中使用的FQDN, 1.2.3.4是示例中使用的网关主机的外部IP地址 10.24.7.9是Triple-O安装的“公共”端点 到目前为止工作: http://gateway.example.com加载index.html,其中可以下载用于签署服务器证书的CA的证书。 由于OpenStack安装不知道它是在SSL端点后面,所以我必须重写内容中的链接。 这是通过两个sub_filter指令完成的,一个是通用的( sub_filter 'http://$host' 'https://$host'; ),另一个replaceOpenStack端点IP( sub_filter 'http://10.24.7.9' 'https://$host'; ) Horizo​​n的consolefunction允许用户通过embedded在Horizo​​n中的NoVNC连接到实例的串行控制台。 NoVNC使用websocket在浏览器和运行实例的物理主机之间build立一个双向的TCP连接。 为了支持这一点,我不得不configurationNginx来允许HTTP连接升级,并听取端口6080。 iptables允许端口80,443和6080的stream量。 问题: 在Horizo​​n页面上显示实例的详细信息,而不是显示选项卡的主体(概述,日志,控制台,操作日志),选项卡行将重复,只显示概览选项卡的内容。 与实例的控制台的连接失败,错误1006.(获取控制台在其自己的浏览器选项卡中显示的所需URL使用nova get-vnc-console <ID> novnc并用FQDNreplace端点IP)。怀疑这个错误是由于从HTTP1.1升级到websocket标准的连接包含关于不能直接从浏览器访问的“公共”接口或NoVNC软件拒绝连接的信息到configuration的服务器地址/主机名(“公共”)与请求中的地址(代理名称/ IP)之间不匹配。 这些都是猜测。 Nginx的configuration文件 ssl_certificate /etc/nginx/certs/gateway.example.com.crt; ssl_certificate_key /etc/nginx/certs/gateway.example.com.key; ssl_dhparam /etc/nginx/certs/dh.pem; ssl_protocols TLSv1.2 TLSv1.1; ssl_ciphers AES256+EECDH:AES128+EECDH:!aNULL:!eNULL:!ECDSA:!SHA:!DSS; ssl_prefer_server_ciphers on; ssl_session_cache […]

configurationiptables来保护运行Docker容器的服务器

我尝试使用Docker运行2个容器(问题不是特定于他们): MySQL(官方容器) Redmine(官方集装箱) 每个容器都有一个转发的端口: MySQL: 127.0.0.1:3000 -> 3000/tcp Redmine: 127.0.0.1:3306 -> 3306/tcp 正如你所看到的,目标是让他们只能在主机内访问。 一个Nginx服务器(不是通过Docker安装的)侦听端口80,并将任何请求redirect到Redmine容器端口(使用代理function: proxy_pass等)。 所有这一切完美的作品,当我去服务器IP,我可以访问Redmine。 但是,我想要使用iptables添加一些安全性。 所以,目标是: 全部默认删除(这一点是确定的) 允许Docker只在本地主机中生成业务 允许容器访问互联网(下载依赖关系,更新…) 允许访问SSH和Nginx(也可以) 首先,我尝试添加–iptables=false选项来停止–iptables=false搞乱我的iptables。 重启后,我认为,用干净的iptables(所有的政治默认设置为ACCEPT ,所以没有任何事情完成),一切都会工作。 但事实并非如此,我得到了来自Nginx的"502 Bad Gateway"响应。 我不明白为什么不添加额外的规则,如果Docker无法工作(如果全部是开放的,它应该工作…不是?)。 我试图阅读有关Docker中高级networking的文档,我也尝试了多个教程,但是我找不到阻塞Docker的东西: https://fralef.me/docker-and-iptables.html https://docs.docker.com/v1.8/articles/networking/ 我不是一个Linux / Docker / SysAdmin专家,所以也许,对于你们中的一些人来说,这是显而易见的(至less我希望!)。 不要犹豫,如果需要更多的细节问。 预先感谢您的回答。

AWS – 如何回答“我们应该白名单IP?”

AWS利用“乐高积木式”基础架构组件,将理念从概念validation转化为全面的可销售解决scheme。 一个项目可以从单个EC2转移到一些负载平衡的Web服务器,根据需要添加S3存储,然后将所有项都放在CDN(CloudFront)之后等等。 如所须。 不可避免的是,我们得到这个问题: “我们应该白名单IP? 快速的Googlesearch将返回大量的堆栈交换问题,并在AWS服务之前添加或模拟静态IP。 https://security.stackexchange.com/questions/33616/how-to-whitelist-an-amazon-elb-in-any-firewall Amazon在哪里按区域发布用于EC2实例的IP地址范围? 使用IP地址指向Amazon S3存储 (rmalayter答案中的讥讽语气促使我问这个问题) 我明白我不是唯一一个质疑这个IP迷恋的人。 不pipe这种情况如何,通常都有一种方法,但是让我感到满意的是,经常要求客户的IT部门满意。 这与改进产品无关。 (当我们的服务器需要一个IP地址来与他们的API进行交互时,我可以接受它,但是有时候,他们似乎只是想在开始使用一般公众可以访问的服务之前想要一些白名单) 这往往会阻碍未来架构的改进,因为我们不能再根据需要自由添加AWS乐高积木。 放弃并find获取静态IP地址的方法是正确的吗? 还是应该喋喋不休地说“云计算”是如何运作的,希望将“IT部门”混淆为不接受没有IP地址的白名单? (这已经工作过)。 有没有一个答案,可以让最安全意识的运营团队退却,而仍然友好。

我应该怎么做才能确保新安装的Windows Server 2008?

几次,现在我的服务器已经变得没有反应,检查日志后,我得到了10个请求一秒访问IIS-FTP。 看了之后,我发现默认设置允许100,000个请求! 所以我把它改为5,并实施“阻止所有的IP,除了..” 我们应该改变什么其他的默认设置?

Apache和mod_ssl与多个远程CA一起用于客户端证书

生成客户端证书通过成为您自己的CA与Apache Web服务器是微不足道的工作,并有大量的文件如何实现这一点。 我的问题稍有不同。 我有几个客户想要拥有自己的PKI基础设施。 他们希望能够生成自己的客户端证书并撤消它们。 我们的networking服务器仍然负责授权他们访问我们的networking服务。 任何人都可以听到我可以看到的一些可能的解决scheme吗? 我看到Apache 2.3有一些SSLOCSP *相关的​​指令( http://httpd.apache.org/docs/2.3/mod/mod_ssl.html ),但我并不是完全兴奋使用Apache 2.3甚至更多,所以,它看起来像浏览器对SSLOCSP *有限制,我们正在处理那些不能接受的客户端。

用户安全拒绝存储过程数据修改

我想要一个简单的方法来在我的数据库上创build一个只读的用户。 用户只有在不修改数据的情况下才有权执行存储过程。 我不想弄清哪些存储过程是只读的,并给予权限的方式,因为有太多可以通过。 我认为这是可能的后阅读以下内容: “一个存储过程可能需要存储过程的EXECUTE权限和多个存储过程引用的表上的INSERT权限”。 – http://technet.microsoft.com/en-us/library/ms191291.aspx 不幸的是,我能够执行一个“可执行的”存储过程,将其插入“只读”用户表中。

呈现强制访问控制多级安全的数据库

我在数据库中寻找细粒度(行级和列级)访问控制。 换句话说,我正在寻找强制访问控制(MAC) ,基于安全类(如Bell-LaPadula模型 )分类数据和用户的安全策略。 Oracle有一个产品,即Oracle标签安全 ,它在Oracle DBMS的行级实现了强大的多级安全性。 不幸的是,我无法在MySQL和PostgreSQL等其他数据库中find类似的解决scheme。 有什么build议?

在ActiveDirectory中更改了用户名,但旧的UserName仍在SQL Profiler中显示

我们更改了其中一个ActiveDirectory用户的用户名,但是现在,几天之后,旧的用户名在login时仍在SQL Profiler中显示。 这些SID是否caching了一个用户名的副本? 我可以清除这个caching吗? 用户不具有对SQL服务器的“直接”访问权限,而是在可访问服务器的本地安全组中。

如何在Windows Server 2008上启用SYN Cookie?

我在我的一台服务器上有一个SYN欺骗攻击。 虽然服务器(BW,CPU,RAM)上有足够的可用资源,但新的合法请求会收到Request time-out错误。 似乎积压队列已满并且新请求在队列上超时。 如何在Windows Server 2008企业版(64位)上启用SYN Cookie?