Làm thế nào để cấu hình IPTables trong Linux? [Hướng dẫn từng bước 2021]

Làm thế nào để cấu hình IPTables trong Linux? [Hướng dẫn từng bước 2021]

IPTables là tên của một hệ thống tường lửa chạy trên Linux thông qua dòng lệnh.Chương trình chủ yếu được sử dụng nhưUbuntuTiện ích mặc định được cung cấp trên.Quản trị viên thường sử dụng tường lửa IPTables để cho phép hoặc ngăn chặn lưu lượng truy cập vào mạng của họ.

Nếu bạn chưa quen với IPTables, điều đầu tiên bạn cần làm là cập nhật hoặc cài đặt nó bằng lệnh sau:

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

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

Trong bài viết này, chúng tôi sẽ cung cấp cho bạn hướng dẫn cơ bản về IPTables và giới thiệu cho bạn những điều cơ bản.Trước khi chúng ta tìm hiểu về cốt lõi của IPTables, bạn cần đảm bảo rằng bạn cóChạy Ubuntu 16.04CủaVPAvà mộtVới ứng dụng SSHCủa Máy địa phương.Nếu bạn đã có những thứ này, thì đã đến lúc bắt đầu.

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

Một trong những khái niệm cơ bản cần nắm vững trong IPTables là khái niệm về chuỗi.Chuỗi về bản chất là một quy tắc.Bảng bộ lọc có ba chuỗi mà bạn sẽ gặp trên IPTables;đi vào,Ở đằng trước VàXuất khẩu.

    • ĐẦU VÀO  - Chuỗi INPUT là quy tắc điều khiển các gói dữ liệu đến.Bạn có thể chặn hoặc cho phép các kết nối mới tại đây.Bạn có thể thực hiện việc này dựa trên cổng, giao thức và địa chỉ IP nguồn.
  • PHÍA TRƯỚC  - Chuỗi FORWARD lọc các gói đến đang được chuyển tiếp đến các vị trí đầu cuối khác nhau.Trừ khi bạn đang định tuyến hoặc đặc biệt tìm kiếm chuyển tiếp, bạn không có khả năng sử dụng chuỗi này.
  • OUTPUT  - Chuỗi OUTPUT được sử dụng để quản lý các gói dữ liệu gửi đi và các kết nố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, 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 trực tiếp đến cấu hình các quy tắc cụ thể ngay 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.Để xác định hành vi mặc định của chuỗi là gì, bạn cần chạy lệnh sau:

Lệnh $ sudo iptables -L

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

người dùng @ ubuntu: ~ $ sudo iptables -L -v 
ĐẦU VÀO chuỗi (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 @ ubuntu: ~ $

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

câu hỏi liên quan  Linux so với Windows [Xung đột với các hệ điều hành cấp tiến]

Tuy nhiên, nếu bạn thấy rằng chính sách của mình không chấp nhận các kết nối, 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 —chấp nhận ĐẦU VÀO chính sách
$ sudo iptables —chấp nhận ĐẦU RA chính sách
$ sudo iptables —chính sách CHẤP NHẬN MỞ RỘNG

Sau khi cài đặt mặc định của bạn 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 các kết nối sẽ chặn thay vì chặn tất cả các kết nối theo mặc định.

Nếu bạn đang xử lý thông tin đặc biệt nhạy cảm, thì bạn có thể định cấu hình cài đặt mặc đị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.Để thực hiện việc này, bạn cần nhập lệnh sau:

$ sudo iptables —chính sách INPUT DROP
$ sudo iptables —chính sách DỰ ĐOÁN ĐẦU RA
$ sudo iptables —chính sách TIỀN TỆ MỞ RỘNG

Tốt nhất là hầu hết người dùng nên chấp nhận tất cả các kết nối, nhưng nếu bạn đang làm việc trên một máy chủ bảo mật cao, thì điều đó cũng đáng nhớ.

Định cấu hình một kết nối duy nhất

Sau khi định cấu hình hành vi chuỗi mặc định, bạn có thể định cấu hình một kết nối duy nhất.Đây là nơi bạn định cấu hình cái gọi là phản hồi dành riêng cho kết nối.Về cơ bản, điều này cho IPTables biết cách tương tác khi kết nối với địa chỉ IP hoặc cổng.Những phản hồi này như sau;Chấp nhận,bỏ cuộc,Từ chối.

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

  • CHẤP NHẬN - Cấu hình này chỉ cho phép các kết nối.
  • Thả  - Drop 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  - Thao tác này sẽ chặn kết nối đã cố gắng, nhưng cũng sẽ gửi 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ách cho phép hoặc chặn các kết nối

Tùy thuộc vào cài đặt của bạn, có nhiều cách khác nhau để chặn hoặc cho phép kết nối.Ví dụ sau sử dụng một phương pháp chặn ẩn, nghĩa là sử dụngRơi Ngắt kết nối mà không có bất kỳ tương tác nào. 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.Bạn sẽ thấy bên dưới cách sử dụng lệnh này để chặn kết nối:

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

$ sudo iptables -A INPUT -S 10.10.10.10 -j THẢ

Trong ví dụ trên, bạn có thể thay thế 10.10.10.10 bằng địa chỉ IP mà bạn muốn chặn.

câu hỏi liên quan  35 phím tắt trên Linux [bạn nên biết vào năm 2021]

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 --dport ssh -s 10.10.10.10 -j DROP 

Xin 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 lưu ý rằng phân đoạn -p tcp của mã được sử dụng để cho biết giao thức bạn muốn chặn là UDP hay TCP.

Nếu giao thức sử dụng UDP, thì bạn sẽ nhập-p udpThay 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 --dport ssh -jDROP

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

Hầu hết các giao thức bạn gặp phải yêu cầu giao tiếp hai chiều để truyền.Điều này có nghĩa là quá trình truyền bao gồm đầ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 ngoài.Trạng thái kết nối cho phép bạn trộn 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ụ sau, giao thức SSH chặn kết nối SSH từ địa chỉ IP, nhưng cho phép kết nối đến địa chỉ IP:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m trạng thái - trạng thái MỚI, THÀNH LẬP -j CHẤP NHẬN 

$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10.-m state —state ESTABLISHED -J CHẤP NHẬN

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

câu hỏi liên quan  Làm thế nào để chạy các ứng dụng Windows trên Linux? [Sử dụng Rượu vang 6.1]

Ubuntu:

$ sudo / sbin / iptables-save

Mũ đỏ / CentOS -

$ sudo / sbin / service iptables tiết kiệm

hoặc là

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

Hãy nhớ sử dụng các lệnh này là rất quan trọng, vì nó có thể loại bỏ sự phức tạp của việc phải cấu hình mỗi khi tiện ích được tải.

Xóa quy tắc

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

$ sudo iptables -D INPUT 10

Sau đó, quy tắc thứ 10 mà 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à xóa một loạt các quy tắc, bạn có thể sử dụngLệnh -F.Bạn có thể thực hiện việc này bằng cách nhập như sau:

$ sudo iptables -F

Thao tác này sẽ xóa toàn bộ bộ quy tắc và làm mới IPTable của bạn.

IPTables: Học Quy tắc Chuỗi!

Phần này 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ách để chặn và cho phépLinuxPhiên bản phát hànhCông cụ đa chức năng trên luồng.Sử dụng hiệu quả tiện ích này liên quan đến việc thiết lập cấu hình mặc định một cách hiệu quả và xây dựng các quy tắc khác trên đó.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 để cho phép hoặc từ chối lưu lượng truy cập;Các quy tắc này sẽ cho phép bạn xây dựng phương pháp của mình dựa trên địa chỉ IP, cổng và giao thức.

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

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

Oh xin chào 👋Hân hạnh được biết bạn.

Theo dõi bản tin của chúng tôi, Gửi rất thường xuyênCông nghệ tuyệt vờiĐến bài viết của bạn.

Gửi cảm nhận