我开始为一家公司工作,该公司解雇了一名前 IT 员工,原因是泄露数据。
我只能说以下几点:
我们使用 Firebird DB 和由另一家公司 Proxmox 编写的应用程序,用于 Windows Server 2008 R2、SQL Server、云核心 Mikrotik 路由器和其他一些 Mikrotik 设备的虚拟化。
我不是 100% 确定,但是有没有一些快速的方法来检查是否还有一些后门,而不会中断内部流程并重新格式化所有内容?
以前的这个人真的很好,用 C++ 和 C# 编写了软件。我也知道他在 ollydbg 中做了一些汇编程序并破解了一些程序。
我不时收到奇怪的请求,要求在 Linux 系统上提供远程支持、故障排除和/或性能调整。
较大的公司通常已经制定了完善的程序来提供对供应商/供应商的远程访问,我只需要遵守这些程序。(不论结果好坏。)
另一方面,小公司和个人总是求助于我,让他们知道他们需要做什么来建立我。通常,他们的服务器直接连接到互联网,现有的安全措施包括其 Linux 发行版的默认设置。
我几乎总是需要 root 级别的访问权限,而为我设置访问权限的人不是专家系统管理员。我不想要他们的 root 密码,而且我也很确定我的行为不会是恶意的,但是我应该给出什么相当简单的说明:
(是的,我知道并总是警告那些客户,一旦我拥有管理员访问权限,隐藏任何恶意操作都是微不足道的,但让我们假设我没有什么可隐藏的,并积极参与创建审计跟踪。)
以下步骤可以改进什么?
设置帐户并安全地交换凭据
我提供了一个密码哈希,并要求我的帐户设置了该加密密码,因此我们不需要传输明文密码,我将是唯一知道密码的人,我们不会从可预测的弱密码。
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)
根据客户端的不同,我将通过单个堡垒主机路由我的所有 …
Linux 服务器被黑客入侵的迹象有哪些?是否有任何工具可以按计划生成审计报告并通过电子邮件发送?
如何确定我的 ssh 服务器支持的 MAC、密码、密钥长度和 KexAlogrithms?
我需要为外部安全审计创建一个列表。我正在寻找类似于openssl s_client -connect example.com:443 -showcerts. 根据我的研究,ssh它使用 中列出的默认密码man sshd_config。但是,我需要一个可以在脚本中使用的解决方案,。我需要在这里更正自己:您可以man sshd_config并且没有列出有关密钥长度的信息ServerKeyBits在sshd_config.
我想这会ssh -vv localhost &> ssh_connection_specs.out返回我需要的信息,但我不确定列出的密码是客户端还是服务器支持的密码。另外我不确定如何在脚本中运行这个非交互式。
有没有方便的方法来获取SSH连接信息?
我想知道在 Linux 环境中跟踪超级用户活动的最佳方法是什么。
具体来说,我正在寻找这些功能:
在需要允许不同系统管理员(甚至第三方)在服务器上执行特权操作的环境中,从安全/审计的角度考虑这一点。
每个管理员都有自己的名义帐户,并且每个交互会话都应该被完整记录,并在必要时可以重播(例如,如果有人使用 mc 删除或更改关键文件,这还不够知道那个人发出了 mc 命令;必须有一种方法可以确切地看到启动 mc 后做了什么)。
附加说明:
我在 Windows Server 2008 机器上运行带有 SSH 守护进程的 Cygwin。我在查看事件查看器时注意到,在过去一周左右的时间里,来自不同 IP 的每秒多达 5 到 6 次失败的登录尝试(蛮力)。
如何自动阻止这些 IP,而不是手动一个一个地阻止它们?
谢谢,艾哈迈德
我有一个通过 ssh 运行的 git 服务器,每个用户在系统上都有一个 unix 帐户。
鉴于两个用户有权访问一个 repo,我如何确定哪个用户执行了哪个提交,因为提交用户名和电子邮件是由 git 客户端提交和控制的。
我担心用户可能会尝试冒充另一个用户,即使他们拥有相同的授权权限。
我正在运行几个基于 RHEL 的系统,它们利用 2.6 内核中的审计功能来跟踪用户活动,我需要将这些日志发送到集中式 SYSLOG 服务器以进行监控和事件关联。有谁知道如何实现这一目标?
在 3 个独立的系统中,域控制器服务器上多次记录以下事件(每天 30 到 4,000 次,具体取决于系统):
An account failed to log on.
Subject:
Security ID: SYSTEM
Account Name: %domainControllerHostname%$
Account Domain: %NetBIOSDomainName%
Logon ID: 0x3E7
Logon Type: 3
Account For Which Logon Failed:
Security ID: NULL SID
Account Name:
Account Domain:
Failure Information:
Failure Reason: Unknown user name or bad password.
Status: 0xc000006d
Sub Status: 0xc0000064
Process Information:
Caller Process ID: 0x1ec
Caller Process Name: C:\Windows\System32\lsass.exe
Network Information:
Workstation Name: %domainControllerHostname%
Source Network Address: -
Source Port: -
Detailed …Run Code Online (Sandbox Code Playgroud) security audit windows-event-log windows-sbs-2011 windows-server-2012-r2
我是一名 Windows 管理员,所以那些与 Windows 集成的人可能会最有帮助。在这一点上,我的主要挑战只是文件共享,但随着 SharePoint 使用的增加,它只会使这变得更加困难。
我已经设置了所有目录,并且允许使用所需的最少访问策略设置许多安全组。我的问题是出于人力资源和合规性原因跟踪这一切。
用户 A 需要对资源 1 的权限。他需要获得资源 1 的经理的批准,然后经理的经理也需要批准此访问权限。一旦所有这些都完成了,我就可以做出改变了。在这一点上,我们只是在纸上跟踪它,但它是如此的负担,并且当用户 A 被重新分配并且在其他情况下不再应该有权访问资源 1 时,它很可能不合规。
我知道我要找的东西应该已经存在,但我不知道去哪里找,我正在与社区联系。
编辑:
感谢您的回复。我认为他们涉及技术方面,希望我的问题不是题外话。我应该让自己更清楚自己的目标。您使用什么系统向审计员展示在 X 天用户 A 已添加/删除权限并且它已被经理 Y 批准?我目前有一个基本的票务系统,但我没有看到它以易于理解的格式提供我需要的东西。
在我的脑海中,我正在想象一些关于用户 A 的报告,该报告将显示对其权限所做的所有更改。理想情况下,链接到 Active Directory 的内容是理想的,但此时我希望找到更基本的内容。我希望有一个专门用于此的应用程序。
谢谢!