- vừa được xem lúc

[Linux] Iptables trong hệ thống Linux

0 0 44

Người đăng: Kien Le

Theo Viblo Asia

IPtables là ứng dụng tường lửa miễn phí trong Linux, cho phép thiết lập các quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật. Khi sử dụng máy chủ, tường lửa là một trong những công cụ quan trọng giúp bạn ngăn chặn các truy cập không hợp lệ. Đối với các bản phân phối Linux như Ubuntu, Fedora, CentOS… bạn có thể tìm thấy công cụ tường lửa tích hợp sẵn IPtables

1. Các bảng trong IPTables

- FILTER: đây là bảng mặc định được sử dụng để lọc các gói và bao gồm các chuỗi như: INPUT, OUTPUT và FORWARD.
- NAT: bản có liên quan đến việc dịch địa chỉ mạng.
- MANGLE: bản được sử dụng để thay đổi các gói chuyên biệt
- RAW: dùng để cấu hình không theo dõi các kết nối
- SECURITY: thông thường, SELinux sử dụng để thiết lập chính sách bảo mật.

Target trong IPTables

Target là một hành động sau khi các gói đáp ứng được các điều kiện của rule.

- ACCEPT: chấp nhận gói tin và gói được phép đi vào hệ thống.
- DROP: loại bỏ gói tin
- REJECT: loại bỏ gói tin và chuyển hướng xử lý đến một bảng khác.
- LOG: chấp nhận gói tin và ghi lại nhật ký.

Chains trong IPTables

Chains hay các chuỗi được tạo ra trong mỗi bảng giúp lọc các gói tin. Chúng ta có 3 dạng cơ bản như sau:

- INPUT: sử dụng để điều khiển các gói tin đến điểm đích hoặc máy chủ. Bạn có thể cho phép hoặc chặn các kết nối bằng nhiều cách như: địa chỉ IP, cổng hoặc giao thức.
- FORWARD: máy chủ sẽ trở thành trung gian để chuyển tiếp các gói đến nơi khác.
- OUTPUT: sử dụng để lọc các gói tin đi ra từ phía máy chủ của bạn.

Ngoài ra, còn có 2 chuỗi:

- PREROUTING: dùng để sửa đổi các gói khi chúng đến
- POSTROUTING: dùng để sửa đổi các gói khi chúng đi.

2. Lab

Mô hình:

  • Client, Server cài hệ điều hành Ubuntu Server.
  • Cấu hình iptables tại Server.

Yêu cầu

  • Mặc định là DROP INPUT.
  • Mặc định là ACCEPT OUTPUT.
  • Mặc định là DROP FORWARD.
  • ACCEPT Established Connection.
  • ACCEPT kết nối từ loopback.
  • ACCEPT kết nối Ping với 10 lần mỗi phút từ mạng LAN.
  • ACCEPT kết nối SSH từ trong mạng LAN

Thực hiện

Tạo default rule DROP INPUT, ACCEPT OUTPUTDROP FORWARD

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT

Tạo Rule ACCEPT Established Connection.

iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT

Tạo rule ACCEPT kết nối từ card loopback:

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

Tạo rule ACCEPT kết nối Ping với 10 lần mỗi phút từ mạng LAN.

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 10/m --limit-burst 5 -m state --state NEW,ESTABLISHED -s 172.16.100.0/24 -d 172.16.100.101 -j ACCEPT

Tạo rule ACCEPT SSH

iptables -A INPUT -p tcp -m state --state NEW -s 172.16.100.0/24 -d 172.16.100.101 --dport 22 -j ACCEPT

Kết luận

Như vậy, qua bài viết này mình kết hợp với một lab nhỏ đã giải đáp được cho bạn Iptables là gì cũng như hướng dẫn bạn cách để cấu hình Iptables Ubuntu. Hi vọng có thể giúp ích cho bạn trong công việc bảo vệ server của mình. Chúc các bạn thành công!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 121

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 51

- vừa được xem lúc

Những lệnh command shell linux cơ bản có thể bạn chưa biết - Phần 1

Bài viết này sẽ liệt kê một số command cơ bản thường được dùng trong linux, tiện dụng cho các bạn khi sử dụng linux mà có thể bạn chưa biết. Tôi là ai, câu lệnh này sẽ cho bạn biết bạn đang sử dụng linux bằng tài khoản người dùng nào.

0 0 55

- vừa được xem lúc

Cách sử dụng lệnh SCP để truyền tệp an toàn

SCP (secure copy) là một tiện ích dòng lệnh cho phép bạn sao chép an toàn các tệp và thư mục giữa hai vị trí. . From your local system to a remote system. Between two remote systems from your local system.

0 0 55

- vừa được xem lúc

Người ta làm cách nào để backup thường xuyên thư mục rất lớn?

. Vấn đề về sao lưu thư mục lớn. Mình có lưu "sương sương" 300GB các tệp tin của người dùng upload lên, như hình ảnh hay các tệp đính kèm.

0 0 48

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 52