标签: security

linux命令使用netstat和iptables防止dos攻击

我想为每个 ip DROP 200 多个请求以防止 ddos​​ 攻击。这是我用来检测每个 ip 请求数的命令:

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)

现在我想将所有发出超过 200 个请求的 ip 地址添加到 IPtables 中,以便 DROP 输入和输出。

networking security command-line-interface iptables

11
推荐指数
2
解决办法
5380
查看次数

为什么fail2ban 没有禁止这种攻击?

我安装了 fail2ban 来禁止对 ssh 密码进行暴力尝试。在这台机器上不禁用密码认证有业务需求。

fail2ban 是使用相同的厨师手册安装的,该手册有效地禁止了对其他机器的 ssh 攻击。配置了一个 ssh 监狱:

# service fail2ban status
fail2ban-server (pid  5480) is running...
WARNING 'pidfile' not defined in 'Definition'. Using default one: '/var/run/fail2ban/fail2ban.pid'
Status
|- Number of jail:  1
`- Jail list:       ssh
Run Code Online (Sandbox Code Playgroud)

手动禁止用户工作:

# fail2ban-client set ssh banip 103.41.124.46
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有自动禁止任何人:

# cat /var/log/fail2ban.log
2014-11-20 18:23:47,069 fail2ban.server [67569]: INFO    Exiting Fail2ban
2014-11-20 18:44:59,202 fail2ban.server [5480]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.14
2014-11-20 18:44:59,213 fail2ban.jail   [5480]: INFO    Creating new jail 'ssh' …
Run Code Online (Sandbox Code Playgroud)

security firewall ssh fail2ban

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

管理多个 docker 容器的 IAM 安全凭证

在普通的 EC2 环境中,使用 IAM 角色和凭证(从实例元数据自动获取)管理对其他 AWS 资源的访问非常简单。使用 CloudFormation 更容易,当您将特定应用程序角色分配给实例时,您可以在其中即时创建角色。

如果我想迁移到 Docker 并进行 M 对 N 部署,其中有 M 台机器和 N 个应用程序在其上运行,我应该如何限制对每个应用程序 AWS 资源的访问?主机上的任何人都可以访问实例元数据,因此我希望每个应用程序都能够查看/修改同一部署环境中每个其他应用程序的数据。

为在此类环境中运行的应用程序容器提供安全凭证的最佳实践是什么?

security amazon-web-services amazon-iam docker

11
推荐指数
2
解决办法
1231
查看次数

如何使用 Java keytool 生成新的 2048 位 Diffie-Hellman 参数?

我们不是专家,尝试更新我们的 Web 服务器 (JBoss-5.1.0.GA) 设置以满足 Diffie-Hellman 标准 - 到目前为止未成功。在https://weakdh.org/sysadmin.html上运行测试后,我们被告知需要“生成新的 2048 位 Diffie-Hellman 参数”。过去,我们使用 Java keytool 生成密钥,但是我们一直无法找到有关使用 Java keytool 生成新的 2048 位 Diffie-Hellman 参数的任何信息。有谁知道如何做到这一点或可以为我们指明正确的方向?谢谢!

security ssl java keys keytool

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

DKIM:我可以使用大于 2048 位(即 4096)的 RSA 密钥吗?

我想知道我是否可以简单地将 4096 位 RSA 密钥用于 DKIM(在 DNS TXT 记录中)。
是否有任何缺点(忽略计算工作)?
也许有些邮件服务器无法处理这么大的密钥?

另外:是否有使用大于 2048 位的 RSA 密钥的大型邮件提供商?谷歌、雅虎和微软似乎都使用 2048 位密钥。

security email dkim dmarc

11
推荐指数
1
解决办法
3838
查看次数

确认在 CentOS 7 服务器上正确配置了 yum-cron

有什么方法可以测试是否yum-cron配置正确?我需要确认它会自动安装安全补丁,并且会在安装时通过电子邮件发送给我。

我安装了 CentOS 7 Web 服务器yum-cron。它已经运行了几个月,我没有收到任何电子邮件,也没有在/var/log/yum.log. 我认为这是因为实际上没有任何安全更新影响我。当我运行时,yum --security list updates我收到消息No packages needed for security,并且我在centos-announce 中没有看到任何影响我的最新关键补丁。

我的/etc/yum/yum-cron.conf看起来像下面这样,使用真实的电子邮件地址而不是administrator@example.com:

[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = yes

[emitters]
emit_via = stdio,email

[email]
email_from = root@localhost
email_to = root,administrator@example.com
email_host = localhost
Run Code Online (Sandbox Code Playgroud)

security yum centos7

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

堡垒服务器:使用 TCP 转发 VS 将私钥放在服务器上

我们有堡垒服务器 B。我们需要使用私钥从 A 通过 B 到 C 的 SSH。

什么是更好的选择:

  • 将私有 SSH 密钥放在服务器B上。我们了解到在生产环境中这样做是个坏主意。

    从这里:

    永远不要将您的 SSH 私钥放在堡垒实例上。相反,使用 SSH 代理转发首先连接到堡垒,然后从那里连接到私有子网中的其他实例。这使您可以将 SSH 私钥保存在您的计算机上。

  • 使用SSH 代理转发。为了设置代理转发,我需要允许 TCP 转发。设置代理转发时,会在转发主机上创建一个套接字文件,这是密钥可以转发到目的地的机制。在 AWS 的堡垒设置中:

    TCP 转发:将此值设置为 true 将启用 TCP 转发(SSH 隧道)。这可能非常有用,但也存在安全风险,因此我们建议您保留默认(禁用)设置,除非需要

    也从这里:

    SSH 代理转发被认为是有害的

什么是更好的?第二个链接的替代方法:ProxyCommand,我知道它有助于解决套接字文件问题,但我仍然认为我必须启用 TCP 转发,所以它足够安全吗?

security linux ssh private-key bastion

11
推荐指数
2
解决办法
4089
查看次数

一个无线网络上的 SSH 主机标识更改

我定期通过 SSH 连接到远程服务器,从 Ubuntu 系统,在默认端口 22 上。让我们调用服务器example.org。我确信此服务器配置正确,并且我已确认以下问题与我的操作系统无关,并且在重新安装后仍然存在。

有一个特定的 Wifi 接入点,如果我连接到服务器 ( ssh example.org),我会得到以下信息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:[REDACTED].
Please contact your system administrator.
Add correct host key in …
Run Code Online (Sandbox Code Playgroud)

networking security ssh access-point

11
推荐指数
2
解决办法
1968
查看次数

如何判断用户是否有不止一台使用 Outlook 登录的计算机?

我有理由怀疑用户可能正在使用 Microsoft Outlook(或可能是其他电子邮件客户端)的副本从个人设备访问他们的公司电子邮件,以进行数据泄露。我已经排除了他们使用 ActiveSync(Get-ActiveSyncDeviceStatistics -Mailbox [username] | ft DeviceType, DeviceUserAgent, LastSuccessSync在 powershell 中使用)访问他们的帐户的可能性,但我似乎找不到排除 Outlook 桌面应用程序的方法。

根据公司政策,此用户的 IMAP、POP3 和 OWA 被禁用,因此我也可以排除这些。

有没有办法告诉特定用户的哪些 MAPI 客户端正在或已经通过 Exchange 进行身份验证?(这是 Office 365 租户上的托管交换,我拥有完整的管理员权限。)

security powershell exchange microsoft-office-365

11
推荐指数
1
解决办法
1475
查看次数

什么是安全且用户友好的方式来仅向少数用户提供对 Amazon EC2 上的 Web 应用程序的访问?

情况

我们有一个托管在 Amazon EC2 上的 Web 应用程序。它仅供公司中的少数用户使用。

我们如何处理这个问题

  • 我们与用户共享实例的(弹性)IP 地址。
  • 我们根据需要将每个用户的 IP 地址添加到实例的安全组中。

当我说需要时,我指的是用户抱怨门户网站显示错误页面的电子邮件。他们忘记了将 IP 包含在安全组中这一步骤是必需的(我不怪他们;他们是最终用户)。

为了回答这个问题,我们假设一家公司总共有 5 位用户需要此访问权限。User-1和User-2的IP地址已添加到安全组中。

问题

  1. User-3 直接访问该 IP 地址,但无法访问该 IP 地址,因为该用户的 IP 地址尚未添加到安全组。
  2. 如果 User-1 或 User-2 重新启动互联网,他们的 IP 地址可能会发生变化(ISP 提供的动态 IP),并且新的 IP 地址必须添加到安全组中(并且旧的 IP 地址必须被撤销才能生效)。避免他人访问)。

我正在考虑的其他选择

  1. 仅提供对其办公室 VPN 的访问,并要求所有用户通过它进行连接。
  2. (对于用户来说非常麻烦)要求用户登录AWS管理控制台,进入EC2服务,进入安全组部分并手动添加他们的IP地址(用户已经拥有AWS IAM用户和适当的权限来执行此操作) 。
  3. 创建一个将用户当前 IP 添加到安全组的脚本(使用 AWS CLI / SDK) - 听起来非常危险且不合适,因为我们必须在脚本中包含某人的 API 凭证。

security web-applications amazon-ec2 amazon-web-services security-groups

11
推荐指数
2
解决办法
2150
查看次数