Cố gắng thiết lập máy chủ thư, không thể có cổng (25, 587) để hoạt động


9

Tôi đã tìm kiếm khắp nơi và tôi thực sự vật lộn với cái này. Tôi nghĩ rằng tôi đã thử mọi thứ.

Thông tin cơ bản

  • VPS với CentOS 6.7
  • Hậu tố 2.6.6
  • dovecot, amavis, mysql, fail2ban
  • Tôi đã xác minh với nhà cung cấp VPS của mình rằng họ không chặn bất kỳ cổng nào.

Những việc tôi đã làm

  • Đã gửi sendmail chứng khoán
  • Tôi đã cài đặt postfix, dovecot, mysql, vv cho một giải pháp thư hoàn chỉnh
  • Tôi chỉ cho phép imap, smtp với STARTTLS (cổng 143 và 587)
  • Đăng nhập SSH bị vô hiệu hóa, chỉ với các khóa
  • Tôi có thể nhận thư (qua cổng 143)
  • Tôi có thể telnet từ localhost đến cả hai cổng (587, 25) và tôi nhận được lời chào hậu tố
  • Cố gắng kết nối với 587 hoặc 25 (ứng dụng thư khách hoặc telnet) sẽ khiến tôi không phản hồi, tức là hết thời gian kết nối

Những điều tôi đã thử

1) Các cổng có mở không? Vâng, iptables:

Chain INPUT (policy DROP 11 packets, 1375 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
   25  2579 f2b-dovecot  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 110,995,143,993,587,465,4190
   68  7788 f2b-postfix  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587
    0     0 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 22
   25  2579 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:143
    7   600 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
23464 2662K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   49  2940 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:3915
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:143
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
    5   300 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 23235 packets, 2494K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain f2b-dovecot (1 references)
 pkts bytes target     prot opt in     out     source               destination
   25  2579 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain f2b-postfix (1 references)
 pkts bytes target     prot opt in     out     source               destination
   68  7788 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain f2b-sshd (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

2) Nghe postfix trên cổng 587? Đúng. Có phải nó chỉ nghe trên localhost? Không, bất kỳ máy chủ lưu trữ.

Đây là netstat:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      7173/master
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      917/httpd
tcp        0      0 127.0.0.1:4190              0.0.0.0:*                   LISTEN      749/dovecot
tcp        0      0 0.0.0.0:587                 0.0.0.0:*                   LISTEN      7173/master
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      749/dovecot
tcp        0      0 127.0.0.1:24                0.0.0.0:*                   LISTEN      749/dovecot

Và đây cũng là postfix / main.cf, chỉ trong trường hợp:

# Enable both IPv4 and/or IPv6: ipv4, ipv6, all.
inet_protocols = ipv4

# Enable all network interfaces.
inet_interfaces = all

3) Bạn có buộc các kết nối an toàn chính xác không? Theo hiểu biết tốt nhất của tôi, vâng, đây là postfix / master.cf:

# Submission, port 587, force TLS connection.
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026

4) Điều gì về những hạn chế smtpd? Có vẻ ổn:

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_non_fqdn_helo_hostname
    reject_invalid_helo_hostname
    check_helo_access pcre:/etc/postfix/helo_access.pcre

5) Postfix thậm chí có hoạt động đúng không?

Có, đăng nhập vào máy chủ và gửi thư kiểm tra từ bảng điều khiển hoạt động và e-mail được nhận ở đầu bên kia, tức là:

echo "Test mail from postfix" | mail -s "Test Postfix" user@something.com

6) Điều gì xảy ra khi kết nối trên cổng 587?

Rõ ràng, không có gì cả. Nếu tôi cố gắng telnet đến bất kỳ cổng ngẫu nhiên nào, ít nhất tôi cũng nhận được một cái gì đó. Ví dụ: cố gắng telnet đến cổng 666 (không mở) sẽ không trả lời cho khách hàng, nhưng ít nhất tôi nhận được một cái gì đó trong tcpdump:

15:22:20.305697 IP xxx > xxx.com.mdqs: Flags [S], seq 3195304468, win 8192, options [mss 1352,nop,wscale 8,nop,nop,sackOK], length 0

Khi cổng tcpdumping 587, hoàn toàn không có gì xảy ra khi cố gắng telnet đến nó.

Tôi vẫn còn thiếu gì?

Tất cả mọi thứ ở trên làm cạn kiệt kiến ​​thức của tôi về những điều tôi vẫn có thể thử. Tôi đã cố gắng đóng nó xuống cổng 587 của tôi bị chặn hoàn toàn bởi một cái gì đó. Như tôi đã nói, nhà cung cấp VPS của tôi xác nhận rằng họ hoàn toàn không chặn bất kỳ cổng nào. Tôi đã thử cổng 25 và đó là câu chuyện tương tự.

Điều khác duy nhất tôi có thể thấy là bằng cách nào đó tôi đã chặn các cổng đó khi thiết lập máy chủ của mình, nhưng tôi không thể nhớ lại nếu đó là trường hợp và tôi không biết cách kiểm tra điều đó.

Tôi thực sự đánh giá cao bất kỳ sự giúp đỡ nào bạn có thể cung cấp cho tôi. Trên thực tế, tôi đang mua bia cho bất cứ ai giúp tôi giải quyết vấn đề này , tôi đã lãng phí hai ngày cho nó và nó bắt đầu trở nên thực sự khó chịu.


3
Bạn có thể thay thế iptablesđầu ra ở trên bằng iptables -L -n -v, toàn bộ và chưa được xác minh? Ngoài ra, với tcpdupmpthử nghiệm của bạn và đảm bảo của nhà cung cấp rằng tôi không chặn 25 và 587 trong nước , cũng có thể là nơi bạn đang thử nghiệm từ các khối 25 và 587 bên ngoài . Nếu bạn đăng địa chỉ IP, việc xác nhận hoặc từ chối giả thuyết đó sẽ dễ dàng hơn rất nhiều .
MadHatter

Cảm ơn vì đã trả lời. Chắc chắn, tôi đã chỉnh sửa bài viết của mình. Hmm, tôi chưa bao giờ nghĩ về việc các cổng bị chặn ở phía tôi, đó là một ý tưởng tốt. Tôi sẽ thử và kiểm tra điều này.
cận

1
@MadHatter, bạn đã hoàn toàn đúng về các cổng bị chặn ở phía tôi. Hóa ra (sau rất nhiều cuộc gọi), quản trị viên VPN của công ty tôi đã quyết định bắt đầu chặn một số cổng nhất định, 25 và 578 là một trong số đó, nhưng không phải là một trong số đó. Điều này giải thích tại sao tôi chưa bao giờ gặp vấn đề như vậy trước đây và thậm chí không nghĩ về nó. Máy chủ của tôi có thể đã hoạt động tốt trong vài ngày qua trong khi tôi đang mất trí về nó. Nếu bạn muốn, bạn có thể đăng bài như một câu trả lời thực sự và tôi sẽ chấp nhận nó. Ngoài ra, vui lòng PM cho tôi thông tin PayPal (hoặc tương tự) của bạn, bạn thực sự xứng đáng bị cảm lạnh lớn, chúa mới biết khi tôi tìm ra nó.
cận

Tôi đã viết nó lên, vì vậy bạn có thể chấp nhận câu trả lời - bởi vì nếu không thì câu hỏi sẽ trôi nổi mãi mãi, và điều đó thật tệ. Ngoài ra, điều này cũng có thể được sử dụng cho những người khác trong tương lai. Tôi có nghĩa là những gì tôi đã nói trong câu trả lời của tôi về việc bạn đã thực hiện hầu hết các công việc điều tra (thêm sức mạnh cho bạn!) Nhưng nếu bạn cảm thấy bị ràng buộc để gửi cho tôi một cốc bia, bạn có thể tìm thấy chi tiết liên hệ của tôi trên trang web cá nhân của tôi, thông qua thông tin của tôi.
MadHatter

Xong và cảm ơn bạn một lần nữa vì sự giúp đỡ của bạn, bạn có thể đã tiết kiệm cho tôi hàng giờ nếu không phải là những ngày lãng phí. Tôi sẽ liên lạc với bạn vào ngày mai, đã kiểm tra trang web của bạn.
cận

Câu trả lời:


4

Reachergilt, chào mừng bạn đến với SF, và cảm ơn vì một câu hỏi đầu tiên tuyệt vời. Bạn có thể cảm thấy rằng chúng tôi đã cứu bạn, nhưng thành thật mà nói - bạn đã thực hiện tất cả các công việc nặng nhọc, và trình bày nó rất có hệ thống. Với một tư duy pháp y như thế, tôi hy vọng bạn sẽ ở quanh những phần này trong một thời gian tới.

Đầu tcpdumpra đặc biệt gây tổn hại. Điều đó chứng tỏ vượt quá sự nghi ngờ hợp lý rằng những nỗ lực kết nối của bạn thậm chí không đến được máy chủ của bạn, điều này làm mất đi tường lửa của máy chủ, postfixcác ràng buộc của máy chủ và mọi thứ khác ở phía máy chủ.

Được trang bị con trỏ đó, bạn đã đi xa và xác nhận rằng các kết nối ra bên ngoài của bạn đã bị chặn, vì vậy các bài kiểm tra của bạn không bao giờ đi xa được đến máy chủ của bạn. Việc 25 (và ở mức độ thấp hơn là 587) là khá bình thường đối với các mạng hiện đại, bởi vì các botnet gửi thư rác sử dụng chúng.

Bằng mọi giá, bây giờ bạn rất vui khi máy chủ thư mới của bạn hoạt động như quảng cáo, và điều đó thật tốt.


3
Vâng, bài viết của tôi làm một danh sách kiểm tra tốt cho bất cứ ai có vấn đề tương tự. Hài hước lắm, vì tôi nghĩ có gì đó không ổn với máy chủ của mình, tôi đã tăng gấp bốn lần kiểm tra mọi thứ từ A đến Z, cho phép tôi ghi lại mọi thứ ở đây.
cận
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.