Hướng dẫn dành cho người mới bắt đầu với các bảng IP

Hướng dẫn cho người mới bắt đầu về IPTables

IPTables là tên của một hệ thống tường lửa hoạt động thông qua dòng lệnh trên Linux. Chương trình này chủ yếu có sẵn như là một tiện ích mặc định trên Ubuntu. Quản trị viên thường sử dụng tường lửa IPTables để cho phép hoặc chặn lưu lượng truy cập vào mạng của họ. Nếu bạn mới sử dụng IPTables thì một trong những điều đầu tiên bạn cần làm là cập nhật nó hoặc cài đặt nó bằng cách sử dụng lệnh sau:

$ sudo apt-get cài đặt iptables

Mặc dù người dùng chưa quen với giao diện dòng lệnh tìm thấy có một đường cong học tập gắn liền với IPTables, nhưng tiện ích này đủ đơn giản để sử dụng. Có một loạt các lệnh cốt lõi hoạt động như bánh mì và bơ của bạn để kiểm soát lưu lượng. Điều đó đang được nói, bạn cần phải rất cẩn thận khi thực hiện các thay đổi đối với quy tắc IPTables. Nhập sai lệnh có thể khóa bạn hoàn toàn khỏi IPTables cho đến khi bạn giải quyết vấn đề trong máy vật lý.

Trong bài viết này, chúng tôi sẽ cung cấp cho bạn một hướng dẫn cơ bản về IPTables và giới thiệu cho bạn các nguyên tắc cơ bản. Trước khi chúng tôi đến trung tâm của IPTables, bạn cần đảm bảo rằng bạn có một VPA chạy Ubuntu 16.04 và một máy cục bộ với máy khách SSH. Nếu bạn đã có những thứ này thì đã đến lúc bắt đầu.

Hướng dẫn IPTables: Chuỗi

Chuỗi hướng dẫn Iptables

Một trong những khái niệm cơ bản để hiểu rõ về IPTables là về chuỗi. Một chuỗi về cơ bản là một quy tắc. Các bảng lọc Bộ lọc có ba chuỗi mà bạn sẽ gặp trên IPTables; ĐẦU VÀO, Ở ĐẰNG TRƯỚC và ĐẦU RA.

  • ĐẦU VÀO – Chuỗi INPUT là quy tắc kiểm soát các gói đến. Tại đây bạn có thể chặn hoặc cho phép các kết nối mới. Bạn có thể làm điều này dựa trên cổng, giao thức và địa chỉ IP nguồn.
  • Ở ĐẰNG TRƯỚC – Chuỗi FORWARD lọc các gói đến đang được chuyển tiếp đến một vị trí cuối khác. Bạn không thể sử dụng chuỗi này trừ khi bạn định tuyến hoặc tìm cách chuyển tiếp cụ thể.
  • ĐẦU RA – Chuỗi OUTPUT được sử dụng để quản lý các gói và kết nối đi. Điều quan trọng cần lưu ý là nếu bạn ping một máy chủ bên ngoài thì chuỗi đầu vào sẽ được sử dụng để trả lại dữ liệu cho bạn.

Hành vi chuỗi mặc định

Bạn có thể muốn chuyển thẳng vào cấu hình các quy tắc cụ thể khi bắt đầu nhưng bạn cần lùi lại một bước để xác định hành vi mặc định trước. Để xác định hành vi mặc định của chuỗi của bạn là gì, bạn sẽ cần chạy lệnh:

$ sudo iptables -L lệnh

Điều này sẽ hiển thị như sau:

quy tắc chuỗi 2

người dùng @ ubfox: ~ $ sudo iptables -L -v
Chuỗi INPUT (CHẤP NHẬN chính sách)
Chuỗi FORWARD (CHẤP NHẬN chính sách)
Đầu ra chuỗi (CHẤP NHẬN chính sách)
người dùng @ ubfox: ~ $

Thông tin này cho bạn biết chính xác chuỗi của bạn được cấu hình để làm gì. Trong ví dụ này, chuỗi đầu vào, chuyển tiếp và đầu ra đã được cấu hình để chấp nhận lưu lượng. Các cài đặt này là điểm khởi đầu tốt vì chúng không chặn bất kỳ kết nối nào bạn muốn.

Tuy nhiên, nếu bạn thấy rằng chính sách của bạn không chấp nhận các kết nối thì bạn có thể nhập từng lệnh sau để chấp nhận tất cả các kết nối:

$ sudo iptables Dawpolicy INPUT CHẤP NHẬN$ sudo iptables Dawpolicy OUTPUT CHẤP NHẬN$ sudo iptables Dawpolicy CHẤP NHẬN

Khi mặc định của bạn được căn chỉnh để chấp nhận tất cả các kết nối, bạn có thể kiểm soát quyền truy cập vào IPTables bằng cách chặn địa chỉ IP và số cổng. Điều này cho phép bạn chỉ định những kết nối nào bạn muốn chặn thay vì chặn mọi thứ theo mặc định.

Nếu bạn làm việc với thông tin đặc biệt nhạy cảm thì bạn có thể định cấu hình mặc định của mình để tự động chặn tất cả các kết nối. Bằng cách này, bạn có thể sử dụng IPTables để chọn các địa chỉ IP riêng lẻ mà bạn muốn cho phép. Để làm điều này, bạn cần phải nhập lệnh sau:

$ sudo iptables Bình luận INPUT DROP$ sudo iptables Bộ xử lý OUTPUT DROP$ sudo iptables Bình luận chính thức FORWARD DROP

Phần lớn người dùng sẽ tốt hơn khi chấp nhận tất cả các kết nối nhưng điều đáng ghi nhớ nếu bạn làm việc trên một máy chủ bảo mật cao.

Cấu hình các kết nối riêng lẻ

cấu hình các kết nối riêng lẻ

Khi bạn đã cấu hình hành vi chuỗi mặc định của mình, đó là thời gian để cấu hình các kết nối riêng lẻ. Đây là điểm mà bạn định cấu hình những gì được gọi là phản hồi dành riêng cho kết nối. Điều này về cơ bản cho IPTables cách tương tác khi được kết nối với địa chỉ IP hoặc cổng. Những phản hồi như sau; CHẤP NHẬN, RƠI VÃI, TỪ CHỐI.

Như bạn có thể thấy trong hình trên, người dùng đã xác định quy tắc chuỗi để cho phép, thả hoặc từ chối kết nối dựa trên các yêu cầu. Dưới đây là một mô tả về những gì mỗi phản hồi đòi hỏi:

  • CHẤP NHẬN – Cấu hình này chỉ đơn giản cho phép kết nối diễn ra.
  • RƠI VÃI – Thả chặn kết nối mà không tương tác với nguồn theo bất kỳ cách nào.
  • TỪ CHỐI – Điều này chặn kết nối đã thử nhưng cũng gửi một thông báo lỗi. Điều này thường để thông báo cho nguồn rằng nỗ lực kết nối đã bị chặn bởi tường lửa của bạn.

Cách cho phép hoặc chặn kết nối

Có nhiều cách khác nhau để chặn hoặc cho phép kết nối tùy thuộc vào cài đặt của bạn. Các ví dụ dưới đây đang sử dụng phương pháp chặn bí mật sử dụng Rơi vãi bỏ kết nối mà không có bất kỳ tương tác. iptables -A cho phép chúng tôi thêm cảnh báo bổ sung vào các quy tắc được thiết lập bởi cài đặt chuỗi mặc định của chúng tôi. Bạn thấy cách sử dụng lệnh này để chặn các kết nối bên dưới:

Chặn một địa chỉ IP duy nhất:

$ sudo iptables -A INPUT -S 10.10.10.10 -j DROP

Trong ví dụ trên, bạn sẽ thay thế 10.10.10.10 bằng địa chỉ IP bạn muốn chặn.

Chặn một loạt địa chỉ IP:

$ sudo iptables -A INPUT -s 10.10.10.10.0 / 24 -j DROP

hoặc là

$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP

Chặn một cổng duy nhất:

$ sudo iptables -A INPUT -p tcp Cáchdport ssh -s 10.10.10.10 -j DROP

Lưu ý rằng ‘ssh có thể được thay thế bằng bất kỳ giao thức hoặc số cổng nào. Cũng cần lưu ý rằng đoạn -p tcp của mã được sử dụng để tham khảo xem giao thức bạn muốn chặn đang sử dụng UDP hay TCP.

Nếu giao thức đang sử dụng UDP thì bạn sẽ nhập -p udp thay vì -p tcp. Bạn cũng có thể chặn tất cả các kết nối từ địa chỉ IP bằng cách nhập lệnh sau:

$ sudo iptables -A INPUT -p tcp Cáchdport ssh -jDROP

Giao tiếp hai chiều: Hướng dẫn kết nối IPTables

Hầu hết các giao thức bạn gặp phải yêu cầu giao tiếp phải đi cả hai chiều để chuyển khoản diễn ra. Điều này có nghĩa là chuyển được tạo thành từ đầu vào và đầu ra. Những gì đi vào hệ thống của bạn cũng quan trọng như những gì đi ra. Trạng thái kết nối cho phép bạn kết hợp và kết hợp giữa kết nối hai chiều và kết nối một chiều. Trong ví dụ bên dưới, giao thức SSH đã chặn các kết nối SSH từ địa chỉ IP nhưng cho phép các kết nối đến địa chỉ IP:

$ sudo iptables -A INPUT -p tcp Cáchdport ssh -s 10.10.10.10 -m bangststate MỚI, THÀNH LẬP -j CHẤP NHẬN

$ sudo iptables -A OUTPUT -p tcp Cáchsport 22 -d 10.10.10.10. -m bang bangststate thành lập -J CHẤP NHẬN

Khi bạn đã nhập một lệnh để thay đổi trạng thái kết nối, bạn cần lưu các thay đổi của mình. Nếu bạn don lồng thì khi bạn đóng tiện ích, cấu hình của bạn sẽ bị mất. Tùy thuộc vào hệ thống phân phối mà bạn sử dụng, có một số lệnh khác nhau bạn có thể sử dụng:

Ubuntu:

$ sudo / sbin / iptables-save

Mũ đỏ / CentOS –

$ sudo / sbin / dịch vụ iptables lưu

HOẶC LÀ

$ sudo  /etc/init.d/iptables lưu 

Nhớ sử dụng các lệnh này là rất quan trọng vì nó sẽ loại bỏ rắc rối khi phải định cấu hình mỗi khi bạn tải lên tiện ích.

Xóa một quy tắc

Cũng quan trọng như việc có thể lưu các quy tắc của bạn là có thể xóa chúng. Nếu bạn mắc lỗi hoặc chỉ đơn giản là muốn loại bỏ một quy tắc cũ thì bạn có thể sử dụng tùy chọn –D chỉ huy. Lệnh này cần được kết hợp với số quy tắc mà bạn nhập. Con số cho IPTables biết quy tắc nào sẽ bị xóa. Ví dụ: nếu bạn đã nhập:

$ sudo iptables -D VÀO 10

Sau đó, quy tắc thứ 10 bạn định cấu hình sẽ bị xóa.

Nếu bạn muốn dọn dẹp nhà cửa và loại bỏ một loạt các quy tắc thì bạn có thể sử dụng -Lệnh F. Bạn có thể làm điều này bằng cách nhập vào như sau:

$ sudo iptables -F

Điều này sẽ xóa toàn bộ bộ quy tắc và xóa IPTable của bạn.

IPTables: Tìm hiểu Quy tắc chuỗi!

Điều đó kết thúc hướng dẫn IPTables của chúng tôi. Như bạn có thể thấy IPTables là một công cụ linh hoạt để chặn và cho phép lưu lượng truy cập trên Linux phân phối. Sử dụng tiện ích một cách hiệu quả liên quan đến việc thiết lập các cấu hình mặc định của bạn một cách hiệu quả và xây dựng các quy tắc bổ sung trên đó. Các cấu hình mặc định sẽ cho phép bạn phác thảo ý định lưu lượng truy cập rộng của mình để cho phép hoặc từ chối lưu lượng; các quy tắc sẽ cho phép bạn cấu trúc cách tiếp cận của mình liên quan đến địa chỉ IP, cổng và giao thức.

Chúng tôi chỉ làm trầy xước bề mặt với tiềm năng IPTables và có rất nhiều lệnh khác nhau mà bạn có thể sử dụng để quyết định cách bạn trải nghiệm lưu lượng truy cập trên máy chủ của mình. Tuy nhiên, chúng tôi khuyên bạn nên giảm những điều cơ bản trước khi bắt đầu với các lệnh khác. Ví dụ, bạn sẽ muốn tìm hiểu về các quy tắc chuỗi cơ bản trước khi cam kết với bất kỳ điều gì chuyên biệt hơn.

Khi bạn đã quen với cách IPTables hoạt động thì bạn có thể bắt đầu kết hợp nhiều quy tắc hơn để tùy chỉnh trải nghiệm của mình. Khi làm như vậy, bạn sẽ có thể chỉ định chính xác loại kết nối nào bạn sẽ cho phép với độ chính xác cao hơn bao giờ hết.

Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me