Nội dung bài viết
#

Iptables là gì? Đặc điểm và tính năng của Iptables

Nội dung bài viết

    Iptables là một tiện ích tường lửa linh hoạt dành cho Linux với những công dụng ưu việt nhất hiện nay. Các loại chuỗi phổ biến của iptables là gì và chúng có những tính năng như thế nào? Hay các kết nối của iptables có những quy tắc gì? Hãy cùng BKHOST tìm hiểu ngay trong bài viết dưới đây.

    Iptables là gì?

    Iptables la gi

    Iptables là một tiện ích tường lửa dành cho hệ điều hành Linux, có khả năng tự thiết lập các quy tắc kết nối trên hệ thống hỗ trợ kiểm soát truy cập.

    Sử dụng cách truy xuất gói sau để cài đặt và cập nhật iptables trên Linux:

    {{EJS0}}

    Firestarter có thể được sử dụng thay thế GUI với các dòng lệnh khá đơn giản. Tuy nhiên, có một số lưu ý khi định cấu hình các quy tắc iptables cần chú ý. Chẳng hạn như hãy khóa máy chủ SSH nếu đang mở cổng. Ví dụ về một trường hợp lỗi đó là nếu SSH vào một máy chủ bằng một lệnh sai thì hệ thống sẽ bị khóa vĩnh viễn cho đến khi nó được sửa đổi và khắc phục hoàn toàn.

    Các loại chuỗi Iptables

    Iptables gồm có ba chuỗi chính đó là input, forward, và output.

    • Input là chuỗi đầu vào có khả năng kiểm soát các hành vi của kết nối đến. Chẳng hạn như nếu phát hiện có một SSH đang cố gắng kết nối với PC hay máy chủ thì iptables sẽ tiến hành tìm kiếm một quy tắc trong chuỗi đầu vào để khớp với địa chỉ IP và cổng đó.
    • Forward là chuỗi chuyển tiếp hỗ trợ các kết nối đến không khả thi trong hệ thống cục bộ. Trong bộ định tuyến có các dữ liệu luôn được gửi đến để chuyển tiếp cho các mục tiêu khác. Trong khi các dữ liệu này không được sử dụng cho bộ định tuyến, NATing hoặc các bộ phận khác của hệ thống.

    Để kiểm tra hệ thống có đang sử dụng hay yêu cầu chuỗi chuyển tiếp hay không hãy sử dụng lệnh:

    {{EJS1}}

    Chuoi Iptables

    Trên đây là hình ảnh của một máy chủ đang hoạt động không hạn chế với các kết nối đến và đi. Trong đó, Input đã xử lý 11GB gói, Output đã xử lý 17GB gói và Forward không thực hiện bất kỳ công việc xử lý gói nào. Điều này là do máy chủ không thực hiện bất kỳ loại chuyển tiếp hoặc đang được sử dụng giống như một thiết bị truyền qua.

    • Output là chuỗi đầu ra dành cho các kết nối đi. Chẳng hạn như iptables sẽ kiểm tra chuỗi đầu ra của một ping howtogeek.com để xem xét các quy tắc liên quan trước khi thực hiện thao tác cho phép hoặc từ chối nỗ lực kết nối đó.

    Lưu ý: Khi ping một máy chủ bên ngoài không chỉ sử dụng đến Input mà còn cần đến Output để trả về các dữ liệu cần thiết. Hoặc nếu sử dụng iptables để khoá hệ thống máy chủ cần chú ý tới các giao thức hoạt động hai chiều liên quan tới I / O như SSH.

    Chế độ mặc định của chuỗi chính sách

    Trước khi đi vào và định cấu hình các quy tắc cụ thể, bạn sẽ muốn quyết định hành vi mặc định của ba chuỗi là gì. Nói cách khác, bạn muốn iptables làm gì nếu kết nối không khớp với bất kỳ quy tắc hiện có nào.

    Để kiểm tra các chuỗi chính sách có đang được định cấu hình khớp với lưu lượng truy cập hay không hãy chạy lệnh:

    {{EJS2}}

    Che do mac dinh cua chuoi chinh sach iptables

    Sử dụng lệnh grep để cung cấp một Output sạch hơn và các chuỗi này đều chấp nhận lưu lượng truy cập trên hệ thống. Nếu muốn hệ thống chấp nhận các kết nối mặc định hãy sử dụng các lệnh sau:

    {{EJS3}}

    Sau khi đã chấp nhận các quy tắc mặc định hãy sử dụng iptables để từ chối các địa chỉ IP hoặc một số cổng để nhận các lệnh mới.

    Nếu chỉ cho phép các kết nối mong muốn hãy thay đổi chính sách mặc định của chuỗi để bỏ qua các thao tác không cần thiết. Tuy nhiên, hành động này chỉ dành cho các máy chủ có chứa các thông tin quan trọng và sử dụng một địa chỉ IP duy nhất:

    {{EJS4}}

    Phản hồi Connection-specific

    Sau khi đã định cấu hình xong các chính sách chuỗi mặc định trên hệ thống có thể thêm các quy tắc vào iptables. Điều này cho phép xác định nhiệm vụ của các kết nối từ hoặc đến một địa IP/cổng cụ thể. Dưới đây là ba phản hồi cơ bản và phổ biến nhất hiện nay:

    • Accept là chấp nhận các kết nối.
    • Drop ngắt các kết nối hoặc không có kết nối phản hồi lại.
    • Reject không cho phép kết nối nhưng cho phép phản hồi lại các kết nối khác.

    Để phân biệt 3 quy tắc này hãy sử dụng PC để ping một máy chủ Linux thông qua iptables đã được cấu hình sẵn.
    Accept:

    Phan hoi cho ket noi-Accept

    Drop:

    Phan hoi cho ket noi-Drop

    Reject:

    Phan hoi cho ket noi-Reject

    Allowing hoặc Blocking các kết nối

    Sau khi chuỗi chính sách đã được định cấu hình thành công. Tiếp theo có thể định cấu hình iptables nhằm kiểm soát các kết nối như cho phép, chặn địa chỉ, dải địa chỉ và cổng cụ thể.

    Tùy vào nhu cầu và cách định cấu hình chuỗi chính sách mà các kết nối được đặt là DROP và có thể chuyển thành ACCEPT hoặc REJECT
    Có thể sử dụng iptables -A để xâu chuỗi các quy tắc lại với nhau và sử dụng một danh sách hiện tại để kiểm tra và tìm ra quy tắc phù hợp nhất. Để chèn một quy tắc bất kỳ hãy sử dụng lệnh iptables -I [chain] [number] để chỉ định số mà nó phải có trong danh sách.

    Kết nối từ một địa chỉ IP duy nhất

    Để chặn tất cả các kết nối từ địa chỉ IP 10.10.10.10 hãy chạy lệnh:

    {{EJS5}}

    Kết nối từ nhiều địa chỉ IP

    Để chặn tất cả các địa chỉ IP trong phạm vi mạng 10.10.10.0/24 hãy sử dụng netmask hoặc ký hiệu gạch chéo tiêu chuẩn để chỉ định dải địa chỉ IP.

    {{EJS6}}

    hoặc

    {{EJS7}}

    Kết nối với một cổng cụ thể

    Để chặn kết nối SSH từ 10.10.10.10 hãy sử dụng lệnh:

    {{EJS8}}

    Có thể thay thế SSH bằng các giao thức hoặc cổng bất kỳ khác. Phần -p tcp của mã cho iptables biết loại kết nối mà giao thức đang sử dụng. Chẳng hạn như nếu chặn một giao thức sử dụng UDP thay vì TCP thì -p udp sẽ được sử dụng để thay thế cần thiết.

    Để chặn kết nối SSH từ các địa chỉ IP sử dụng mã lệnh:

    {{EJS9}}

    Connection States

    Hầu hết các giao thức sẽ yêu cầu giao tiếp hai chiều, chẳng hạn như muốn cho phép kết nối SSH trên hệ thống sẽ yêu cầu tới các quy tắc của Input và Output. Với trường hợp SSH chỉ được cho phép kết nối vào hệ thống cụ thể thì chúng cung cấp khả năng cho phép giao tiếp hai chiều. Tuy nhiên, chúng chỉ có thể được thiết lập kết nối một chiều.

    Chẳng hạn như với vị trí cho phép kết nối SSH từ 10.10.10.10 sẽ không cho phép kết nối với TO 10.10.10.10. Đồng thời, hệ thống sẽ gửi lại thông tin qua SSH đã được thiết lập trước đó hỗ trợ cho việc giao tiếp giữa hai máy chủ được khả thi hơn.

    {{EJS10}}

    Saving Changes

    Các thay đổi được thực hiện với các quy tắc iptables sẽ bị loại bỏ trong lần khởi động dịch vụ tiếp theo. Nếu muốn lưu lại các thay đổi này hãy thực hiện các lệnh với các bản phân phối như:

    Ubuntu:

    {{EJS11}}

    Red Hat / CentOS:

    {{EJS12}}

    Hoặc:

    {{EJS13}}

    Các tùy chọn lệnh khác

    Liệt kê các quy tắc iptables hiện đang được cấu hình bằng lệnh:

    {{EJS14}}

    Bằng cách thêm – hostnames, giao thức hay mạng để thực hiện các tác vụ cần thiết. Chẳng hạn như thêm tuỳ chọn -v để cung cấp các thông tin về gói và byte hoặc thêm -n để liệt kê các thông tin ở dạng số.

    Để xóa tất cả các quy tắc hiện được định cấu hình, sử dụng lệnh:

    {{EJS15}}

    Tổng kết về Iptables

    Trên đây là những thông tin về Iptables và các chuỗi chính sách phổ biến nhất của iptables mà chúng tôi muốn chia sẻ tới bạn.

    Nếu bạn bất cứ câu hỏi nào liên quan đến iptables, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Mua Hosting Giá Rẻ tại BKHOST

    Hosting siêu tốc – Khuyến mãi cực sốc.
    Giá chỉ từ 5k/tháng.

    mua host giá rẻ

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Gọi ĐT tư vấn ngay
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !