小编Ger*_*der的帖子

为什么空的 MAIL FROM 地址可以发送邮件?

我们正在使用智能邮件系统。最近,我们发现黑客入侵了一些用户帐户并发送了大量垃圾邮件。我们有防火墙来限制发件人的速率,但是对于下面的电子邮件,由于发件人地址为空,防火墙无法执行此操作。为什么空的 FROM 地址被认为是可以的?实际上,在我们的 MTA(surgemail) 中,我们可以在电子邮件标题中看到发件人。任何的想法?

11:17:06 [xx.xx.xx.xx][15459629] rsp: 220 mail30.server.com
11:17:06 [xx.xx.xx.xx][15459629] connected at 6/16/2010 11:17:06 AM
11:17:06 [xx.xx.xx.xx][15459629] cmd: EHLO ulix.geo.auth.gr
11:17:06 [xx.xx.xx.xx][15459629] rsp: 250-mail30.server.com Hello [xx.xx.xx.xx] 250-SIZE 31457280 250-AUTH LOGIN CRAM-MD5 250 OK
11:17:06 [xx.xx.xx.xx][15459629] cmd: AUTH LOGIN
11:17:06 [xx.xx.xx.xx][15459629] rsp: 334 VXNlcm5hbWU6
11:17:07 [xx.xx.xx.xx][15459629] rsp: 334 UGFzc3dvcmQ6
11:17:07 [xx.xx.xx.xx][15459629] rsp: 235 Authentication successful
11:17:07 [xx.xx.xx.xx][15459629] Authenticated as hackedaccount@domain1.com
11:17:07 [xx.xx.xx.xx][15459629] cmd: MAIL FROM:
11:17:07 [xx.xx.xx.xx][15459629] rsp: 250 OK <> Sender ok
11:17:07 [xx.xx.xx.xx][15459629] cmd: RCPT TO:recipient@domain2.com
11:17:07 …
Run Code Online (Sandbox Code Playgroud)

email spam

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

Postfix:某些电子邮件地址的自定义拒绝消息

我想拒绝带有自定义消息的特定地址的邮件。发送到其他不存在的地址的邮件应保持不变。我怎样才能做到这一点?我在 Ubuntu 10.4 上使用 Postfix 2.7.0。

背景:我的网站向我的用户发送邮件,到目前为止,我的个人地址被用作发件人。我想将其更改为 noreply@... 地址,但由于用户经常回复这些电子邮件,我想向他们发送有用的拒绝消息。

谢谢!

postfix email-bounces

9
推荐指数
1
解决办法
9826
查看次数

keepalived 不检测虚拟 IP 的丢失

我正在使用 keepalived 在两个虚拟机之间切换浮动 IP。

/etc/keepalived/keepalived.conf 在 VM 1 上:

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 101
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret
    }
    virtual_ipaddress {
        1.2.3.4
    }
}
Run Code Online (Sandbox Code Playgroud)

/etc/keepalived/keepalived.conf 在 VM 2 上:

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret
    }
    virtual_ipaddress {
        1.2.3.4
    }
}
Run Code Online (Sandbox Code Playgroud)

这基本上可以正常工作,但有一个例外:每次 systemd 更新(它运行的是 Ubuntu 18.04)时,它都会重新加载它的网络组件,从而导致丢弃浮动 IP,因为它没有在系统中配置。由于两个keepalived实例仍然可以互相ping通,他们都没有看到任何错误,也没有人对此做出反应,导致浮动IP保持不变。

我发现您可以使用这样的简单脚本检查 IP:

vrrp_script chk_proxyip {
    script "/sbin/ip addr |/bin/grep 1.2.3.4" …
Run Code Online (Sandbox Code Playgroud)

keepalived

8
推荐指数
2
解决办法
8175
查看次数

使用 Ansible 包管理显示更新的包

我有一个简单的 Ansible playbook,用于在我管理的所有服务器上运行更新:

- hosts: ubuntu
  tasks:
  - name: install all updates
    apt:
      upgrade: dist
      update_cache: yes
      autoremove: yes
      autoclean: yes
- hosts: centos
  tasks:
  - name: install all updates
    yum:
      name: '*'
      update_cache: yes
      state: latest
# use debug to show the output
    register: result
  - name: Show Output
    debug: msg="{{ result.stdout_lines }}"
Run Code Online (Sandbox Code Playgroud)

有什么办法可以让 Ansible 向我展示在这个过程中哪些包得到了更新?aptyum模块都没有为此提供选项。

目前使用的 Ansible 版本是 2.4。

package-management ansible

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

AWS Api 网关 - 没有为方法定义集成

虽然我在尝试部署 api 网关时已经定义了集成,但我不断收到类似于/sf/ask/3226152331/ 的“没有为方法定义集成”错误-a-stage-where-your-api-will-be-deploy?rq=1

他们在这里提到的答复是“设置集成方法”。

但是我已经设置了集成方法。附上截图,那么我的情况到底是什么问题?

在此处输入图片说明

amazon-api-gateway

7
推荐指数
1
解决办法
7781
查看次数

使用 tcpdump 过滤 IPv6 数据包中的 HTTP 方法

我正在使用“tcpdump”来捕获流量,并且我想通过 HTTP 方法进行过滤。当我有 IPv4 数据包时,我使用:tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'过滤 HTTP GET 数据包。

不幸的是,该tcp[]过滤器不适用于 IPv6 数据包。根据文档

针对传输层标头的算术表达式(例如 )tcp[0]不适用于 IPv6 数据包。

因此,我正在寻找另一种方法来使用 tcpdump 仅过滤 IPv6 流量的 HTTP 方法。

我尝试寻找解决方案,但似乎它们包含 grep 的用法,这不适合我的需求,因为我想将所有过滤后的流量直接输出到 pcap 文件

networking linux ipv6 tcpdump

7
推荐指数
1
解决办法
2263
查看次数

禁用 PHP 弃用警告和通知

我一直在使用和配置PHP,但现在我遇到了一个奇怪的问题,所以我要向你们寻求帮助。

我不想在生产服务器中看到弃用警告和通知,但是我想看到其他错误消息,例如语法错误。

我在 Ubuntu 10.10 上使用 Suhosin-Patch 运行 PHP 5.3.3-1ubuntu9.3

在我的/etc/php5/apache2/php.ini我有以下几行:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
Run Code Online (Sandbox Code Playgroud)

我已经重新启动了网络服务器。在虚拟主机配置中,没有 php_admin_value 与此配置混淆,文件夹中没有任何 .htaccess 文件。

尽管如此,仍会显示弃用警告和通知。

linux php php.ini apache-2.2

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

在 Ubuntu 上启动时启动 FishEye+Crucible

在 Atlassian 上问了这个问题但认为 serverfault 可能更合适,因为它更像是一个系统管理员问题而不是 Atlassian 问题:

我一直在尝试按照本指南在启动时启动 FishEye+Crucible。JIRA 已经在启动时作为自己的用户 (jira) 在 Ubuntu 上安装并运行,但我无法让 Fisheye+Crucible(又名 fecru)做同样的事情。

我按照那里的说明(以及页面评论中的 Ubuntu 相关说明)并重新启动,JIRA 像往常一样自行启动,但 fecru 没有。它与我设置为“jira”的 RUN_AS 变量有关吗?该命令是否会在启动时运行而不提示用户“jira”输入密码?我认为它不会提示,因为程序 JIRA 在启动时正常启动,因为该用户...

使用:

Ubuntu 10.04 清醒

吉拉 5.0

坩埚+鱼眼 2.7.11

jira init.d fisheye crucible

6
推荐指数
1
解决办法
2432
查看次数

如何从 ESXi 5.5 服务器中的 VM 回收已删除的存储

我在 ESXi 5.5 服务器中有一些虚拟机。我的 ESXi 服务器已达到其最大存储空间。它显示 4 GB 可用空间。我从我的一台虚拟机中删除了大约 300GB 的无用数据,但 ESXi 5.5 服务器仍然显示 4 GB 的空间。我的所有虚拟机磁盘都是精简配置的。我该如何解决这个问题?我也重新启动了 ESXi 服务器,但无济于事。

vmware-esxi vmware-vsphere

6
推荐指数
1
解决办法
4225
查看次数

在多个任务中注册 ansible 变量

我在 ansible 脚本中使用以下任务,该脚本在各种服务器上安装更新。这些任务适用于 CentOS 机器:

- name: Check for outstanding reboot
  shell: needs-restarting > /dev/null || echo Reboot required
  when: ansible_distribution_major_version|int < 7
  register: result
- name: Check for outstanding reboot
  shell: needs-restarting -r > /dev/null || echo Reboot required
  when: ansible_distribution_major_version|int >= 7
  register: result
- name: Report reboot
  debug: msg="{{ result.stdout_lines }}"
Run Code Online (Sandbox Code Playgroud)

结果:

TASK [Check for outstanding reboot] ***********************************************************************************
skipping: [host1]
skipping: [host2]
skipping: [host5]
changed: [host3]
changed: [host4]

TASK [Check for outstanding reboot] ***********************************************************************************
skipping: [host3]
skipping: …
Run Code Online (Sandbox Code Playgroud)

ansible ansible-playbook

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