Cách cấu hình tường lửa trong Linux với IPtables

iptable linux

Mặc dù đôi khi tôi vẫn chạm vào Windows một mình và trong nhiều trường hợp khác, họ ép tôi (marditoh rodoreh) khi tôi phải làm những việc không có máy tính của mình, nhưng đối với tôi, nói về Windows giống như một thứ gì đó đã bị thời gian bỏ lại rất xa. Khi tôi sử dụng nó làm hệ thống chính của mình (tôi không có hệ thống nào khác), tôi đã cố gắng bảo vệ nó bằng phần mềm như phần mềm chống vi-rút của Kaspersky và tường lửa không thường xuyên, trong số nhiều công cụ bảo mật khác. Trong Linux, chúng ta chưa bao giờ bị lộ như trong Windows, nhưng cũng có những phần mềm giúp chúng ta bình tĩnh hơn, chẳng hạn như bảng IP, tường lửa hay bức tường lửa.

Tường lửa là một hệ thống bảo mật chịu trách nhiệm kiểm soát lưu lượng mạng vào và ra khỏi hệ điều hành. Một trong những thứ phổ biến nhất trong Linux là IPtables đã nói ở trên, đến mức, có thể và bạn không biết, nó đã được cài đặt trong hệ điều hành của bạn kể từ khi bạn phát hành nó. Những gì chúng tôi sẽ cố gắng làm trong bài viết này là để giải thích cách cấu hình tường lửa trong linux với IPtables.

IPtables trên Linux, những điều bạn cần biết

Cấu hình tường lửa có thể phức tạp, và hơn thế nữa trong một hệ điều hành như Linux, trong đó đạt được kết quả tốt nhất khi chạm vào thiết bị đầu cuối. Trước khi bắt đầu, bạn nên biết một chút về các vấn đề về mạng và bảo mật hoặc ít nhất là hiểu rằng khi chúng ta kết nối, chúng ta đang giao tiếp với các thiết bị khác và những thiết bị này hoặc chủ sở hữu của chúng có thể có mục đích tốt hoặc xấu. Vì lý do này, tùy thuộc vào cách chúng ta sử dụng PC của mình, nên kiểm soát mọi thứ đi ra ngoài và mọi thứ đi vào nó.

Ngoài ra, và đối với những gì có thể xảy ra, nếu chúng tôi có một tường lửa khác trên hệ thống Linux của mình và chúng tôi sẽ bắt đầu điều chỉnh mọi thứ trong IPtables, thì đáng để tạo một bản sao lưu cấu hình tường lửa hiện tại của chúng tôi. Với tất cả điều này rõ ràng, chúng ta bắt đầu nói đầy đủ về cấu hình của IPtables.

  1. Điều đầu tiên chúng ta phải làm là cài đặt gói. Hầu hết các bản phân phối Linux đều được cài đặt theo mặc định, nhưng đây là điều không phải lúc nào cũng đúng. Để tìm hiểu xem chúng tôi đã cài đặt IPtables trong hệ điều hành của mình hay chưa, chúng tôi mở một thiết bị đầu cuối và viết iptables -v. Trong trường hợp của tôi và tại thời điểm viết bài này, thiết bị đầu cuối của tôi trả về cho tôi iptable v1.8.8. Trong trường hợp nó chưa được cài đặt, nó có thể được cài đặt bằng:

Ubuntu/Debian hoặc dẫn xuất:

sudo apt cài đặt iptables

Fedora/Redhat hoặc các công cụ phái sinh:

Sudo yum cài đặt iptables

Arch Linux và các dẫn xuất

Sudo pacman -S iptables

Sau khi cài đặt, nó sẽ được kích hoạt với:

Sudo systemctl kích hoạt iptables Sudo systemctl bắt đầu iptables

Và bạn có thể thấy trạng thái của nó với:

trạng thái sudo systemctl iptables
  1. Với tường lửa đã được cài đặt, bạn phải cấu hình các quy tắc của nó. Các quy tắc IPtables được chia thành các bảng (mà chúng ta sẽ nói chi tiết hơn ở phần sau của bài viết này): bộ lọc, nat và mangle, chúng ta phải thêm raw và security vào đó. Bảng bộ lọc được sử dụng để kiểm soát lưu lượng vào và ra, bảng nat được sử dụng để thực hiện NAT (Dịch địa chỉ mạng) và bảng mangle được sử dụng để sửa đổi gói IP. Để định cấu hình các quy tắc của bảng bộ lọc, các lệnh sau được sử dụng:
  • iptables -A INPUT -j ACCEPT (cho phép tất cả lưu lượng truy cập đến).
  • iptables -A OUTPUT -j ACCEPT (cho phép tất cả lưu lượng gửi đi).
  • iptables -A FORWARD -j ACCEPT (cho phép tất cả lưu lượng định tuyến). Tuy nhiên, cấu hình này cho phép tất cả lưu lượng truy cập và không được khuyến nghị cho hệ thống sản xuất. Điều quan trọng là chỉ định các quy tắc tường lửa dựa trên nhu cầu cụ thể của hệ thống. Ví dụ: nếu bạn muốn chặn lưu lượng đến trên cổng 22 (SSH), bạn có thể sử dụng lệnh:
iptables -A INPUT -p tcp --dport 22 -j THẢ
  1. Một điều quan trọng khác là lưu các cài đặt để không bị mất chúng khi khởi động lại hệ thống. Trên Ubuntu và Debian, lệnh "iptables-save" được sử dụng để lưu các cấu hình hiện tại vào một tệp. Trên Red Hat và Fedora, lệnh "service iptables save" được sử dụng để lưu cấu hình. Nếu bạn không biết nên sử dụng cái nào, các lệnh Ubuntu/Debian có xu hướng hoạt động trên nhiều bản phân phối hơn.

Tải cấu hình sau khi khởi động lại

đến tải cài đặt đã lưu, các lệnh tương tự được sử dụng để lưu chúng được sử dụng, nhưng với hành động "khôi phục" thay vì "lưu". Trên Ubuntu và Debian, lệnh "iptables-restore" được sử dụng để tải các cấu hình đã lưu từ một tệp. Trên Red Hat và Fedora, lệnh "khôi phục dịch vụ iptables" được sử dụng để tải các cấu hình đã lưu. Một lần nữa, nếu bạn không biết nên sử dụng lệnh nào, thì các lệnh Ubuntu/Debian thường hoạt động tốt nhất.

Điều quan trọng cần lưu ý là nếu các thay đổi được thực hiện đối với cài đặt tường lửa, chúng cần được lưu và tải lại để các thay đổi có hiệu lực. Đó là một cách để ghi đè lên tệp cấu hình bằng dữ liệu mới và nếu không được thực hiện theo cách này, các thay đổi sẽ không được lưu.

Các bảng trong IPtables

Có các loại 5 bảng trong IPTables và mỗi cái có các quy tắc khác nhau được áp dụng:

  • lọc : Đây là bảng chính và mặc định khi sử dụng IPTables. Điều này có nghĩa là nếu không có bảng cụ thể nào được đề cập khi áp dụng quy tắc, các quy tắc sẽ được áp dụng cho bảng bộ lọc. Như tên gọi của nó, vai trò của bảng lọc là quyết định có cho phép các gói tin đến đích hay từ chối yêu cầu của chúng.
  • giáng sinh (Bản dịch địa chỉ mạng): Như tên cho thấy, bảng này cho phép người dùng xác định bản dịch địa chỉ mạng. Vai trò của bảng này là xác định xem và cách sửa đổi địa chỉ gói nguồn và đích.
  • mangle: Bảng này cho phép chúng tôi sửa đổi các tiêu đề IP của các gói. Ví dụ, TTL có thể được điều chỉnh để kéo dài hoặc rút ngắn các bước nhảy mạng mà gói có thể hỗ trợ. Theo cách tương tự, các tiêu đề IP khác cũng có thể được sửa đổi theo sở thích của bạn.
  • nguyên: Công dụng chính của bảng này là theo dõi các kết nối vì nó cung cấp cơ chế đánh dấu các gói để xem các gói như một phần của phiên đang diễn ra.
  • an ninh: Sử dụng bảng bảo mật, người dùng có thể áp dụng các cờ ngữ cảnh bảo mật SELinux nội bộ cho các gói mạng.

Hai bảng cuối cùng hầu như không được sử dụng, đến mức hầu hết các tài liệu chỉ nói về bộ lọc, nat và mangle.

Trong tệp trợ giúp, chúng tôi có thể tìm thấy các ví dụ về cách quản lý IPtables. Để xem nó, chúng tôi sẽ mở một thiết bị đầu cuối và gõ iptables -h.

Mặc dù iptables là một trong những lựa chọn tốt nhất hiện có dành cho Linux, nhưng nếu bạn thích thứ gì đó đơn giản hơn với giao diện đồ họa, bạn có thể xem qua Tường lửa.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.