AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-6438

Guss's questions

Martin Hope
Guss
Asked: 2023-01-09 01:19:56 +0800 CST

DKIM 电子邮件验证 - 防止收件人接受未签名的电子邮件?

  • 5

我已经在我的域中设置了 SPF、DKIM 和 DMARC(尽我所能),但我仍然可以发送欺骗性电子邮件 - 没有 DKIM 签名 - 并且它们被接受(至少当我使用 GMail 进行测试时 - 我假设他们对此类事情最严格(2))。当我从非 SPF 批准的 SMTP 服务器欺骗我的域时,GMail 会隔离它,但是当我们使用公共 SMTP 发件人进行工作时(例如 Mailgun 和朋友(1)),SPF 不能成为最后一道防线 -据我了解,这就是 DKIM 的本意。

我已经正确设置了我的 DKIM 密钥,并且签名的电子邮件得到了正确的验证(当 GMail 收到时我检查了电子邮件标题,它看起来很好),并且我已经设置了 DMARC 如下:

$ dig txt _dmarc.mydomain.com
;;...
;; ANSWER SECTION:
_dmarc.mydomain.com. 300 IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected];"

但是然后通过 DNSExit 发送欺骗性(即未签名)电子邮件(为了完成,使用不是我公司的 DNSExit 帐户的免费帐户,这无关紧要)-GMail 接受它来自我的域并且不隔离它,也不标记它带有任何警告。

这是 GMail 收到的电子邮件中的相关标头:

ARC-Authentication-Results: i=1; mx.google.com;
       spf=pass (google.com: domain of [email protected] designates x.x.x.x as permitted sender) [email protected];
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mydomain.com

所以看起来 GMail 甚至没有检查 DKIM?

我在某个地方读过(虽然没有在我在邮件服务提供商处看到的任何 DKIM 设置说明中读到)- 在这个服务器故障问题中值得注意的是,您需要在域的顶级_domainkey记录中使用“域策略记录”,但这什么都不做——正如服务器故障答案中所指出的那样,它已被废弃(?)

我真的希望公共(合规)邮箱服务器停止接受据称从我的域发送的非 DKIM 签名电子邮件 - 我该怎么做?


(1) 需要身份验证但并不总是正确验证域所有权的公共 SMTP 发件人(或者根本没有,我在看你 - DNSExit)。

(2) 后来我用 outlook.com 进行了测试,它显然确实隔离了我的欺骗性电子邮件,并添加了这个标题:Authentication-Results: spf=permerror (sender IP is X.X.X.X) smtp.mailfrom=mydomain.com; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine heaader.from=mydomain.com;compauth=fail reason=000。为什么 GMail 不是安全堡垒?

email
  • 1 个回答
  • 58 Views
Martin Hope
Guss
Asked: 2021-09-23 04:30:46 +0800 CST

Vagrant Windows 10 软件包步骤删除用户配置文件?

  • 0

我正在构建一个 Vagrant Windows 10 机器(使用 libvirt,基于此处记录的工作流程:https ://fishilico.github.io/generic-config/windows/vagrant.html )。虚拟机准备好后,我运行:

vagrant package default --output win10-libvirt.box

然后我将“盒子”文件带到另一台机器并使用vagrant add.

问题是,作为设置的一部分,我向用户~/.ssh/authorized_keys文件添加了一个密钥,但是当我在第二台机器上启动新盒子时 - 该文件消失了。我还尝试在 Microsoft Windows OpenSSH 端口上支持的“管理员密钥”文件中添加一个密钥C:\ProgramData\ssh\administrators_authorized_keys——但是当我启动新盒子时它也消失了——实际上整个C:\ProgramData\ssh文件夹都消失了。

是否vagrant package清理机器配置文件夹,如果是这样 - 可以以某种方式禁用它吗?我找不到有关此的文档。

windows ssh virtual-machines vagrant
  • 1 个回答
  • 37 Views
Martin Hope
Guss
Asked: 2016-10-03 01:27:32 +0800 CST

SELinux:如何创建新的文件类型

  • 9

在 RHEL/CentOS 7 上,我正在尝试为文件创建新的 SELinux 安全上下文,以支持我正在编写的新服务。

我已经为我的新服务创建了一个类型强制文件,但我无法创建系统将识别为文件类型的新类型。

我正在根据这个CentOS 5“构建本地策略模块”文档工作,它指示我创建一个 TE 文件,然后使用checkmodule并semodule_package编译它。

如果我只是写在我的 TE 文件中:

type myservice_spool_t;

然后 TE 编译得很好,但是当我尝试时,semanage fcontext我得到了这个:

$ sudo semanage fcontext -a -t myservice_spool_t "/var/spool/myservice(/.*)?" 
ValueError: Type myservice_spool_t is invalid, must be a file or device type

我已经阅读了各种教程,但没有找到一个有效的例子——我看到的一切都是:

  • 过时的 - 例如这个RHEL 4 SELinux 文档页面说应该使用type myservice_spool_t, file_type;但checkmodule说:ERROR 'attribute file_type is not declared'
  • 不完整 - 例如这个答案会让我使用宏file_type(),但checkmodule说:ERROR 'This block has no require section.' at token 'files_type'
  • 或完全缺失 - 例如,针对 RHEL 7 的新 SELinux 指南没有任何关于如何创建新策略的信息,除了使用audit2allow.

SELinux 项目网站完全没用,因为我找不到一个工作示例

我会很感激一个简单的简洁示例,说明如何编写一个 TE 文件,该文件引入了一种新的类型,semanage fcontext将被批准。

[更新]

我找到了这个用于创建策略文件的 Gentoo 文档,其中有一些有用的解释和示例。

centos7 selinux rhel7
  • 3 个回答
  • 5016 Views
Martin Hope
Guss
Asked: 2015-12-23 23:12:00 +0800 CST

将 Amazon Elastic Container Registry 与 Jenkins 集成

  • 10

我正在尝试将 Amazon 的新 Elastic Container Registry (ECR) 与我的 Jenkins 构建服务集成。我正在使用 Cloudbees Docker Build & Publish 插件来构建容器映像并将它们发布到注册表。

为了使用 ECR 而不是我的私有注册表,我运行了 AWS CLI 命令aws --region us-east-1 ecr get-login,该命令会发出一个docker login要运行的命令 - 但我只是复制了密码并从该密码创建了一个类型为“带密码的用户名”的 Jenkins 凭证(用户名是总是“AWS”)。

这很好用!问题是 AWS CLI 生成的 ECR 密码仅在 12 小时内有效。所以现在,我必须每天两次手动重新生成密码并手动更新 Jenkins 凭据屏幕,否则我的构建开始失败。

有没有办法生成永久 ECR 登录令牌,或者以某种方式自动生成令牌?

amazon-web-services
  • 4 个回答
  • 5969 Views
Martin Hope
Guss
Asked: 2015-01-15 06:05:27 +0800 CST

如何“un-ANSI-fy”日志?

  • 10

最近命令行工具倾向于在其日志输出中使用花哨的 ANSI 颜色(例如,NPM 和许多基于 nodejs 的工具、rvm、docker 和一些其他“现代”工具)。

这使得在屏幕上阅读 (*) 变得很好,但当您想通过管道将输出传输到日志文件或通过不能很好地处理 ANSI 的传输(如各种远程执行工具和基于 Web 的监控解决方案)时就不那么好了。许多更成熟的工具至少可以检测输出何时不是 TTY 并禁用颜色,但不能使用那些新奇的“用户友好”CLI - 这让我尝试通过管道摆脱 ANSI 颜色通过另一个过程输出。

通过 sed-ing 输出s/\x1B\[[0-9]*\w//g似乎可以完成工作,但是有没有一种更简洁的方法,然后只需将粘贴正则表达式复制到我的所有脚本中?

(*) 至少在该工具尝试在您的深色背景终端上以深红色显示错误之前。

shell
  • 1 个回答
  • 1468 Views
Martin Hope
Guss
Asked: 2015-01-07 00:37:06 +0800 CST

设置 postfix 以从网络接口中继电子邮件

  • 1

我在具有多个外部接口和多个内部接口的系统上运行 postfix,我希望 postfix 接受来自外部接口的本地发送电子邮件,并接受来自内部接口的中继电子邮件。

根据设置时有哪些不可路由的网络可用)。

我知道内部接口是如何命名的,所以我想设置后缀,例如:

mynetworks = if:docker0 if:docker1

但显然这不是什么mynetworks。有没有办法在后缀中设置这样的东西?

postfix
  • 1 个回答
  • 434 Views
Martin Hope
Guss
Asked: 2014-12-03 09:41:14 +0800 CST

AWS 上的 cloud-init:映像和重建后挂载消失

  • 0

我正在使用 cloud-init 自动准备 AWS 映像 (AMI) 以在生产环境中使用 - 这样我可以在源代码控制系统中跟踪环境设置过程,但是当我需要时可以跳过那个冗长的过程新的生产服务器。

所以过程如下:

  1. 使用 cloud-init 文件启动新的基础映像(Ubuntu 14.04 cloud-image)
  2. 等待 cloud-init 完成,然后从正在运行的实例创建一个映像,然后终止它
  3. 为了启动一个新的生产服务器,我使用一个小型 cloud-init 从 AMI 启动并执行最终配置(设置正确的主机名、部署软件等)。

我遇到的问题是第一个 cloud-init 配置文件使用disk_setup, 和mounts模块来挂载 EBS 卷。完成后,实例已/etc/fstab更新,一切正常。但是,在执行第 3 步之后,生成的实例已正确附加并安装了 EBS 卷(实际上是它的副本),但/etc/fstab不包含该卷的安装。幸运的是,在第 3 步之后我没有重新启动,但我可能会破坏服务器。

知道发生了什么吗?我没有mounts在步骤 3 的 cloud-init 配置中使用,但为什么它不保留fstab图像中的设置?

ubuntu
  • 2 个回答
  • 875 Views
Martin Hope
Guss
Asked: 2014-06-18 03:48:30 +0800 CST

SaltStack minions 更换 master 后需要重启

  • 0

我正在使用 SaltStack 管理 EC2 上的多个服务器,包括 Linux 和 MS-Windows 安装。主服务器可以完全部署(使用 cloud-init),当我更改主服务器的配置时,我只是丢弃旧的主服务器并从头开始重新创建它。主密钥是持久配置的一部分,autosign用于自动接受已知主机,因此重建对 PKI 来说不是问题。

重新创建主服务器后,我可以看到 minions 重新连接 - 通过运行salt-key -L,但没有响应(salt '*' test.ping未列出任何响应)。在每个主机上重新启动salt-minion服务可以解决问题,但这确实需要手动登录到每个托管主机以发出重新启动。

是否可以进行一些设置来防止该问题?

linux
  • 2 个回答
  • 1074 Views
Martin Hope
Guss
Asked: 2014-06-18 00:28:45 +0800 CST

Ubuntu 12.04 cloud-init 不支持“write_files”,怎么办?

  • 2

我正在使用 cloud-init 在 EC2 上设置 Ubuntu 虚拟机。我最近需要支持使用 Ubuntu 12.04(旧 LTS)映像的部署,但是 Ubuntu 12.04 中的旧 cloud-init 0.6.3 不支持write_files我需要的模块。

我目前正在使用runcmd和 bash 破解它,但这并不是处理向系统添加文件的正确方法。

有更好的解决方法的想法吗?

ubuntu
  • 1 个回答
  • 941 Views
Martin Hope
Guss
Asked: 2014-06-02 01:26:46 +0800 CST

使用 npm install 作为 MS-Windows 系统帐户

  • 4

我有一个在 Windows 上运行的节点应用程序,我希望能够自动更新。当我npm install -d以Administrator帐户身份运行时 - 它工作正常,但是当我尝试通过我的自动化软件(运行为local system)运行它时,当我尝试从私有 git 存储库安装私有模块时出现错误:

    npm ERR! git clone [email protected]:team/repository.git fatal: Could not change back to 'C:/Windows/system32/config/systemprofile/AppData/Roaming/npm-cache/_git-remotes/git-bitbucket-org-team-repository-git-06356f5b': No such file or directory
    npm ERR! Error: Command failed: fatal: Could not change back to 'C:/Windows/system32/config/systemprofile/AppData/Roaming/npm-cache/_git-remotes/git-bitbucket-org-team-repository-git-06356f5b': No such file or directory
    npm ERR! 
    npm ERR!     at ChildProcess.exithandler (child_process.js:637:15)
    npm ERR!     at ChildProcess.EventEmitter.emit (events.js:98:17)
    npm ERR!     at maybeClose (child_process.js:735:16)
    npm ERR!     at Socket.<anonymous> (child_process.js:948:11)
    npm ERR!     at Socket.EventEmitter.emit (events.js:95:17)
    npm ERR!     at Pipe.close (net.js:451:12)
    npm ERR! If you need help, you may report this log at:
    npm ERR!     <http://github.com/isaacs/npm/issues>
    npm ERR! or email it to:
    npm ERR!     <[email protected]>

    npm ERR! System Windows_NT 6.1.7601
    npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-d"
    npm ERR! cwd D:\nodeapp
    npm ERR! node -v v0.10.8
    npm ERR! npm -v 1.2.23
    npm ERR! code 128

只需使用相同的系统运行 git clone 即可。有任何想法吗?

更新:以下是_git_remotes目录的权限:

> get-acl C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes |Format-list

Path   : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_git-remotes
Owner  : BUILTIN\Administrators
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  :
Sddl   : O:BAG:SYD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)
windows
  • 1 个回答
  • 4031 Views
Martin Hope
Guss
Asked: 2014-04-28 03:42:38 +0800 CST

Unix 进程没有被杀死但没有运行

  • 0

我有一个正在运行一些自定义软件的系统,然后可能会收到一个SIGHUP. 作为 的结果SIGHUP,该进程会进行一些清理并终止,但它不会终止其长时间运行的子进程。

在系统运行了几个月后(在此过程中,我的许多进程不幸被挂了),我可以在我的 Ubuntu 12.04 服务器中看到我有许多以 init 作为它们的子进程父母,但他们没有运行,也没有停止或僵尸 - ps 显示他们处于“睡眠”状态。

如果我尝试 strace 这些进程之一,该进程开始运行,然后立即看到它试图处理不再存在的文件(几个月前创建和删除的临时文件)并退出:

# strace -fp 16111
Process 16111 attached - interrupt to quit
open("/tmp/some-file", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "/tmp/some-file:"..., 59) = 59
close(3)                                = 0
exit_group(1)                           = ?
Process 16111 detached

如果我尝试这样做也会发生这种情况kill -STOP <pid>(至少我猜是这样 - 在我发送信号后,进程消失了)。

知道发生了什么吗?

process
  • 1 个回答
  • 995 Views
Martin Hope
Guss
Asked: 2013-10-08 07:22:28 +0800 CST

强制 LAN 主机通过代理

  • 1

我在 Debian 服务器上有一个 IPTables 防火墙,后面有一堆主机伪装。在上游网络中,我无法直接访问互联网,我需要通过代理服务器才能访问网站。

我希望防火墙后面的主机自动通过代理服务器,而不需要每个主机自己设置代理(主要是因为我希望能够单点更改代理地址,因为我有不同的代理用于不同的网络场景)。

有没有办法让 IPTables 强制端口 80 和 443 上的所有传出流量通过代理?如果没有,我可以使用其他一些现成的软件来获得我需要的行为吗?

linux
  • 2 个回答
  • 7576 Views
Martin Hope
Guss
Asked: 2012-11-22 04:36:42 +0800 CST

从 Windows“网络服务”证书存储中删除证书

  • 1

我有一项服务,以“网络服务”权限运行,将证书安装到“网络服务”的“个人证书库”中。

由于超出此问题范围的原因,我需要删除该证书,但使用 MMC 的“证书”管理单元我找不到该证书。我尝试打开“服务”->“本地计算机”->“服务名称”的证书存储区,但那里什么也没有,而服务肯定报告它看到了证书。

知道如何访问该个人证书存储吗?

windows
  • 3 个回答
  • 4081 Views
Martin Hope
Guss
Asked: 2009-08-19 05:27:14 +0800 CST

删除机器帐户后如何使用 Samba 重新加入 AD2003 域?

  • 5

在一些故障排除过程中,我从我们的 AD 2003 域中删除了运行 samba 的 Linux 服务器的机器帐户。我们正在使用 Kerberos 进行身份验证,在我删除机器帐户后,我尝试再次使用

net ads join -U Administrator

但我不断收到这样的 Kerberos 错误:

[2009/08/18 16:14:36, 0] libads/kerberos.c:ads_kinit_password(228)
     kerberos_kinit_password [email protected] failed: Client not found in Kerberos database
 Failed to join domain: Improperly formed account name

看起来好像 samba 记得它曾经在 AD 上拥有一个帐户并不断尝试重新连接到它,但我想从头开始创建一个新帐户。我试图删除我能找到的所有 .tdb 文件以及 /var/cache/samba 下的所有内容,但无济于事 - 它的行为仍然相同。

我也尝试在 AD 端创建机器帐户,但是当我尝试加入时出现类似的错误,关于无法使用机器帐户进行身份验证 - 看起来 samba 尝试了以前的机器帐户密码,而我没有知道如何重置它,或者即使我可以弄清楚 samba 使用什么 - 如何在 AD 中设置它。

任何帮助将不胜感激,因为此时我唯一能想到的就是重新格式化并重新安装机器,我真的很想不这样做。

提前致谢。

linux active-directory samba kerberos
  • 4 个回答
  • 18120 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve