标签: security

为什么我必须用 visudo 编辑 /etc/sudoers?

我注意到 sudoers 文件和 cron 配置文件与 Linux 上的其他配置文件相比以一种特殊的方式运行。它们需要使用特殊的包装器而不是任何文本编辑器进行编辑。为什么是这样?

security linux unix configuration sudo

53
推荐指数
2
解决办法
8793
查看次数

如何在没有 swarm 集群的情况下使用 docker secrets?

目前我们是在单个 docker 容器上运行的应用程序,该应用程序需要将各种敏感数据作为环境变量传递,

我将它们放在运行命令中,这样它们就不会出现在图像中,然后出现在存储库中,但是我最终得到了一个非常不安全的运行命令,

现在,我知道存在 docker 机密,但是,如何在不部署集群的情况下使用它们?或者有没有其他方法来保护这些数据?

此致,

security docker docker-swarm

53
推荐指数
2
解决办法
4万
查看次数

IT 经理要离职 - 我要锁定什么?

IT 经理可能会离开,并且分道扬镳可能并不完全是文明的。我真的不希望有任何恶意,但以防万一,我应该检查、更改或锁定什么?

例子:

  • 管理员密码
  • 无线密码
  • VPN 访问规则
  • 路由器/防火墙设置

security

52
推荐指数
7
解决办法
4070
查看次数

防止对 ssh 的蛮力攻击?

您使用什么工具或技术来防止对您的 ssh 端口进行暴力攻击。我在安全日志中注意到,我有数百万次尝试通过 ssh 以各种用户身份登录。

这是在 FreeBSD 机器上,但我想它适用于任何地方。

security ssh brute-force-attacks

51
推荐指数
8
解决办法
9282
查看次数

Linux:为远程系统管理员设置

我不时收到奇怪的请求,要求在 Linux 系统上提供远程支持、故障排除和/或性能调整。

较大的公司通常已经制定了完善的程序来提供对供应商/供应商的远程访问,我只需要遵守这些程序。(不论结果好坏。)

另一方面,小公司和个人总是求助于我,让他们知道他们需要做什么来建立我。通常,他们的服务器直接连接到互联网,现有的安全措施包括其 Linux 发行版的默认设置。

我几乎总是需要 root 级别的访问权限,而为我设置访问权限的人不是专家系统管理员。我不想要他们的 root 密码,而且我也很确定我的行为不会是恶意的,但是我应该给出什么相当简单的说明:

  • 设置帐户并安全地交换凭据
  • 设置 root (sudo) 访问权限
  • 限制对我帐户的访问
  • 提供审计追踪

(是的,我知道并总是警告那些客户,一旦我拥有管理员访问权限,隐藏任何恶意操作都是微不足道的,但让我们假设我没有什么可隐藏的,并积极参与创建审计跟踪。)

以下步骤可以改进什么?


我目前的指令集:

设置帐户并安全地交换凭据

我提供了一个密码哈希,并要求我的帐户设置了该加密密码,因此我们不需要传输明文密码,我将是唯一知道密码的人,我们不会从可预测的弱密码。

sudo useradd -p '$1$********' hbruijn
Run Code Online (Sandbox Code Playgroud)

我提供了一个公钥 SSH(每个客户端的特定密钥对)并要求他们使用该密钥设置我的帐户:

sudo su - hbruijn
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
echo 'from="10.80.0.0/14,192.168.1.2" ssh-rsa AAAAB3NzaC1y***...***== hbruijn@serverfault' >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys 
Run Code Online (Sandbox Code Playgroud)

设置 root (sudo) 访问权限

我要求客户使用sudo sudoedit或使用他们最喜欢的编辑器为我设置 sudo 并附加到/etc/sudoers

hbruijn ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

限制对我帐户的访问

通常,客户端仍然允许基于密码的登录,我要求他们添加以下两行以/etc/ssh/sshd_config至少将我的帐户限制为仅使用 SSH 密钥:

Match user hbruijn
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

根据客户端的不同,我将通过单个堡垒主机路由我的所有 …

security linux audit root sudo

51
推荐指数
3
解决办法
2580
查看次数

压缩的 EXE 文件对 Linux 服务器无害吗?

我在我的网站上运行了一个恶意软件扫描程序,它将一堆压缩的 EXE 文件标记为潜在的风险文件(这些文件是由用户上传的)。由于我能够在 Mac 上解压缩文件,因此我假设这些文件是真正的 ZIP 文件,而不仅仅是重命名的 PHP 文件之类的文件。

所以 ZIP 文件应该不会对我的 Web 服务器造成任何风险,对吗?

security anti-virus malware

49
推荐指数
3
解决办法
8194
查看次数

使用带有空密码的 SSH 密钥可以吗?

当我第一次学习如何制作 ssh 密钥时,我阅读的教程都指出应该选择一个好的密码短语。但是最近,当设置一个需要 ssh 到另一台机器的守护进程时,我发现唯一的方法(似乎)有一个我不需要在每次启动时进行身份验证的密钥是创建一个带有空的密钥密码。所以我的问题是,使用没有密码的密钥有什么问题?

security ssh

48
推荐指数
2
解决办法
2万
查看次数

挂载 /tmp noexec 有多大用处?

许多人(包括Securing Debian Manual)建议/tmp使用一noexec,nodev,nosuid组选项进行安装。这通常表现为“深度防御”策略的一个要素,通过防止让某人写入文件的攻击升级,或防止具有合法帐户但没有其他可写空间的用户的攻击升级。

然而,随着时间的推移,我遇到noexec了一些毫无用处的论点(最突出的是由 Debian/Ubuntu 开发人员 Colin Watson 提出的),原因有以下几个:

  1. 用户可以/lib/ld-linux.so <binary>尝试运行以获得相同的效果。
  2. 用户仍然可以在无法直接运行的脚本上运行系统提供的解释器

鉴于这些论点,对更多配置的潜在需求(例如,debconf像一个可执行的临时目录)以及潜在的便利性损失,这是一项值得的安全措施吗?您还知道哪些其他漏洞可以实现规避?

security linux mount tmp noexec

46
推荐指数
4
解决办法
4万
查看次数

在团队中管理 SSH 密钥的最佳实践是什么?

我与具有以下特征的开发人员和管理员的小团队(<10)一起工作:

  • 团队大部分成员拥有>1台个人电脑,其中大部分是便携式的
  • 团队成员可以访问 10-50 个服务器,通常使用 sudo

我认为这对于大多数初创公司和中小型企业 IT 团队来说是非常典型的。

在这样的团队中管理 SSH 密钥的最佳实践是什么?

您应该为整个团队共享一个密钥吗?

每个人是否应该在共享帐户(每台服务器上的“ubuntu”)上拥有自己的密钥?

分开账户?

每个团队成员是否应该为他们的每台笔记本电脑或台式电脑保留一个单独的密钥?

security ssh keys

46
推荐指数
4
解决办法
1万
查看次数

如何避免与VPN内网的网络冲突?

虽然在 192.168/16 甚至 10/8 之间有各种各样的私有不可路由网络,但有时考虑到潜在的冲突,它仍然会发生。例如,我在 192.168.27 上使用内部 VPN 网络设置了一次安装 OpenVPN。这一切都很好,直到一家酒店在其 wifi 上使用该子网作为 27 楼。

我将 VPN 网络重新 IP 连接到 172.16 网络,因为这似乎几乎没有被酒店和网吧使用。但这是解决问题的适当方法吗?

虽然我提到了 OpenVPN,但我很想听听其他 VPN 部署中关于这个问题的想法,包括普通的 IPSEC。

networking security vpn openvpn

45
推荐指数
3
解决办法
7万
查看次数