小编Nee*_*eel的帖子

对 alias_maps 和 virtual_alias_maps 感到困惑

我已经重新阅读了关于这个的文档以及这里的其他帖子,这对我来说仍然很不清楚。我一直在测试各种事物理解之间的区别alias_maps,并virtual_alias_maps和我没有看到后缀使用这2个单独的设置。这是我到目前为止发现的(注意 - 我在与我的 Web 服务器相同的服务器中使用 postfix 作为空客户端来仅发送电子邮件)

1) /etc/aliases 文件:

root: me@somedomain.com
Run Code Online (Sandbox Code Playgroud)

当我将上述内容添加到alias_maps. 但是,我也注意到一些其他服务(如mail命令)不尊重这一点,并尝试将电子邮件直接发送到不存在的 root@mydomain.com(我认为myorigin这是添加@mydomain.com的后缀设置) . 为了解决这个问题,我然后添加了virtual_alias_maps

2) /etc/postfix/virtual

root     me@someotherdomain.com
Run Code Online (Sandbox Code Playgroud)

添加上述内容后,所有服务都使用此虚拟别名电子邮件。我还注意到,一旦我添加了上述内容,即使fail2ban 也开始忽略我在/etc/aliases/文件中的初始设置并开始遵循虚拟文件中给出的电子邮件地址。

现在这让我更加困惑——

  1. /etc/aliases/当虚拟别名映射中的电子邮件似乎覆盖它时,为什么我们需要?

  2. 拥有这两个单独的别名映射的目的是什么,我们何时决定何时使用什么?

  3. 为什么fail2ban(配置为发送到root@localhost)首先遵循alias_maps(/etc/aliases/) 中给出的电子邮件地址,然后决定忽略virtual_alias_maps添加过的那个地址?

  4. 为什么并非所有服务都读取 /etc/aliases 中提到的电子邮件别名,而它们仅在将电子邮件别名添加到虚拟别名映射中时才起作用?

从昨天开始,我已经花了几个小时,但仍然不确定。有人可以帮我清除我的困惑吗?

编辑: 这是使用mail root命令将电子邮件发送到 root 时的邮件日志。在 /etc/aliases/ 中提到了 root 的别名电子邮件。但是直到我将此根别名电子邮件从 移动aliases_mapsvirtual_aliases_maps

在提及根电子邮件别名时记录/etc/aliases/

Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root> …
Run Code Online (Sandbox Code Playgroud)

email debian postfix sendmail alias

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

Fail2ban jail.local 与 jail.conf

jail.local 文件是作为 jail.conf 的覆盖还是作为 jail.conf 的替代

当我从教程中学习Fail2Ban时,他们中的大多数人通常会说要么将 jail.conf 复制到 jail.local 并在那里进行编辑,其中一些人说要创建一个新的 jail.local 文件并提供一堆要复制的设置和粘贴。但他们没有解决的是 jail.local 如何与 jail.conf 一起工作。这些是2个场景:

  1. 覆盖:如果jail.local 充当jail.conf 文件的覆盖,那么我需要做的只是将我想要覆盖的必要配置添加到jail.conf 中给出的默认值中。在这种情况下,我不需要添加 SSH 配置等,因为它已经包含在 jail.conf 中。

  2. 替换:如果jail.conf 在jail.local 存在时无效,那么我需要在jail.local 中添加所有规则,然后编辑我想要修改的规则。

你能确认当 jail.local 存在时 jail.conf 会发生什么吗?如果 jail.local 的行为就像是在 jail.conf 文件之上的覆盖,那么对我来说,只需添加几行我想添加的规则就更容易了,这也使维护和可读性变得容易。什么是最好的方法?

firewall iptables jail fail2ban debian-wheezy

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

nginx uLimit 'worker_connections 超出打开文件资源限制:1024'

我不断收到此错误nginx/error.log并让我发疯:

8096 worker_connections exceed open file resource limit: 1024
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有我能想到的方法,但无法弄清楚是什么限制了 nginx。你能告诉我我错过了什么吗?

nginx.conf 有这个:

worker_processes 4;
events {
        worker_connections 8096;
        multi_accept on;
        use epoll;
}
Run Code Online (Sandbox Code Playgroud)

security/limits.conf像这样更改了系统的 Ulimit :

# This is added for Open File Limit Increase
*               hard    nofile          199680
*               soft    nofile          65535

root            hard    nofile          65536
root            soft    nofile          32768

# This is added for Nginx User
nginx           hard    nofile          199680
nginx           soft    nofile          65535
Run Code Online (Sandbox Code Playgroud)

它仍然显示错误。所以我也尝试编辑/etc/default/nginx并添加了这一行:

ULIMIT="-n 65535"
Run Code Online (Sandbox Code Playgroud)

它仍然显示相同的错误。无法弄清楚是什么将 nginx 工作连接限制为 1024。你能指出我吗? …

linux files debian nginx ulimit

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

Postfix 发送到 FQDN 主机名而不是域名

我已经安装了一个只发送后缀。当我向完整的电子邮件地址发送邮件时,Postfix 工作。但是,如果将邮件发送给用户,它会添加 FQDN 名称作为扩展名,而不仅仅是我在安装过程中设置的域名。

例如,当我像这样从 ssh 发送邮件时:

echo "This will go into the body of the mail." | mail -s "Hello world" root
Run Code Online (Sandbox Code Playgroud)

我希望邮件转到root@example.com.au. 但是电子邮件发送到root@host.example.com.au.

我已经查看了我的主机设置、邮件名设置、后缀设置,但我不知道为什么它不断向其中添加完整的主机名,而这显然会被退回。这是我的配置文件:

后缀main.cf:

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = …
Run Code Online (Sandbox Code Playgroud)

email email-server debian postfix fqdn

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

如何使用 Fail2Ban 禁止 Syn Flood 攻击?

在我的日志中,我经常看到这样的 ip 掉线:

> Oct 30 17:32:24 IPTables Dropped: IN=eth0 OUT=
> MAC=04:01:2b:bd:b0:01:4c:96:14:ff:df:f0:08:00 SRC=62.210.94.116
> DST=128.199.xxx.xxx LEN=40 TOS=0x00 PREC=0x00 TTL=244 ID=45212
> PROTO=TCP SPT=51266 DPT=5900 WINDOW=1024 RES=0x00 SYN URGP=0
> 
> Oct 30 17:29:57 Debian kernel: [231590.140175] IPTables Dropped:
> IN=eth0 OUT= MAC=04:01:2b:bd:b0:01:4c:96:14:ff:ff:f0:08:00
> SRC=69.30.240.90 DST=128.199.xxx.xxx LEN=40 TOS=0x00 PREC=0x00 TTL=245
> ID=12842 DF PROTO=TCP SPT=18534 DPT=8061 WINDOW=512 RES=0x00 SYN
> URGP=0
Run Code Online (Sandbox Code Playgroud)

从上面,我假设这些是我的 IpTables 规则丢弃的 Syn flood。这是我在 iptables 中为 Syn 所拥有的(虽然不确定这些规则中的哪一个会删除上面的规则):

# Drop bogus TCP packets
iptables -A INPUT -p tcp …
Run Code Online (Sandbox Code Playgroud)

debian firewall iptables fail2ban syn

5
推荐指数
1
解决办法
8945
查看次数

我需要在 SPF 设置中设置 PTR 记录吗?

我已经从我的托管服务提供商处设置了 RDNS,以便将 IP 地址解析为“maximus.example.com”。之后,我是否还需要像这样将 PTR 记录添加到我的 DNS 区域文件中的 SPF 文本详细信息中?

v=spf1 include:_spf.google.com ip4:111.11.11.111 ptr:maximus.example.com ~all
Run Code Online (Sandbox Code Playgroud)

我的问题:当主机已经为我的 IP 地址设置了 RDNS 时,上面将 PTR 详细信息添加到 SPF 记录是必要的还是不需要的?

我打算将记录添加到我的 SPF 中,然后我在某个地方读到了这个,强烈建议不要这样做。

注意:RFC 7208 强烈反对 ptr 发送器机制,它甚至建议出于性能原因立即删除它,因为它会给 IN-ADDR.ARPA (IPv4) 或 IP6.ARPA 反向映射域带来负载域的容量通常低于 gTLD 和 ccTLD 域。

参考:http : //www.zytrax.com/books/dns/ch9/spf.html#ptr

我不确定我是否误解了它的意思。所以有人可以帮我澄清一下,因为我不确定是否需要将 PTR 添加到我的区域文件中。

domain-name-system spf reverse-dns ptr-record

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

Postfix + PHP Mail() VS Postfix + SMTP

大多数 CMS(例如 Joomla)都是php mail()默认设置的,SMTP如果我们愿意,可以选择将其更改为。我将在 Debian 7 上的同一个 VPS 中设置网络服务器和邮件服务器(Postfix)。我想了解的是:

  1. 交付声誉:使用 php mail() 与 SMTP 对交付率有什么影响吗?据我了解,Postfix 在发送电子邮件时与 Internet 上的其他服务器通信时将使用 SMTP 协议,因此可以安全地假设电子邮件是通过 php 邮件还是 smpt 从本地主机发送到 postfix 并不重要? 这两种方法中的任何一种是否会以很小的方式影响电子邮件声誉?

  2. 性能负载:发送电子邮件时,php 邮件和 SMTP 之间是否有性能差异?比如说,如果我发送 10,000 封电子邮件,哪种方法会占用最多的资源(或时间)?我的假设是,两者都需要一些时间,例如:用于编译带有标题等的电子邮件的 php 邮件和用于每次建立连接的 SMTP。哪一个消耗服务器资源最多?

  3. 安全问题:当我搜索两者之间的区别时,许多站点都提到了 php 邮件的安全问题,因为黑客可以上传 php 脚本来发送垃圾邮件。但是我也可以看到 SMTP 的另一个安全问题,因为 SMTP 用户名和密码以文本形式存储在配置文件中,这也不安全。既然这两种方法都存在安全问题,那么在任何方面,一个比另一个更重要吗?

  4. 偏好:如果我能够在我的服务器上设置 phpmail 和 SMTP,我是否应该出于某种原因优先使用一个?我的意思是,如果我可以在我的服务器中使用 SMTP,那么由于上述几点中涵盖的各种原因,我是否应该尝试使用 SMTP 而不是 phpmail?

背景:我的机器将成为一个简单的网络服务器,它使用 postfix 来发送来自 Joomla 的电子邮件、时事通讯和来自各种服务的根电子邮件。

email email-server smtp postfix joomla

3
推荐指数
1
解决办法
2624
查看次数

Cron 守护进程 Wget 被阻止

我在没有 cpanel 的Debian 7上安装了nginx

我正在像这样设置我的 Crontab:

*/45 * * * * wget "http://example.com/cron-url.php" >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

上面的 cron 被 403 forbidden 阻塞了:

--2014-12-10 05:40:01--  http://example.com/cron-url.php
Connecting to xyz.xx.xx.xxx:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-12-10 05:40:01 ERROR 403: Forbidden.
Run Code Online (Sandbox Code Playgroud)

在这里搜索并谷歌搜索后,我了解到我的服务器可能正在阻止 wget。我查看了我的 nginx 配置文件,我认为应该是由于以下原因:

if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
    return 403;
}
Run Code Online (Sandbox Code Playgroud)

对于 cron 命令,我必须使用它的 url,并且脚本路径的绝对链接不起作用。现在,如果我需要允许 cron 工作而不被阻止,我该怎么办?我在想也许我需要从我自己的服务器上允许 wget,但不知道如何使用 nginx 来做到这一点。有人可以帮我解决这个 cron 问题吗?

nginx wget cron http-status-code-403 debian-wheezy

3
推荐指数
1
解决办法
1100
查看次数

Fail2ban MTA=Jail 配置中的后缀设置给出错误

在 中/etc/fail2ban/jail.local,当我将 MTA 设置为 Postfix 时,Fail2Ban 显示错误并且无法启动。

[DEFAULT]

ignoreip = 127.0.0.1/8
bantime  = 1800                         
maxretry =  4                           
destemail = email@example.com   
mta = postfix                           
action = %(action_mwl)s 
Run Code Online (Sandbox Code Playgroud)

错误:

WARNING 'findtime' not defined in 'ssh'. Using default value
ERROR  /etc/fail2ban/action.d/postfix-whois-lines.conf and /etc/fail2ban/action.d/postfix-whois-lines.local do not exist
ERROR  Error in action definition postfix-whois-lines[name=ssh, dest="email@example.com", logpath=/var/log/auth.log, chain="INPUT"]
ERROR  Errors in jail 'ssh'. Skipping...
['set', 'loglevel', 3]
['set', 'logtarget', '/var/log/fail2ban.log']
Run Code Online (Sandbox Code Playgroud)

错误指向其他地方,但是当我注释掉mta=postfix它时。

我有后缀为我的MTA(在Debian 7)安装,我想我应该改变默认sendmailpostfix这个设置。我错了吗?

email-server postfix iptables jail fail2ban

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