天天看點

通路控制及超級守護程序

通路控制   tcpwrapper來實作  它是工作在傳輸層,對于進出本主機的通路某特定服務的連接配接基于規則進行檢查的通路控制工具  以庫檔案的形式來實作的 (libwrap.so) 某程序是否接受libwrap的控制取決于發起此程序的程式在編譯時是否針對libwrap進行編譯的。

使用ldd   檢視依賴關系 是否依賴于libwrap.so  例如ldd `which sshd` | grep libwrap

或者使用strings檢查這個二進制檔案編譯時編譯進來的屬性資訊 看是否把libwrap以靜态編譯進此程式  例如 strings `which portmap` | grep hosts

/etc/hosts.allow    /etc/hosts,deny如果有着兩個檔案的話 說明受tcpwrapper控制

TCP WRAPPER兩個重要配置檔案 /etc/hosts.allow   /etc/hosts.deny 

格式:daemon_list:  client_list:   [:options] 

預設規則是允許。   比對所有服務用ALL

daemon_list 要寫成二進制檔案的名字 例如 不能寫http  要寫httpd

client_list:接受ip位址 例表示網段可以寫成192.168.1.  ;  接受基于網絡和掩碼的(不被允許192.168.1.0/24,允許192.168.1.0/255.255.255.0)  ;  可以使用主機名稱來表示 例www.a.com,或者.a.com(很少用到)  ;  基于NIS域的方式來實作 例@notexample

telnet基于tcp實作 監聽23端口    程序:in.telnetd, telnet-server

先啟動超級守護程序  xinetd    開啟某個服務chkconfig xinted on

所有接受超級守護程序管理的非獨立守護程序都在/etc/xinetd.d目錄下

接受的指令ALL  LOCAL   UNKNOWN  KNOWN  PARANOID  EXCEPT除了

EXCEPT還可以表示嵌套 例如:hosts.deny中寫ALL EXCEPT192.168.1.0 EXCEPT192.168.1.1表示都被拒絕除了1.0網段但是除了1.1 說明1.1被拒絕

spawn  twist   定義具體内容   severity 用于定義通路日志的級别

banners 建立個目錄在檔案中寫些資訊 用banners調用

超級守護程序  xinetd

xinetd 是個程序 代為管理一些不常通路的服務 以節省資源 

telnet:23 提供telnet二進制程式在/usr/sbin/in.telnetd   

xinetd也是個程序   主配置檔案在/etc/xinetd.conf  

凡是寫在/etc/xinetd.d目錄下的檔案都被認為是配置檔案的一部分 因為在/etc/xinetd.conf中最後一行有includedir /etc/xinetd.d/* 每一個檔案都代表一個服務       

啟動超級守護程序腳本 /etc/init.d/xinetd

service 後面定義服務 裡面一些選項 

disable 定義服務是否被啟用 

socket_type 套接字類型  兩種:stream基于tcp的服務     dgram基于udp的連結

protocol 定義服務對應的協定

wait  =no或者yes     用于确定目前服務是單線程還是多線程      yes表示單線程服務,必須基于tcp的協定      no表示多線程服務

user  啟動服務時以哪個使用者的身份運作并啟動它

server   用于啟動這個二進制的程式是誰

only_from  僅允許來自于哪些位址的用戶端來通路目前服務  不做限制預設允許所有

no_access 僅拒絕 做黑名單,明确定于哪些位址不允許通路

access_times 定義在什麼時間可以通路服務   格式:hour:min-hour:min

log_type 日志類型     log_on_success   log_on_fail

bind 用于定義服務隻監聽在什麼位址上的  或者用interface來指定

banner  格式banner=某個檔案 用于啟動服務時顯示哪個檔案資訊

per_source  用于限制來源于同一個ip位址時最多能允許多少個并發連接配接   UNLIMITED表示無限制