登录 Windows 时,它在该页面上说CTRL-ALT-DEL以某种方式使 Windows 更安全。我从来没有想出一种机制,在登录之前必须按下某些特定的组合键才能使系统更安全。我从来没有遇到过让你按任意键登录的 VMS、UNIX 或相关系统——除了旧的基于终端的 UNIX,你按下ENTER以获得登录提示。
如何CTRL-ALT-DEL在登录前按下才能使 Windows 更安全?
我想使用ansible来管理一组现有的服务器。我创建了一个ansible_hosts文件,并-K使用仅针对单个主机的命令进行了成功测试(使用选项)
ansible -i ansible_hosts host1 --sudo -K # + commands ...
Run Code Online (Sandbox Code Playgroud)
我现在的问题是每个主机上的用户密码都不同,但是我在 Ansible 中找不到处理此问题的方法。
使用-K,我只被提示预先输入一个 sudo 密码,然后似乎在没有提示的情况下为所有后续主机尝试:
host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password
Run Code Online (Sandbox Code Playgroud)
迄今为止的研究:
一个StackOverflow 问题,有一个不正确的答案(“使用-K”),作者的一个回答是“发现我需要无密码的 sudo”
Ansible 文档,其中说“使用无密码 sudo 使事情更容易自动化,但这不是必需的。” (强调我的)
此安全 StackExchange 问题将其视为NOPASSWD必需的读取
我有两个文件,id_rsa和id_rsa.pub. 什么命令可用于验证它们是否是有效对?
请注意:我不想把它变成一场火焰战争!我知道很多人对这个主题有着坚定的信念,这在很大程度上是因为他们在防火墙解决方案上付出了很多努力,也因为他们被灌输了相信自己的必要性的观念。
但是,我正在寻找安全专家的答案。我相信这是一个重要的问题,答案不仅对我自己和我工作的公司有益。我已经运行我们的服务器网络好几年了,没有任何妥协,根本没有任何防火墙。安全无妥协,我们也有可能被防止的防火墙。
我想我在这里工作的时间太长了,因为当我说“服务器”时,我总是指“向公众提供的服务”,而不是“秘密的内部计费数据库”。因此,我们的任何规则将在任何防火墙必须允许访问整个互联网。此外,我们的公共访问服务器都位于与我们办公室分开的专用数据中心。
别人问了类似的问题,我的回答被投为负数。这让我相信,要么投票否决它的人并没有真正理解我的答案,要么我对安全性的了解不足以做我目前正在做的事情。
这是我的服务器安全方法:
在将我的服务器连接到 Internet之前,请遵循我的操作系统的安全指南 。
使用 TCP 包装器将 SSH(和其他管理服务)的访问权限限制为少数 IP 地址。
使用Munin监视此服务器的状态。并修复 Munin-node 在其默认配置中固有的严重安全问题。
Nmap 我的新服务器(也是在将我的服务器连接到 Internet 之前)。如果我要为这台服务器设置防火墙,这应该是传入连接应该被限制到的确切端口集。
将服务器安装在机房,并给它一个公网IP地址。
使用我的操作系统的安全更新功能确保系统安全。
我的理念(以及问题的基础)是基于主机的强大安全性消除了防火墙的必要性。总体安全理念表明,即使您有防火墙,仍然需要基于主机的强大安全性(请参阅安全指南)。这样做的原因是,将公共服务转发到服务器的防火墙可以使攻击者与根本没有防火墙一样多。易受攻击的是服务本身,并且由于向整个 Internet 提供该服务是其运营的要求,因此限制对它的访问并不是重点。
如果是,并非需要由整个互联网的访问,请在服务器上的可用端口,然后该软件需要在步骤1中被关闭,并逐步4.如果验证的攻击者成功打入通过易受攻击的软件服务器并自己打开一个端口,攻击者可以(并且确实)通过在随机端口上建立出站连接来轻松击败任何防火墙。安全的重点不是在成功攻击后保护自己——这已经被证明是不可能的——而是首先将攻击者拒之门外。
有人建议除了开放端口之外还有其他安全考虑因素 - 但对我来说这听起来像是在捍卫自己的信仰。无论是否存在防火墙,任何操作系统/TCP 堆栈漏洞都应该同样容易受到攻击——基于端口被直接转发到该操作系统/TCP 堆栈这一事实。同样,在服务器上运行防火墙而不是在路由器上运行(或者更糟,在两个地方)似乎增加了不必要的复杂层。我理解“安全层出不穷”的理念,但有一点就像通过将 X 层胶合板堆叠在一起然后在所有层上钻孔来建造屋顶一样。另一层胶合板不会阻止通过你的那个洞的泄漏
老实说,我认为防火墙对服务器有任何用处的唯一方法是它是否具有防止已知攻击者与所有服务器的所有连接的动态规则 - 就像垃圾邮件的 RBL(巧合的是,这几乎就是我们的邮件服务器所做的) . 不幸的是,我找不到任何可以做到这一点的防火墙。下一个最好的东西是 IDS 服务器,但它假设攻击者不会首先攻击您的真实服务器,并且攻击者在攻击之前会费心探测您的整个网络。此外,众所周知,这些会产生大量误报。
我有一个在 VPS 平台上运行的 CentOS 5.x 机器。我的 VPS 主机误解了我对连接的支持查询,并有效地刷新了一些 iptables 规则。这导致 ssh 侦听标准端口并确认端口连接测试。恼人的。
好消息是我需要 SSH 授权密钥。据我所知,我认为没有任何成功的违规行为。我仍然非常关心我在 /var/log/secure 中看到的内容:
Apr 10 06:39:27 echo sshd[22297]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 10 13:39:27 echo sshd[22298]: Received disconnect from 222.237.78.139: 11: Bye Bye
Apr 10 06:39:31 echo sshd[22324]: Invalid user edu1 from 222.237.78.139
Apr 10 06:39:31 echo sshd[22324]: reverse mapping checking getaddrinfo for 222-237-78-139.tongkni.co.kr failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 10 13:39:31 echo sshd[22330]: input_userauth_request: invalid user edu1 …Run Code Online (Sandbox Code Playgroud) SSH 支持两种密钥对签名算法:RSA 和 DSA。如果有的话,哪个是首选?对于 RSA,可接受的最小密钥长度是多少?
有什么理由让我想要
iptables -A INPUT -j REJECT
Run Code Online (Sandbox Code Playgroud)
代替
iptables -A INPUT -j DROP
Run Code Online (Sandbox Code Playgroud) 我们公司有很多个人电脑,没有人愿意擦除大量硬盘驱动器。我们也有很多学徒工具制造商,他们真的很想破坏东西。因此,每隔几个月,我们的学徒就会收到两个沉重的硬盘篮子进行钻探。
我的一些同事认为这绝对是矫枉过正。但是,我相信在钻取驱动器之前不擦除驱动器可能会使一些数据恢复。
根据这个问题,用DBAN擦除会使数据完全无法恢复。
DBAN 很好。这是一个肮脏的小秘密——任何覆盖驱动器每个字节的程序都将永久擦除所有内容。您不需要使用不同的写入模式进行多次传递等。
钻个洞怎么样?
我有一个 Amazon EC2 实例正在运行,我想向该实例添加另一个安全组,然后从该实例中删除当前的安全组。这可能吗?
security ×10
linux ×5
ssh ×3
firewall ×2
rsa ×2
amazon-ec2 ×1
ansible ×1
centos ×1
command ×1
cryptography ×1
hard-drive ×1
iptables ×1
lamp ×1
sudo ×1
windows ×1