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-89644

Mike's questions

Martin Hope
Mike
Asked: 2019-08-06 12:24:22 +0800 CST

根据 DMARC 报告,这是如何通过 DKIM 的?

  • 0

我最近为我的一个域添加了 DMARC 记录。让我们称之为mydomain.com:

v=DMARC1;p=none;rua=mailto:dmarc_reports@mydomain.com;ruf=mailto:dmarc_reports@mydomain.com;fo=1"

这两天一直在收到举报,但是有一些记录我不太明白。例如:

  <record>
    <row>
      <source_ip>217.72.192.73</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>mydomain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>mydomain.com</domain>
        <result>pass</result>
        <selector>2014</selector>
      </dkim>
      <spf>
        <domain>srs2.kundenserver.de</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>

我的 SPF 记录不包括217.72.192.73orsrs2.kundenserver.de并且我以前从未听说过或使用此服务器发送电子邮件,因此可以假设这是有人试图欺骗来自mydomain.com. 将 SPF 报告为已通过但未对齐也是可以理解的。但是,我想知道的是这是如何通过 DKIM 的?

我的域的 DNS 中有以下条目:

2014._domainkey.mydomain.com.   IN  TXT ( "v=DKIM1; k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArbY9HBzct5lz6"
    "43Wv4pnudx+Ei6/YKifIr+AIUi5mpNGOYu6P81ooIJozVlY8flLSseurs8CFDuvs1j7FznUyrfVuYE/g"
    "6uD17VSaZwqfciW9wBdN25ruM0wRX+9tC7p8IDBUo1hJhrk5ngiwJpz/jpcXmfTjQdbE1M+yMrujUFNC"
    "vMqS2YAaAqVYPe4TMgpRum23oZm9PX0iqgkShiUXzNLzTM8NIaWXrHPnBaeKoNChbPZlHPCyvLqbJbRJ"
    "L+bj3P7B+9Pey04xbi2SalqH1XNLKU20Nd4wZAQAVHFvUoyj2XAzaOQnRSLavDCUYgBpt/Y9u9oAU+mb"
    "Cg2SLWzrQIDAQAB" )

从报告中我们可以看到,匹配的选择器是2014,它来自这个 DNS 条目。

由于这封电子邮件可能没有由我的服务器的私钥签名,所以这不应该是fail? 这是否意味着也许有人已经获得了我的私钥的访问权限?奇怪的是,我的 SPF 记录中未列出的服务器发送的电子邮件有 5 条记录,所有这些都将 DKIM 列为“通过”。我没有任何 DKIM 失败报告。

email
  • 1 个回答
  • 340 Views
Martin Hope
Mike
Asked: 2016-08-18 15:13:49 +0800 CST

限制特定用户访问 KVM 虚拟机

  • 4

在我的服务器上,我有一个名为“cards2”的 KVM 虚拟机。它是通过执行(以 root 身份)创建的:

# virt-install --connect qemu:///system --virt-type kvm --name cards2 --ram 2048 --disk /var/kvm/cards2.qcow,size=3 --vcpus=8 --cdrom /var/kvm/debian-8.5.0-amd64-netinst.iso --vnc --os-type linux --network network=default

图片有权限:

# ls -l /var/kvm/cards2.qcow 
-rwxr-xr-x 1 libvirt-qemu libvirt-qemu 3221225472 Aug 17 18:49 /var/kvm/cards2.qcow

但是我注意到任何具有 SSH 访问权限的用户都可以通过执行以下命令来访问 VM:

virt-viewer --connect qemu+ssh://username@hostname.example.com/system vmname

(注意,此命令是远程qemu+ssh://username@hostname.example.com执行的,而不是在服务器上执行的。这通过 SSH 隧道连接到具有连接 URI 的管理程序)

用户username只是组的成员username。当使用该username帐户进行 SSH 登录时,虚拟机列表显示为空:

$ virsh list --all
 Id    Name                           State
----------------------------------------------------

在通过 SSH 执行以下操作时,我也无法使用套接字进行连接:

$ virsh --connect qemu:///system list --all
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

/usr/bin/vir*我还尝试为不在组中的用户删除所有文件的权限kvm:

# chown root:kvm /usr/bin/vir*
# chmod o-rx /usr/bin/vir*
# ls /usr/bin/vir* -l
-rwxr-x--- 1 root kvm  321120 Jul  1 04:46 /usr/bin/virsh
-rwxr-x--- 1 root kvm   32184 Dec  7  2013 /usr/bin/virt-alignment-scan
-rwxr-x--- 1 root kvm   28128 Dec  7  2013 /usr/bin/virt-cat
-rwxr-x--- 1 root kvm    9774 Sep 29  2014 /usr/bin/virt-clone
-rwxr-x--- 1 root kvm   10277 Sep 29  2014 /usr/bin/virt-convert
-rwxr-x--- 1 root kvm     806 Dec  7  2013 /usr/bin/virt-copy-in
-rwxr-x--- 1 root kvm     808 Dec  7  2013 /usr/bin/virt-copy-out
-rwxr-x--- 1 root kvm   54584 Dec  7  2013 /usr/bin/virt-df
-rwxr-x--- 1 root kvm   33312 Dec  7  2013 /usr/bin/virt-edit
-rwxr-x--- 1 root kvm   54536 Dec  7  2013 /usr/bin/virt-filesystems
-rwxr-x--- 1 root kvm   30112 Dec  7  2013 /usr/bin/virt-format
-rwxr-x--- 1 root kvm   14656 Jul  1 04:46 /usr/bin/virt-host-validate
-rwxr-x--- 1 root kvm    7944 Sep 29  2014 /usr/bin/virt-image
-rwxr-x--- 1 root kvm   44696 Dec  7  2013 /usr/bin/virt-inspector
-rwxr-x--- 1 root kvm   36992 Sep 29  2014 /usr/bin/virt-install
-rwxr-x--- 1 root kvm    5338 Dec  7  2013 /usr/bin/virt-list-filesystems
-rwxr-x--- 1 root kvm    6686 Dec  7  2013 /usr/bin/virt-list-partitions
-rwxr-x--- 1 root kvm   53816 Dec  7  2013 /usr/bin/virt-ls
-rwxr-x--- 1 root kvm   18641 Dec  7  2013 /usr/bin/virt-make-fs
-rwxr-x--- 1 root kvm    9600 Jul  1 04:46 /usr/bin/virt-pki-validate
-rwxr-x--- 1 root kvm   36264 Dec  7  2013 /usr/bin/virt-rescue
-rwxr-x--- 1 root kvm 1322488 Dec  7  2013 /usr/bin/virt-resize
-rwxr-x--- 1 root kvm 1231256 Dec  7  2013 /usr/bin/virt-sparsify
-rwxr-x--- 1 root kvm 1289592 Dec  7  2013 /usr/bin/virt-sysprep
-rwxr-x--- 1 root kvm    8949 Dec  7  2013 /usr/bin/virt-tar
-rwxr-x--- 1 root kvm     804 Dec  7  2013 /usr/bin/virt-tar-in
-rwxr-x--- 1 root kvm     806 Dec  7  2013 /usr/bin/virt-tar-out
-rwxr-x--- 1 root kvm      55 Jul 12  2012 /usr/bin/virtualenv
-rwxr-x--- 1 root kvm  132400 May 28  2012 /usr/bin/virt-viewer
-rwxr-x--- 1 root kvm   23886 Dec  7  2013 /usr/bin/virt-win-reg
-rwxr-x--- 1 root kvm    3531 Jul  1 04:46 /usr/bin/virt-xml-validate

即使现在我无法通过常规 SSH 连接访问这些命令中的任何一个,我仍然可以通过virt-viewerSSH 隧道远程执行(如上)来启动 VM。

那么,我怎样才能做到只有特定的用户帐户才能访问虚拟机呢?

编辑:

以下是我/var/log/libvirt/qemu/cards2.log启动 VM 时出现的内容,以防有任何指示:

LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 2048 -smp 8,sockets=8,cores=1,threads=1 -name cards2 -uuid 70905b35-9df3-71c9-d5e9-f804a2826055 -no-user-config -nodefaults -chardev socket,id= charmonitor,path=/var/lib/libvirt/qemu/cards2.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci, id=usb,bus=pci.0,addr=0x1.0x2 -驱动文件=/var/kvm/cards2.qcow,if=none,id=drive-ide0-0-0,format=raw -device ide-hd ,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,id=drive-ide0-1-0,readonly= on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=23,id=hostnet0 -设备 rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:c6:14:68,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:3 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0 ,地址=0x4

编辑2:

另一方面,这似乎只是 的问题virt-viewer,而不是virsh。

例如,这里是在远程客户端上执行的一些命令:

$ virsh --connect qemu+ssh://unauthorized-user@server.com/system
error: failed to connect to the hypervisor
error: End of file while reading data: nc: unix connect failed: Permission denied: Input/output error

$ virsh --connect qemu+ssh://authorized-user@server.com/system
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit
linux kvm-virtualization ssh permissions libvirt
  • 3 个回答
  • 7260 Views
Martin Hope
Mike
Asked: 2015-12-12 19:29:40 +0800 CST

任何 SATA 驱动器都可以在任何 SATA 端口上工作吗?

  • 2

我的假设是(除了由于旧操作系统无法读取大驱动器的限制)只要硬盘驱动器与计算机可用的类型相同(例如,如果计算机有 IDE,你可以将任何 IDE 驱动器插入其中,或者如果它具有 SATA,您可以将任何 SATA 插入其中)。不过最近我打算买一台比较老的电脑,想装几个4TB的硬盘,因为会用来存储监控视频,所以我需要的实际计算能力很少,但需要大量的存储空间。然而,销售代表告诉我,4TB 驱动器无法与该服务器一起使用。当我检查规格时,它说:

内部存储容量高达 1.5TB(2 x 750GB 热插拔 3.5" SATA 硬盘)、1 TB(2 x 500 非热插拔 SATA 硬盘)或 600GB(2 x 300GB 热插拔 3.5" SAS 硬盘)

这是因为在服务器上放置比这更大的驱动器存在一些实际的硬件限制,如果是这样,会导致这种情况以及如果您确实在服务器上放置了更大的驱动器会发生什么?

或者,这是因为那些是当时存在的那些类型中最大的驱动器,所以这就是他们在规范中使用的驱动器,但实际上可以放置任何可以物理插入的驱动器(例如 2 x 4TB 3.5" SATA 驱动器),它们会正常工作吗?

hard-drive
  • 2 个回答
  • 254 Views
Martin Hope
Mike
Asked: 2015-04-16 23:01:34 +0800 CST

如何防止 mod_rewrite 解码路径中的字符串?[复制]

  • 1
这个问题在这里已经有了答案:
在 Apache 中重定向、更改 URL 或将 HTTP 重定向到 HTTPS - 您想知道的关于 mod_rewrite 规则但不敢问的一切 (5 个答案)
7年前关闭。

我正在尝试使用 mod_rewrite 创建一个宁静的 API。

我有规则:

RewriteRule v2/(.*)$ v1/index.php?request=$1 [QSA,NC,L]

然而,路径可能包含 base64 编码的字符串(即可以有 + 或 /),并且它们在到达 PHP 之前被解码。

例如,如果我去

/v2/cards/9VwQLli%2Bf0ogFl19AVRFLuztbp8cP0rYCgXBu3H9%2BDc%3DBe

PHP 获取$_REQUEST['request']为cards/9VwQLli f0ogFl19AVRFLuztbp8cP0rYCgXBu3H9 Dc=Be'.

更糟糕的是,如果我在其中添加一个斜线(例如9VwQLli%2Bf0ogFl19AVRFLuztbp8c%2FP0rYCgXBu3H9%2BDc%3DBe-%2F是斜线),我会得到 404。

我怎样才能防止这种情况发生?

注意:我尝试了BandNE标志,但它们没有任何效果。我想作为一个 hack,我可以将所有+字符_都转换/为-,或者甚至是双 url 编码,但我想知道是否有更好的方法。

apache-2.2
  • 1 个回答
  • 2972 Views
Martin Hope
Mike
Asked: 2015-02-10 14:39:52 +0800 CST

使用具有多个 IP 地址的单个网卡启用桥接连接

  • 1

我有一台服务器,里面有一张网卡(eth1)。我的服务器分配了 5 个公共 IP 地址,目前配置如下 ( /etc/network/interfaces):

# The primary network interface
allow-hotplug eth1
iface eth1 inet static
    address xxx.yyy.zzz.130
    netmask 255.255.255.248
    network xxx.yyy.zzz.128
    broadcast xxx.yyy.zzz.135
    gateway xxx.yyy.zzz.129

iface eth1:0 inet static
    address xxx.yyy.zzz.131
    netmask 255.255.255.248

iface eth1:1 inet static
    address xxx.yyy.zzz.132
    netmask 255.255.255.248

iface eth1:2 inet static
    address xxx.yyy.zzz.133
    netmask 255.255.255.248

iface eth1:3 inet static
    address xxx.yyy.zzz.134
    netmask 255.255.255.248

这工作得很好,但是我想添加一个与公共 IP 桥接的 KVM 虚拟机xxx.yyy.zzz.131。

如果我这样做:

auto br0
iface br0 inet static
  bridge-ports eth1
  bridge_stp off
  bridge_fd 0
  bridge_maxwait 0
  address xxx.yyy.zzz.131
  netmask 255.255.255.248

然后才 xxx.yyy.zzz.131可以访问。其他IP都不是。

如果我将其更改为bridge-ports eth1:0我收到错误:

SIOCSIFFLAGS: Cannot assign requested address
RTNETLINK answers: File exists
Failed to bring up br0.

如果我注释掉关于 的其他部分eth1:0,除了上面的错误,我也得到Ignoring unknown interface eth1:0=eth10.了开头。

如果我只有一个 NIC 和多个 IP,如何添加桥接设备?

linux
  • 3 个回答
  • 1762 Views
Martin Hope
Mike
Asked: 2012-12-09 07:55:58 +0800 CST

无法解释邮件日志 DNS 错误

  • 3

我在 Debian 上有一个 postfix 邮件服务器。我的一个客户刚刚告诉我他们无法向我发送电子邮件,而且他们的邮件服务器似乎有问题。我想就实际问题与他们联系,但我无法弄清楚。这是在退回邮件中:

The address to which the message has not yet been delivered is:

eric@mydomain.com
Delay reason: SMTP error from remote mail server after RCPT
TO::
host dog.myhostname.com [{server_ip}]: 450 4.7.1
:
Recipient address rejected: SPF-Result=server.thehostingserver.co.uk:
'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk'

通过检查/var/log/mail.log文件,我看到以下与退回电子邮件一致的行:

Dec  6 10:32:16 dog postfix/smtpd[366]: connect from unknown[37.26.106.210]
Dec  6 10:32:16 dog postfix/smtpd[366]: setting up TLS connection from unknown[37.26.106.210]
Dec  6 10:32:16 dog postfix/smtpd[366]: Anonymous TLS connection established from unknown[37.26.106.210]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Dec  6 10:32:18 dog postfix/policy-spf[421]: Policy action=DEFER_IF_PERMIT SPF-Result=server.thehostingserver.co.uk: 'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk'
Dec  6 10:32:18 dog postfix/smtpd[366]: NOQUEUE: reject: RCPT from unknown[37.26.106.210]: 450 4.7.1 <eric@mydomain.com>: Recipient address rejected: SPF-Result=server.thehostingserver.co.uk: 'SERVFAIL' error on DNS 'TXT' lookup of 'server.thehostingserver.co.uk'; from=<info@example.com> to=<eric@mydomain.com> proto=ESMTP helo=<server.thehostingserver.co.uk>

我在理解这一点时遇到了一些麻烦。

1)为什么说“未知连接”?此 IP 明确解析为server.oovavoohosting.co.uk. (请注意,其他传入连接确实会正确显示其主机名)

# nslookup 37.26.106.210
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
210.106.26.37.in-addr.arpa      name = server.oovavoohosting.co.uk.

Authoritative answers can be found from:
106.26.37.in-addr.arpa  nameserver = ns1.racksrv.com.
106.26.37.in-addr.arpa  nameserver = ns2.racksrv.com.
ns1.racksrv.com internet address = 37.26.104.214
ns2.racksrv.com internet address = 37.26.105.214

2) 如果上述 IP 解析为server.oovavoohosting.co.uk,它从哪里获取主机名server.thehostingserver.co.uk?我可以看到这个主机名不存在,这就是它返回 a 的原因SERVFAIL,我只是不知道它来自哪里。

domain-name-system
  • 1 个回答
  • 4335 Views
Martin Hope
Mike
Asked: 2012-11-21 20:37:17 +0800 CST

未显示 PHP 错误

  • 2

我在 Ubuntu 12.10 上使用 PHP 和 Apache。由于某种原因没有向浏览器显示错误,我无法弄清楚。

我的php.ini文件中有以下内容:

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
log_errors = On

我也很确定我已经通过验证编辑了正确的 ini 文件php_ini_loaded_file()。我还可以通过在我的脚本中执行以下操作来验证值是否正确设置:

echo ini_get("display_errors"); // Outputs 1
echo ini_get("display_startup_errors"); // Outputs 1
echo ini_get("log_errors"); // Outputs 1
echo ini_get("error_reporting"); // Outputs -1

我已经尝试了这些设置的所有可能组合(并在每次更改后重新启动 Apache),但它只是没有输出错误。我也没有ini_set在脚本中的任何地方使用。它只能从 ini 文件中设置。

为什么不显示错误的任何想法?

更新:

事实证明它显示了一些错误,但不是全部。

echo 'hello''; // Shows syntax error
trigger_error("E_USER_WARNING", E_USER_WARNING); // shows error
trigger_error("E_USER_NOTICE", E_USER_NOTICE); // shows error
trigger_error("E_USER_ERROR", E_USER_ERROR); // Doesn't show error
apache-2.2
  • 1 个回答
  • 1825 Views
Martin Hope
Mike
Asked: 2012-07-11 16:21:31 +0800 CST

SSI 包括不使用 Apache 在 Debian 上工作

  • 12

我试图让 SSI 在运行 Apache 的 Debian 上工作,但是.shtml文件没有被解析。从一个 PHP 文件中,phpinfo()我可以看到以下内容出现在加载的模块部分:

mod_mime_xattr mod_mime mod_mime_magic

在/etc/apache2/mods-enabled/mime.conf我有(除其他外):

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

在/etc/apache2/sites-enabled/domain.com.conf(对于有问题的虚拟主机)我有:

<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All 
</Directory>

为了更好地衡量,我还添加了以下内容:

<Directory />
Options +Includes
</directory>

在用户的.htaccess文件中,我尝试添加:

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml

似乎没有任何效果。我怎么能调试这个?

编辑:

ls /etc/apache2/mods-enabled/如果这有帮助,这是输出

actions.conf          dav_svn.load         proxy_balancer.load
actions.load          deflate.conf         proxy.conf
alias.conf            deflate.load         proxy_connect.load
alias.load            dir.conf             proxy_http.load
auth_basic.load       dir.load             proxy.load
auth_digest.load      env.load             python.load
authn_file.load       fcgid.conf           reqtimeout.conf
authz_default.load    fcgid.load           reqtimeout.load
authz_groupfile.load  mime.conf            rewrite.load
authz_host.load       mime.load            ruby.load
authz_user.load       mime_magic.conf      setenvif.conf
autoindex.conf        mime_magic.load      setenvif.load
autoindex.load        mime-xattr.load      ssl.conf
cgi.load              negotiation.conf     ssl.load
dav_fs.conf           negotiation.load     status.conf
dav_fs.load           php5.conf            status.load
dav.load              php5.load            suexec.load
dav_svn.conf          proxy_balancer.conf
debian apache-2.2 server-side-includes
  • 1 个回答
  • 10055 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