安全主要是端口與服務的對應配置python
1.1 linux安全主要經過下面三個進行加固linux
1.2 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
並非全部的服務都是受tcp_wrappers管理的,只用採用libwrap庫的服務才受管理服務器
(1)檢查服務是否受管理網絡
ldd $(which domainname) | grep libwrap
domainname=sshd httpd smb xinetd .........session
若是有這個連接,說明某個服務接受tcp_wrappers管理app
(2)受管理的服務dom
sendmail slapd sshd stunnel xinetd gdm gnone-session vsftpd portmap
(3)有些進程不受tcp_wrappers管理ssh
httpd smb squid 等
/etc/hosts.allow
/etc/hosts.denytcp
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:allow hosts.deny sshd:ALL
iptables是由ip+tables組成,它由多個表,每一個表的功能都不同,每一個表因爲多個鏈(chain)組成,咱們能夠對這個鏈進行設置規則與策略。
(1)通常由三種表
(2)filter
鏈 | 描述 |
FORWARD | 將外部的數據包傳遞到內部的服務器 |
INPUT | 主要是外部數據進入內部數據的信息過濾 |
OUTPUT | 主要是內部數據發到外部數據的信息過濾 |
(3)NAT
鏈 | 描述 |
OUTPUT | 改變本地產生包的目的地址 |
POSTROUTING | 改變數據返回來源的目的地址,SNAT,屏蔽局域網內部來源主機信息 |
PREROUTING | 改變訪問的目的地址,DNAT,也就是內部主機只能限制防火牆訪問 |
(3)mangle不經常使用
從圖中能夠看出,衆多的路由規則(Rule)和預設的規則(policy)組成了一個功能鏈(chain),多個鏈組成一個表,多個表就組成了防火牆。最經常使用的就是filter表,NAT表用在地址映射方面。
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]