標籤:sys squid 主機資訊 問控制 border 產生 sts linu 流程
一、linux安全
安全主要是連接埠與服務的對應配置
1.1 linux安全主要通過下面三個進行加固
- Selinux----主要是對核心的存取權限加以控制
- tcp_wrappers---一定程度上限制某種服務的存取權限
- iptables---主要是設定軟體的防火牆
1.2 ping 的禁止
- 臨時允許PING操作的命令為:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
- 永久允許PING配置方法
/etc/sysctl.conf 中增加一行 net.ipv4.icmp_echo_ignore_all=1
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
二、Selinux介紹
- 核心的強制安全存取控制
- 可以用getenforce擷取目前Selinux的狀態
- vi /etc/sysconfig/selinux 設定SELINUX
三、tcp_wrappers的介紹
並不是所有的服務都是受tcp_wrappers管理的,只用採用libwrap庫的服務才受管理
3.1 服務的檢查
(1)檢查服務是否受管理
ldd $(which domainname) | grep libwrap
domainname=sshd httpd smb xinetd .........
如果有這個連結,說明某個服務接受tcp_wrappers管理
(2)受管理的服務
sendmail slapd sshd stunnel xinetd gdm gnone-session vsftpd portmap
(3)有些進程不受tcp_wrappers管理
httpd smb squid 等
3.2 組態管理
/etc/hosts.allow
/etc/hosts.deny
3.3 工作原理
a.當有請求從遠程到達原生時候
首先檢查/etc/hosts.allow
如有匹配的,就預設允許訪問,跳過 /etc/hosts.deny這個檔案
沒有匹配的,就去匹配/etc/hosts.deny 檔案,如果有匹配的,那麼就拒絕這個訪問
b.如果在這兩個檔案中,都沒有匹配到,預設是允許訪問的
c.兩個檔案格式
服務列表 :地址清單 :選項
A. 服務列表格式:如果有多個服務,那麼就用逗號隔開
B. 地址清單格式:
1. 標準IP地址:例如:192.168.0.254,192.168.0.56如果多於一個用,隔開
2. 主機名稱:例如:www.baidu.com, .example.con匹配整個域
3. 利用掩碼:192.168.0.0/255.255.255.0指定整個網段
注意:tcp_wrappers的掩碼只支援長格式,不能用:192.168.0.0/24
4. 網路名稱:例如 @mynetwork
d.例子
hosts.allow sshd:192.168.0.1:allowhosts.deny sshd:ALL
四、iptables的介紹4.1 簡介
iptables是由ip+tables組成,它由多個表,每個表的功能都不一樣,每個表由於多個鏈(chain)組成,我們可以對這個鏈進行設定規則與策略。
4.2 表與鏈
(1)一般由三種表
-
- filter----管理本機資料的進出
- NAT---網路位址轉譯
- mangle---用於標記進階路由的資訊包,改變不同的包和包頭
(2)filter
filter表
鏈 |
描述 |
FORWARD |
將外部的資料包傳遞到內部的伺服器 |
INPUT |
主要是外部資料進入內部資料的資訊過濾 |
OUTPUT |
主要是內部資料發到外部資料的資訊過濾 |
(3)NAT
NAT
鏈 |
描述 |
OUTPUT |
改變本地產生包的目的地址 |
POSTROUTING |
改變資料返回來源的目的地址,SNAT,屏蔽區域網路內部來源主機資訊 |
PREROUTING |
改變訪問的目的地址,DNAT,也就是內部主機只能限制防火牆訪問 |
(3)mangle不常用
4.3 iptables 內部組成
可以看出,眾多的路由規則(Rule)和預設的規則(policy)組成了一個功能鏈(chain),多個鏈組成一個表,多個表就組成了防火牆。最常用的就是filter表,NAT表用在地址映射方面。
4.4 iptables 執行流程
iptables就是由多個路由規則的組合體,滿足一個規則,其他的規則就不在驗證,所有的規則都不滿足就執行預設的規則
設定規則需要注意順序
4.5 iptables的使用
(1)iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制類型] 參數
-P 設定預設策略:iptables -P INPUT (DROP|ACCEPT)-F 清空規則鏈-L 查看規則鏈-A 在規則鏈的末尾加入新規則-I num 在規則鏈的頭部加入新規則-D num 刪除某一條規則-s 匹配來源地址IP/MASK,加歎號"!"表示除這個IP外。-d 匹配目標地址-i 網卡名稱 匹配從這塊網卡流入的資料-o 網卡名稱 匹配從這塊網卡流出的資料-p 匹配協議,如tcp,udp,icmp--dport num 匹配目標連接埠號碼--sport num 匹配來源連接埠號碼
(2)預設規則
iptables [-t tables] -P[input output FORWARD] [ACCEPT DROP]
(3)針對IP網路、網路介面的過濾規則
iptables [-t tables] [-AI 鏈] [-io 網路介面][-p tcp|UDP|ICMP] [-s 來源網路] [-d 目標網路] [-j ACCEPT |DROP]
(4)針對TCP 和UDP的過濾規則
iptables [-t tables] [-AI 鏈] [-io 網路介面][-p tcp,udp] [-s 來源網路][--sport 連接埠範圍 ] [-d 目標網路] [--dport 連接埠範圍][-j ACCEPT |DROP]
linux的安全--Selinux,tcp_wrappers,iptables使用