(chuyển từ SO)
Tôi có iptables bảo vệ một máy chủ sip. Nó chặn tất cả các IP ngoại trừ những IP tôi đặc biệt đã mở và dường như nó hoạt động với hầu hết mọi người. Tôi đã thử nghiệm từ rất nhiều địa chỉ IP không được liệt kê trong danh sách trắng và tất cả chúng đều bị loại bỏ nếu cần.
NHƯNG, tôi đã chọn một "hacker" dường như có thể bỏ qua các quy tắc iptables. HÓA ĐƠN thăm dò của anh ấy làm cho nó thông qua, và tôi không biết làm thế nào, hoặc nó thậm chí có thể. Trong 10 năm tôi chưa từng thấy điều này trước đây.
Tôi cho rằng nó phải là thứ tôi đã làm, nhưng tôi không thể nhìn thấy nó.
iptables được tạo như thế này (MYIP được xác định ở trên cùng - được điều chỉnh lại):
iptables -F
iptables -X
iptables -N ALLOWEDSIP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -d $MYIP --dport 22 -j ACCEPT
iptables -t filter -A INPUT -j ALLOWEDSIP
# This is my white list.
iptables -A ALLOWEDSIP -j RETURN
Bây giờ, với việc KHÔNG CÓ trong ALLOWEDSIP, tất cả những gì tôi có thể làm là SSH trong (mà tôi có thể). Nếu tôi ném các cuộc gọi vào nó thì tất cả đều bị rơi. Nhưng wireshark cho tôi thấy điều này (ip của tôi đã được xử lý lại):
89.163.146.25 -> x.x.x.x SIP/SDP 805 Request: INVITE sip:521088972597572280@x.x.x.x |
x.x.x.x -> 89.163.146.25 SIP 417 Status: 100 Giving a try |
x.x.x.x -> 89.163.146.25 SIP 875 Status: 407 Proxy Authentication Required |
Các cuộc gọi của anh ấy đã chạm vào công tắc của tôi và mặc dù cuối cùng bị ACL từ chối, họ không bao giờ nên đến đó. Không có gì khác được thông qua. Kéo tóc tôi ra. Có ai biết không?
Để hoàn thiện, đây là kết quả của iptables -L:
# iptables -L --line-numbers -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 10 640 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
2 0 0 ACCEPT all -- lo any anywhere anywhere
3 0 0 ACCEPT tcp -- any any anywhere <redacted>.com tcp dpt:6928
4 0 0 ALLOWEDSIP all -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 6 packets, 544 bytes)
num pkts bytes target prot opt in out source destination
Chain ALLOWEDSIP (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 RETURN all -- any any anywhere anywhere
EDIT: chỉ thấy điều này từ wireshark. Họ có thể đang làm một cái gì đó khủng khiếp như được thiết lập một số cách khác sau đó chơi theo quy tắc được thiết lập? Có lẽ họ đang chơi trên một số lỗ hổng trong LIÊN QUAN?
89.163.146.25 -> <redacted> RTCP 806 Source port: tag-pm Destination port: sip
EDIT 2: UDP là chìa khóa ở đây. Khi tôi đặt OpenSIPS chỉ nghe TCP, vấn đề dường như biến mất. Không có nỗ lực nào của họ vượt qua được nữa, mặc dù họ đang gửi thêm những tin nhắn "tag-pm" đó. Không giải thích lý do tại sao các gói thậm chí còn được mở. iptables nên dừng chúng lại trước. Rất muốn biết những gì tôi đã làm sai ở đây.
EDIT 3: Nếu tôi loại bỏ LIÊN QUAN, tôi sẽ ngừng trả lời họ, vì vậy đó là điều cần làm với điều đó. Nhưng tôi nghĩ rằng tôi cần liên quan. Bất kỳ lời khuyên về cách giải quyết?
RELATED
đến -p icmp
. Có lẽ điều này giải quyết nó (hoặc là một công việc phù hợp xung quanh mà không yêu cầu bạn đọc về người trợ giúp conntrack).
ESTABLISHED
nên làm việc cho UDP. Dường như luồng gói và chấp nhận trả lời các yêu cầu (gửi đi). "Tin tặc" của bạn có IP tĩnh không? ;-) Nếu vậy, hãy kiểm tra / Proc / net / nf_conntrack để xem bảng trạng thái chứa gì về chúng khi chúng hiện / không / được kết nối ...RELATED
là một điều khó khăn hơn ... Không biết nó làm gì cho SIP . Cómodprobe
thể hiển thị một mô-đun ipt_sip hoặc một cái gì đó được tải sẽ làm công cụ "ma thuật"?