我正在运行 SSH 服务器,但我仍在使用简单的密码身份验证。在我阅读有关安全性的任何地方,我都建议使用公钥身份验证。但我没有得到好处。在我看来,使用它们要么是不安全的,要么是很多方便的工作。
当然,如果有人试图强行登录到我的 SSH 服务器,公钥比任何密码都要强得多。但除此之外,它是完全不安全的。
顾问们大多认为您不必记住密码。这有多不安全?因此,如果有人入侵我的计算机,他不仅会盗取我的计算机,还会盗取我的服务器?如果我使用来自各种不同客户端的 SSH,我必须每一个都存储一个公钥,这增加了它们落入不法之徒手中的可能性。我可以将它们保存在随身携带的 U 盘上,但它可能会丢失并且查找器可以访问我的服务器。
可能我更适合使用双因素身份验证。
有什么我想念的论点吗?对我来说最好的方法是什么?
有没有人尝试过运行仅支持 IPv6 的 SMTP 引擎?几乎每个人都为主要的前端服务器配置了 IPv6。我很好奇是否有人尝试运行仅支持 IPv6 的 MTA 并收到任何连接错误。
IPv6-only 是一个可行的解决方案吗?我可以期待一些挥之不去的连接问题吗?或者是不是有一个魔法仙女降临到互联网上,让 25 端口上的 IPv6 到 IPv4 像魔法一样在直接连接上工作?
我需要将 CentOS 安装从使用 LVM 分区的 1TB 磁盘克隆到几台相同的计算机。磁盘大部分是空的,因为只安装和配置了操作系统和一些软件。
如果没有 LVM,我会复制整个分区表,然后使用 partclone 逐个克隆分区:
sfdisk -d /dev/sda | sed -e 's/sda/sdb/' | sfdisk /dev/sdb
partclone.ext4 -c -s /dev/sda# -o - | partclone.ext4 -r -s - -o /dev/sdb#
Run Code Online (Sandbox Code Playgroud)
不过我认为它不适用于 LVM。
当然,我可以使用dd
克隆整个磁盘:
dd if=/dev/sda of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)
但与partclone相比需要太多时间。
有没有办法更快地克隆 LVM 分区?我认为一种可能的解决方案是使用 dd 将 LVM 分区克隆到另一个磁盘中的常规分区,然后使用 partclone 将新磁盘克隆到其他计算机。但我不知道这样的事情是否会起作用:
dd if=/dev/mapper/vg_node07-lv_root of=/dev/sdb1
Run Code Online (Sandbox Code Playgroud)
能行吗?你能告诉我其他解决方案吗?
我有一台运行 Apache + PHP-FPM + FastCGI 的 Ubuntu 14.04 服务器,为用户主页提供服务。为了安全起见,我在 Apache 的配置中启用了:
Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"
Header set X-XSS-Protection: "1; mode=block"
Run Code Online (Sandbox Code Playgroud)
AllowOverride FileInfo
已设置,因此用户可以Header
在.htaccess
需要时使用文件中的指令进行更多控制。但是,Apache 似乎不尊重在 CGI 中使用 PHP 时(当文件为 PHP 时 mod_headers 不发送标头),并且即使使用Header always
,.htaccess
Header
PHP 文件的命令也会被忽略。
我的下一个想法是让用户修改他们的 PHP 代码以使用PHPheader
函数,以便他们可以将其设置为 X,并且setifempty
只有在用户没有时我才能使用它。经过一些试验,我发现这些条目有效:
Header set X-Frame-Options: "sameorigin" env=!SCRIPT_NAME
Header always setifempty X-Frame-Options: "sameorigin" env=SCRIPT_NAME
Run Code Online (Sandbox Code Playgroud)
在没有env
测试的情况下,我发现第一个命令,即使是setifempty
, or merge
,也会添加一个标题,因此您会X-Frame-Options …
我有一台 CentOS 7 机器,我想在 sudo 期间身份验证失败时显示一条消息。pam_echo
我尝试通过在 中添加一行来做到这一点/etc/pam.d/sudo
。
为了进行测试,我创建了一个文件 ,/etc/security/foo
其中包含字符串“bar”。
这是我的 sudo pam 堆栈/etc/pam.d/sudo
:
auth include system-auth
auth optional pam_echo.so file=/etc/security/foo
account include system-auth
password include system-auth
session optional pam_keyinit.so revoke
session required pam_limits.so
Run Code Online (Sandbox Code Playgroud)
由于某种原因,当我无法进行身份验证时,我看不到 pam_echo 的输出。
$ sudo ls
[sudo] password for steve:
Sorry, try again.
[sudo] password for steve:
Sorry, try again.
[sudo] password for steve:
sudo: 3 incorrect password attempts
Run Code Online (Sandbox Code Playgroud)
我用 pamtester 测试了 sudo pam 堆栈,输入错误密码后得到了预期的结果。
$ pamtester sudo steve …
Run Code Online (Sandbox Code Playgroud)