메시지에서 수신된 헤더를 제거하려면 어떻게 해야 합니까?
Apache 사용자 이름과 Sendmail 버전을 숨기고 싶습니다.
메시지(PHP 스크립트에서 전송):
Delivered-To: [email protected]
Received: by 10.182.138.73 with SMTP id qo9csp2588531obb;
Wed, 30 Sep 2015 06:15:48 -0700 (PDT)
X-Received: by 10.194.209.240 with SMTP id mp16mr4259781wjc.100.1443618948845;
Wed, 30 Sep 2015 06:15:48 -0700 (PDT)
Return-Path: <[email protected]>
Received: from mailer.mydomain.co.uk (host81-149-XXX-XXX.in-addr.btopenworld.com. [81.149.XXX.XXX])
by mx.google.com with ESMTPS id p10si35980619wik.84.2015.09.30.06.15.48
for <[email protected]>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 30 Sep 2015 06:15:48 -0700 (PDT)
Received-SPF: pass (google.com: domain of [email protected] designates 81.149.XXX.XXX as permitted sender) client-ip=81.149.XXX.XXX;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of [email protected] designates 81.149.XXX.XXX as permitted sender) [email protected];
dkim=temperror (no key for signature) [email protected]
Received: internal info suppressed
DKIM-Filter: OpenDKIM Filter v2.10.3 mailer.mydomain.co.uk t8UDFhWP002575
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=mailer.mydomain.co.uk; s=default; t=1443618943;
bh=g3nQPcNP98itYjSOtoKgMzN1zvSZ6LEJL6OFN1iIxG4=;
h=To:Subject:Date:From:From;
b=UMc4qr45/zHJtN0ehAZHFadX9MwW8HhSOMW+EPh257UVzptUvKNKR88hRdkQP27nz
iRX9/+/L9PJEen751up4aHEI892AV30bapj8gtju/iUlbwMNBvJoMSoHw/hcN/FqB5
jJwGUq3KraD67AvLsRPCJhpLxWmNB5Dt7/YdXLiI=
// I want to get rid of this!
Received: (from apache@localhost)
by mailer.mydomain.co.uk (8.14.4/8.14.4/Submit) id t8UDFgZp002574;
Wed, 30 Sep 2015 14:15:42 +0100
To: [email protected]
Subject: Test subjecT
Date: Wed, 30 Sep 2015 14:15:42 +0100
From: Root User <[email protected]>
Message-ID: <512823cdf14f75789632427d632307b5@erp>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="iso-8859-1"
Test body 560be07ebabe4
주의하세요 Received: internal info suppressed
(수신된 헤더를 숨기려는 시도 중 하나입니다).
나는 몇 시간 동안 모든 것을 시도했습니다 ...
변경 사항 php.ini
:
sendmail_path = /usr/sbin/sendmail -t -i [email protected]
(신뢰할 수 있는 사용자에게 아파치를 추가하여 대체한 X-Authentication-Error 경고가 있었기 때문에 작동합니다)
변경 사항 sendmail.mc
:
MASQUERADE_AS(`mailer.mydomain.co.uk')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(allmasquerade)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(erp.mydomain.co.uk)dnl
define(`confDOMAIN_NAME', `mailer.mydomain.co.uk')dnl
define(`confRECEIVED_HEADER', `internal info suppressed')dnl
생성됨 sendmail.cf
:
#########################
# Format of headers #
#########################
H?P?Return-Path: <$g>
HReceived: internal info suppressed
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $?x$x <$g>$|$g$.
H?F?From: $?x$x <$g>$|$g$.
H?x?Full-Name: $x
# HPosted-Date: $a
# H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>
/etc/hosts
:
127.0.0.1 mailer.mydomain.co.uk localhost localhost.localdomain localhost4 localhost4.localdomain4 erp 192.168.1.100 erp.mydomain.co.uk
::1 mailer.mydomain.co.uk localhost localhost.localdomain localhost6 localhost6.localdomain6
hostname -f
:
mailer.mydomain.co.uk
sendmail -d0.4 -bv root
:
Version 8.14.4
Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
TCPWRAPPERS USERDB USE_LDAP_INIT
Canonical name: mailer.mydomain.co.uk
UUCP nodename: erp.mydomain.co.uk
a.k.a.: localhost
a.k.a.: localhost.localdomain
a.k.a.: localhost4
a.k.a.: localhost4.localdomain4
a.k.a.: erp
a.k.a.: 192.168.1.100
a.k.a.: erp.mydomain.co.uk
a.k.a.: [127.0.0.1]
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = mailer
(canonical domain name) $j = mailer.mydomain.co.uk
(subdomain name) $m = mydomain.co.uk
(node name) $k = erp.mydomain.co.uk
========================================================
아이디어가 부족하여 이 헤더를 제거하고 싶습니다.
Received: (from apache@localhost)
by mailer.mydomain.co.uk (8.14.4/8.14.4/Submit) id t8UDFgZp002574;
Wed, 30 Sep 2015 14:15:42 +0100
어떻게 해야 합니까?
센토스 6.7을 사용하고 있습니다
일부 서버 소프트웨어가 이미 sendmail을 사용하고 있고 두 개의 MTA를 설치하고 싶지 않기 때문에 postfix를 실제로 사용하고 싶지 않습니다.
답변1
좋아, 문제를 찾았습니다. 나는 넣어야했다
define(`confRECEIVED_HEADER', `internal info suppressed')dnl
submit.mc
그것도 안으로 .
나는 몇 시간 동안 해결책을 찾고 있었는데 여기에 질문을 게시한 직후에 그것을 알아냈다는 것을 믿을 수 없습니다.
답변2
이것을 sendmail.mc에 추가하는 것이 나에게는 더 나은 솔루션이었습니다.
define(`confRECEIVED_HEADER',`$?{auth_type}from auth (localhost [127.0.0.1]) $|_REC_HDR_$.
_REC_BY_
_REC_TLS_
_REC_END_')
이는 auth_type을 조건부로 살펴보고 인증이 있었다면 localhost를 보여주고, 인증이 없었다면 마찬가지로 외부에서 메시지가 도착했다면 정상적으로 수신된 헤더를 얻게 됩니다. 이것은 확실히 당신이 원하는 것입니다.
다음에 대한 참조 및 출처:Sendmail에서 인증된 발신자의 IP를 억제합니다.