Cách thiết lập tường lửa thích ứng


4

Tôi đã theo liên kết này: Bật tường lửa thích ứng trong máy chủ macOS

và tôi nhận được kết quả đầu ra này, nhưng tôi không biết liệu tôi đã thực sự kích hoạt tường lửa thích ứng chưa:

No ALTQ support in kernel
ALTQ related functions disabled
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled
Token : 13540967312582709951
No ALTQ support in kernel
ALTQ related functions disabled

Tôi muốn để tường lửa thích ứng tự động thêm người dùng với một vài lần thất bại để đăng nhập.

Tôi đã thêm thành công một IP nhất định vào danh sách đen tường lửa, nhưng tôi không thể thấy nó tại hb_summary, không biết có nên hiển thị IP được thêm thủ công ở đó không. Và nó không tự động thêm khi tôi bật nó lên.

Có một cuộc tấn công vũ phu tại cổng IMAP của tôi và tường lửa thích ứng của tôi đã không thêm IP đó vào danh sách đen. Chỉ có postfix xử lý nó bằng cách gây ra lỗi nghiêm trọng vì quá nhiều lỗi và chương trình bị chấm dứt, nhưng nó chỉ trong một khoảng thời gian rất ngắn.

Thông số kỹ thuật của máy chủ:

  • Máy chủ.app 3.2.2
  • Mac OS X 10.9.5

Câu trả lời:


3

Sau khi lao vào Tường lửa Thích ứng một lần nữa Tôi có ấn tượng rằng toàn bộ hệ thống là thiếu sót và tài liệu là một mớ hỗn độn.

Lệnh .../hb_summary rõ ràng là không hoạt động gì cả vì dường như nó dựa vào tệp / private / var / db / af / blockhosts đang được điền bởi ipfw không được kích hoạt trong 10.9 (và sẽ không hoạt động với neo 400.AdaptiveFirewall). pf hoàn toàn không sử dụng tập tin bị chặn.

Điều tốt nhất bạn có thể làm là như sau:

  • Kích hoạt dịch vụ Tường lửa thích ứng

    sudo /Applications/Server.app/Contents/ServerRoot/usr/sbin/serverctl enable service=com.apple.afctl
    
  • Dân trí danh sách trắng với

    sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -c
    
  • Xác định tối đa các lần thử xác thực xấu (ví dụ 3) và thời gian cấm (ví dụ: 60 phút)

    sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -T 3
    sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -H 60
    

    Điều này sẽ sửa đổi tệp /Appluggest/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist.

    Kiểm tra mod với:

    sudo grep -m 2 -A 4 hostBlockThreshold /Applications/Server.app/Contents/ServerRoot/private/etc/emond.d/rules/AdaptiveFirewall.plist
    
  • Khởi chạy lại emond: sudo killall emond
  • Thêm máy chủ xấu được biết đến trong một thời gian dài:

    sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -a 104.16.35.178 -t 1000000
    

    (Xin lưu ý về vấn đề y2038 ). Điều này sẽ sửa đổi tập tin / private / var / db / af / blacklist. Các máy chủ được thêm vào đây thường không tồn tại khi khởi động lại.

  • Bắt đầu với sudo /Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl -f
  • Để có được máy chủ bị chặn, hãy nhập:

    sudo pfctl -a com.apple/400.AdaptiveFirewall -t blockedHosts -T show -vvv
    

    Để có được trạng thái của pf sudo pfctl -s all.

Điều này được thử nghiệm với sự thù địch sshopenssl s_client -connect imapserver_ip:993 cố gắng đăng nhập.


Sau khi khởi động lại .../afctl -f lệnh sẽ bắt đầu pf và af nhưng trong ít nhất một trong hai trường hợp, nó không chặn các nỗ lực đăng nhập thù địch mặc dù nó được thông báo trong tệp nhật ký.


Cải tiến:

Sau khi sửa đổi các phím gỡ lỗi logEvents trong tệp /etc/emond.d/emond.plist,:

    ...
    <key>debugLevel</key>
    <integer>3</integer>
    ...
    <key>logEvents</key>
    <true/>
    ...

tạo tập tin / System / L Library / LaunchDaemons / com.apple.afctl_boot.plist với nội dung:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>com.apple.afctl_boot</string>
    <key>Program</key>
    <string>/Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Server.app/Contents/ServerRoot/usr/libexec/afctl</string>
        <string>-f</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

và tải nó với:

sudo launchctl load /System/Library/LaunchDaemons/com.apple.afctl_boot.plist

nó dường như làm việc đáng tin cậy hơn Tường lửa thích ứng sẽ được tải vào lúc khởi động. Không cần thêm lệnh khởi động afctl!


Trước hết, cảm ơn bạn rất nhiều vì hướng dẫn tuyệt vời! Thực sự là một mớ hỗn độn, tất cả dữ liệu mà apple đã công bố về việc thiết lập tường lửa này trong các phiên bản trước của macosx.
SipriusPT

Tôi đã thực hiện một số thử nghiệm và tôi phát hiện ra rằng máy chủ của tôi không cho phép nhiều hơn 6 lần thử đăng nhập thông qua cùng một tên người dùng, nhưng không thể tự động thêm IP xấu vào danh sách đen. Sau khi tôi thực hiện hướng dẫn cho đến phần "cải tiến", tôi nhận thấy rằng bây giờ với hostBlockThrưỡng 12 và hostMinBlockTime là 60, nó vẫn hoạt động tốt (tôi đã thực hiện thử nghiệm này ít nhất 2 lần và cả hai đều hoạt động tốt).
SipriusPT

Tôi sẽ thực hiện phần cải tiến để tránh phải thực hiện afctl -f mỗi khi tôi khởi động lại hệ thống. P.S. Tôi sẽ thay đổi tiêu đề của câu hỏi này để trực quan hơn cho những người khác có thể gặp phải vấn đề này.
SipriusPT

Chỉ để cho bạn biết rằng trong hệ thống của tôi, tôi đã có LaunchDaemons thay vì LaunchDaemon của bạn. Làm thế nào tôi có thể có quyền truy cập vào các logevents emond? (Tôi đã thay đổi emond.plist như bạn đã thực hiện trong các cải tiến)
SipriusPT

@SipriusPT LaunchDaemon đã viết sai chính tả và tôi đã sửa nó!
klanomath
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.