GIT – Căn bản nên biết về ,  Firewall Local ( )

Trước khi bắt đầu thực hành cấu hình Firewall trên Linux, bạn nên dành vài phút để nhớ lại kiến thức về Linux Security. Dưới đây tôi sẽ nhắc lại vài chủ điểm đáng chú ý.

Log File 

Một số file log chính trong hệ thống:

  • File /var/log/messages: Chứa các thông tin log của hệ thống được daemon syslogd ghi nhận.
  • File /var/log/secure : chứa các thông tin về login fail, add user,…
  • File /var/log/wtmp lưu các log về  logon/reboot thành công vào hệ thống(ta có thể sử dụng last tool để xem thông tin này).
  • File /var/run/utmp lưu các session hiện tại đang logon vào hệ thống(ta có thể dùng lệnh who để xem thông tin này).

Giới hạn user

Thông qua tập tin /etc/nologin, ta có thể ngăn chặn việc login của user trong hệ thống trừ user root.

Thư mục /etc/security/  cho phép người quản trị có thể giới hạn user CPU time, kích thước tối đa của file, số kết nối vào hệ thống(file /etc/security/limits.conf).
/etc/security/access.conf để giới hạn việc login của user và nhóm từ 1 vị trí cụ thể nào đó.

Tham khảo về cú pháp của file /etc/security/limits.conf

<Domain>  <type> <item> <value>

Trong đó:
<domain> :username, groupname(sử dụng theo cú pháp @groupname)
<type> : hard, soft.
<item>: core, data, fsize,…(ta tham khảo file /etc/security/limits.conf)

Network security

Linux phân chia Network security thành hai loại chính

  • Loại 1: host based security
  • Loại 2: port based security

Host Based security

Tcp_wrappers cung cấp host based access control list cho nhiều loại network services như: xinetd, sshd, portmap,…

Tcp_wrappers cung cấp hai file cấu hình /etc/hosts.allow và /etc/hosts.deny để ngăn chặn hoặc cho phép các host request đến các dịch vụ trong hệ thống. Cú pháp của 2 file này như sau:

Service : hosts [EXCEPT] hosts

Ví dụ:
ALL:  ALL  EXCEPT  .domain.com

Port based security

Linux cho phép thực thi chức năng packet filtering trong hệ thống thông qua công cụ iptables, ipchains.

Cấu Hình IpTables

Iptables do Netfilter organization viết ra để tăng tính năng bảo mật trên hệ thống Linux. Iptables
cung cấp các tính năng sau:

  • Tích hợp tốt với kernel của Linux.
  • Có khả năng phân tích package hiệu quả.
  • Lọc package dựa vào MAC và một số cờ hiệu trong TCP Header.
  • Cung cấp chi tiết các tuỳ chọn để ghi nhận hệ thống.
  • Cung cấp kỹ thuật NAT
  • Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu từ chối dịch vụ(denial of service (DoS) attacks)

Cài đặt iptables

Iptables  được cài  đặt mặc  định trong hệ thống Linux, package của Iptables là iptables-1.2.9-1.0.i386., ta có thể dung lệnh để cài đặt package này:

Rpm –ivh iptables-1.2.9-1.0.i386.rpm

Khởi động iptables và xác định trạng thái của iptables Cho phép iptables start vào thời điểm hệ thống khởi động:

#chkconfig iptables on
#service iptables restart
#service iptables status

Tìm hiểu về cơ chế hoạt động

Iptables sẽ kiểm tra tất cả các package khi nó đi qua iptables host, quá trình kiểm tra này được thực hiện một cách tuần tự từ entries đầu tiên đến entry cuối cùng.
Có ba loại bảng trong iptables:

  • Mangle table: chịu trách nhiệm biến  đổi quality of service bits trong TCP header. Thông thường loại table này được ứng dụng trong SOHO.
  • Filter queue: chịu trách nhiệm thiết lập bộ lọc packet(packet filtering), có ba loại builtin chains được mô tả để thực hiện các chính sách về firewall (firewall policy rules).
    • Forward chain: Lọc packets đi qua firewall.
    • Input chain: Lọc  packets đi vào firewall.
    • Output chain: Lọc packets đi ra firewall.
  • NAT queue: thực thi chức năng NAT, cung cấp hai loại build-in chains sau đây:
    • Pre-routing chain: NATs packets khi destination address của packet cần thay đổi (NAT từ ngoài vào trong nội bộ).
    • Post-routing chain: NATs packets khi source address của packet cần thay đổi(NAT từ trong ra ngoài)

Targets và Jumps

Targets là cơ chế hoạt động trong iptables dùng để nhận diện và kiểm tra packet.

Jump là cơ chế chuyển một packet đến một target nào đó để xử lý thêm một số thao tác khác. Danh sách các target được xây dựng sẳn trong iptables:

  • ACCEPT: iptables chấp nhận chuyển data đến đích.
  • DROP:  Iptables block packet.
  • LOG Thông tin của packet sẽ gởi vào syslog daemon iptables tiếp tục xử lý luật tiếp theo trong bảng mô tả luật. Nếu luật cuối cùng không match thì sẽ drop packet.
  • REJECT Ngăn chặn packet và gởi thông báo cho sender.
  • DNAT  Thay  đổi  địa chỉ  đích của packet (rewriting the destination IP address of the packet)
  • SNAT  Thay đổi địa chỉ nguồn của packet
  • MASQUERADE Được sử dụng  để thực hiện kỹ thuật NAT ( giả mạo địa chỉ nguồnvới địa chỉ của firewall’s interface)

Cấu hình IPTABLES

Có 2 cách cấu hình iptables là dùng lệnh và Sửa file /etc/sysconfig/iptables. Nếu cấu hình iptables bằng cách dùng lệnh sẽ không được lưu lại sau khi ta restart service iptables.  CÒn một cách đơn giãn nữa là dùng giao diện đồ họa.

1. Dùng đồ họa

Bạn sử dụng công cụ setup để cấu hình. Thực hiện như sau

Gõ setupchọn Firewall configuration

image

Chọn Enabled cho dòng Security Level. Chọn Customize

image

Đánh dấu vào các dịch vụ muốn cho qua Firewall. Ví dụ như SSH, Telnet, HTTP…

image

Kiểm tra cấu hình

Những gì vừa cấu hình ở trên được lưu trong file /etc/sysconfig/iptables

image

Quá trình xử lý packet của iptable theo thứ tự từ trên xuống. Khi đi qua một rule nào ở trên, nó sẽ bị kiểm tra, nếu thỏa mãn sẽ được thực thi (ACCEPT, DROP, REJECT) Nếu không thỏa mãn, thì dòng cuối cùng có nghiệm vụ DROP packet.

Test Thử

Dùng một khác kết nối vào máy Linux để kiểm tra. Dùng lệnh ping, ban đầu thành công.

image

Mở file cấu hình iptable, thêm dấu # trước dòng 11. Khởi động lại dịch vụ, và ping lại. Kết quả không thành công, vì lúc này cói ICMP đã bị firewall chặn lại.

image

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly

Comments

comments

Bài viết liên quan