linux的安全--Selinux,tcp_wrappers,iptables使用

1、linux安全

安全主要是端口與服務的對應配置python

1.1 linux安全主要經過下面三個進行加固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
  • /etc/rc.d/rc.loacl
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
  • iptables的設置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

2、Selinux介紹

  • 內核的強制安全訪問控制
  • 能夠用getenforce獲取目前Selinux的狀態
  • vi  /etc/sysconfig/selinux  設置SELINUX

3、tcp_wrappers的介紹

   並非全部的服務都是受tcp_wrappers管理的,只用採用libwrap庫的服務才受管理服務器

3.1 服務的檢查

(1)檢查服務是否受管理網絡

   ldd $(which domainname) | grep libwrap
         domainname=sshd httpd smb xinetd .........session

若是有這個連接,說明某個服務接受tcp_wrappers管理app

(2)受管理的服務dom

    • 進程歸xinetd管理
    • 一些獨立的進程
 sendmail
 slapd
 sshd
 stunnel
 xinetd
 gdm
 gnone-session
 vsftpd
 portmap

(3)有些進程不受tcp_wrappers管理ssh

 httpd
 smb
 squid 等

3.2 配置管理

/etc/hosts.allow
/etc/hosts.denytcp

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:allow

hosts.deny     sshd:ALL 

4、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]
相關文章
相關標籤/搜索