(+84) 463.28.7979

Xinetd trong Linux


Xinetd là một dịch vụ dùng để thay thế cho những internet service daemon cũ như inetd, tcp_wrappers, nó cung cấp những tính năng nổi trội hơn như.

- Khả năng điều khiển truy cập

- Khả năng ngăn cản kiểu tấn công từ chối dịch vụ

- Khả năng log đa dạng hơn

- Khả năng giới hạn lượng process phục vụ dịch vụ.

- Khả năng tương tác người dùng.

Nó là một dịch vụ hữu ích dùng để quản trị hệ thống, giúp hệ thống chạy ổn định, hiệu quả và an toàn hơn.

Hoạt động cơ bản của nó cũng tương tự như inetd là điều khiển những kết nối mạng tới hệ thống. Khi một request gửi tới một port được quản lý bởi Xinetd nó sẽ gửi request này tới dịch vụ tương ứng mà nó quản lý và thực hiện quản lý request này theo những quy định của nó.

Xinet hầu hết đã có sẵn trên những hệ điều hành Linux phổ biến và việc cài đặt nó không có gì đặc biệt.

Download package dạng .tar.gz, giải nén và lần lượt chạy ./ config , make, make install.

có ba tuỳ chọn trong phần chạy ./config có thể bạn quan tâm.

–with-libwrap

Với tuỳ chọn này Xinetd sẽ kiểm tra các file cấu hình tcpd (/etc/hosts.allow, /etc/hosts.deny ) để xem yêu cầu kết nối có được phép thực hiện hay không, nếu không được phép Xinetd sẽ loại bỏ ngay các yêu cầu này, ngược lại nó sẽ thực hiện kết nối theo những quy định của nó.

–with-loadavg

Với tuỳ chọn này Xinetd sẽ sử dụng tuỳ chọn max_load trong những cấu hình của mình để deactive một số dịch vụ khi lâm vào tình trạng quá tải(có khả năng ngăn cản DOS).

–with-inet6

Hỗ trợ ipv6

File cấu hình chính /etc/xinetd.conf gồm hai phần chính “defaults section” và “services section”

defaults section

quy định những thuộc tính được áp dụng cho tất cả những dịch vụ chịu sự quản lý của Xinetd.

cấu trúc của nó dạng

defaults

{

attribute operator value(s)

}
services section

xác định những giá trị thuộc tính cho từng dịch vụ cụ thể, bạn nên nhớ những dịch vụ bạn khai báo ở đây cũng phải được khai báo ở thuộc tính enabled ở phần defaults section.

Ở phần này có một số thuộc tính chung được sử dụng ở hầu hết các dịch vụ, nhưng cũng có những thuộc tính chí được sử dụng ở một số dịch vụ tuỳ vào đặc điểm của từng dịch vụ.

Cấu trúc của nó dạng

serviceservice_name
{

attribute operator value(s)

}

một số thuộc tính thường được sử dụng.

- instance

giới hạn số request lớn nhất được xử lý đồng thời hoặc số connection lớn nhất được phép kết nối. Thuộc tính này có khả năng chống kiểu tấn công từ chối dịch vụ.

- log_on_success

xác định những thông tin cần log lại khi có một kết nối được chấp nhận. Các giá trị có thể là HOST ( ghi lại địa chỉ ip của remote host), USERID (ghi lại id user đối với những dịch vụ yêu cầu xác thực user) EXIT (trạng thái kết thúc kết nối), DURATION ( thời gian kết nối) …

- log_on_failure

xác định những thông tin cần được log lại đối với những kết nối không được chấp nhận ( do những quy định của file config …) hoặc những kết nối không thể thực hiện được (do thiếu tài nguyên, lỗi hệ thống …). Các giá trị có thể là HOST, USER ID, ATTEMPT ( những cố gắng tạo kết nối không thành ) RECORD (ghi tất cả những thông tin có thể ghi lại được của remote host).

- only_from

giới hạn những ip được phép thực hiện kết nối, giá trị mặc định là từ chối mọi kết nối (giống như giá trị mặc định của iptables) . Thông thường cấu hình là từ chối mọi kết nối tại phần defaults section là giới hạn ip được phép thực hiện kết nối tại phần services section đối với từng service cụ thể.

- per_source

xác định số lượng lớn nhất connection được phép thực hiện từ một địa chỉ ip, đâu cũng là một thuộc tính có khả năng chống tấn công từ chối dịch vụ.

- enabled

khai báo tất cả những dịch vụ được Xinetd quản lý tại đây.

sau đây là một số ví dụ cụ thể cho phần services section

service pop3s

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/ipop3d

only_from = 0.0.0.0/0 #allows every client

no_access = 207.35.78.10

instances = 30

log_on_success += USERID

log_on_failure += USERID

nice = -2

}

- service pop3s

xác định dịch vụ mà bạn muốn config, bạn lưu ý rằng tên này (pop3s) không được sử dụng tuỳ ý theo ý mình,tên này đã được quy định trong file /etc/services bạn

- socket_type

xác định loại socket sử dụng cho dịch vụ này, các giá trị có thể là stream, dgram, raw, rdm, seqpacket. Với dịch vụ pop3s bạn phải sử dụng socket loại stream.

- wait

xác định xem Xinet có tiếp tục nhận các request sau khi connection được thiết lập ( yes ) hay là được gửi trực tiếp cho dịch vụ đó ( no ).

- user

xác định địch vụ được chạy với tài khoản user nào (thường là tài khoản root).

- server

xác đinh chương trình (đường dẫn đầy đủ ) được Xinetd chạy đẻ thực hiện dịch vụ khi có request gửi đến socket.

- only_from

xác định những ip được phép thực hiện kết nối, 0.0.0.0/0 ở đây có nghĩa là mọi client đều có thể thực hiện kết nối.

- no_access

xác định những ip không được phép thực hiện kết nối, việc kết hợp hai thuộc tính only_from và no_access cho ta những giới hạn ip rất mềm dẻo.

- instance

xác định số lượng request lớn nhất mà dịch vụ có thể xử lý đồng thời, giá trị khai báo ở đây ghi đè lên giá trị đã khai báo ở phần defaults section đối với dịch vụ pop3s.

- nice

Pages: 1 2

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>