IPTables chỉ cho phép truy cập localhost


58

Tôi đã đấu tranh trong suốt những năm qua để có được sự hiểu biết vững chắc về iptables. Bất cứ khi nào tôi cố gắng và đọc qua các trang đàn ông, mắt tôi bắt đầu sáng lên.

Tôi có một dịch vụ mà tôi chỉ muốn cho phép localhost có quyền truy cập.

Những điều khoản (hoặc cấu hình nào, nếu ai đó cảm thấy hào phóng) tôi nên cho phép Google chỉ cho phép máy chủ localhost có quyền truy cập vào một cổng nhất định?


2
Dịch vụ này chạy trên cổng nào?
Bart De Vos

44344, đó là một dịch vụ được viết trong nhà
iptablessuck

1
Tôi muốn tạm thời đổi nick của mình thành 'iptablesrules' nhưng tôi không thể
Art Shayderov

@Art, họ chỉ mút bởi vì tôi không hiểu họ :)
iptablessuck

@iptablessuck thực sự có vẻ như tôi có thể. Nhưng tôi sẽ không làm vì tôi không chắc mình có thể thay đổi lại :)
Art Shayderov

Câu trả lời:


65

Nếu theo dịch vụ, bạn có nghĩa là một cổng cụ thể, thì hai dòng sau sẽ hoạt động. Thay đổi "25" thành bất kỳ cổng nào bạn đang cố gắng hạn chế.

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

1
"Bất cứ điều gì đến từ localhost đến cổng 25, hãy chấp nhận" và quy tắc thứ hai nói "Thả bất cứ thứ gì vào cổng 25". Dòng đầu tiên được xử lý đầu tiên, cho phép localhost và mọi thứ khác sẽ bị bỏ qua bởi dòng thứ hai. Đúng?
iptablessuck

Đúng rồi!
Hyppy

4
@Hyppy, làm thế nào bạn "hoàn tác" này?
người kiểm tra

10
@tester gõ lại các lệnh đó, nhưng thay thế -Abằng-D
pepoluan

1
@Astronaut gõ 'sudo service iptables save' để lưu các thay đổi. sau đó khởi động lại. bạn có thể kiểm tra xem các thay đổi đã được lưu hay chưa bằng cách nhập 'sudo iptables -L'
Vinayak

30

Tôi khuyên bạn nên:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

Bởi vì, các gói tự giải quyết không nhất thiết phải có 127.0.0.1 làm nguồn, nhưng tất cả chúng đều 'nhập' từ logiao diện.

Bây giờ, nếu bạn thực sự muốn hiểu iptablesđiều đầu tiên bạn nên làm là tải xuống và in các sơ đồ tốt giải thích các mối quan hệ của các netfilterbảng. Đây là hai cái tuyệt vời:

Cuối cùng, đọc rất nhiều của iptablesHOWTO. Các ví dụ thực tế sẽ giúp bạn có được tốc độ thực sự nhanh chóng :)


ty! lohiển thị cho tôi sau khi sử dụng các lệnh này với lệnh cuối cùng từ liên kết này cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules iptables -L -v -n --line-numbers

2
@Gracchus Tôi thấy việc sử dụng dễ dàng hơn nhiều iptables-save, lưu kết quả đầu ra vào một tệp, chỉnh sửa nó bằng vimhoặc emacsnhập lại tệp đã chỉnh sửa bằng cách sử dụngiptables-apply
pepoluan

Tôi nghĩ tùy thuộc vào trường hợp sử dụng, quy tắc thứ hai nên rõ ràng ĐỐI TƯỢNG thay vì bỏ âm thầm. Là nó giảm âm thầm như là một thực hành tốt nhất? Có phải ĐỐI TƯỢNG an toàn để sử dụng?
Ông Doomsbuster

1
@ tech-pro Có, RE DỰA an toàn khi sử dụng. Nó phụ thuộc vào những gì bạn đang cố gắng thực hiện và liệu bạn có muốn lịch sự với những người đang cố gắng sử dụng cổng không. ĐỐI TƯỢNG sẽ gửi lại gói TCP RST cho khách hàng biết rằng máy đã hoạt động nhưng cổng đã bị đóng. Nếu bạn đang đóng một cổng mà mọi người có thể mong đợi sử dụng một cách hợp pháp, thì ĐỐI TƯỢNG là tốt. Nếu bạn chỉ mong đợi máy quét cổng thì DROP sẽ tốt hơn.
Luật29

1
@ x-yuri Ví dụ: tôi chạy unbounddưới dạng DNS Cache, ở phía trước dnscrypt-proxy. unboundliên kết 127.0.53.1:53dnscrypt-proxyliên kết với 127.0.53.2:53. Khi một ứng dụng yêu cầu proxy không liên kết hoặc dnscrypt-proxy để giải quyết FQDN, hãy đoán xem địa chỉ nguồn nào sẽ không liên kết / dnscrypt-proxy phản hồi từ đâu?
pepoluan
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.