日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux(Centos)安全加固方案总结

發布時間:2023/12/29 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux(Centos)安全加固方案总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux安全加固方案總結

本人菜鳥一枚,通過CSDN文章,總結日常工作、學習到的經驗,供自己日常查閱與有需要伙伴查閱。

Linux系統加固主要通過以下幾個方面,實現系統安全加固。本文以Centos7作為例子,進行總結。

目錄

    • 系統安全防線
      • 1. 系統自帶防火墻iptables(Centos6)
      • 2. 系統自帶防火墻firewalled(Centos7)
      • 3. 開啟SELinux服務(Centos7)
    • 身份鑒別
      • 1.設置密碼復雜度策略
      • 2.設置登錄策略
    • 訪問控制
      • 1.設置root用戶ssh登錄策略
      • 2.禁止無用的系統用戶登錄
      • 3.檢查是否存在除root以外的UID=0的用戶
      • 4.允許或禁止用戶或組通過ssh登錄
    • 安全審計
      • 1. 查看進程運行是否正常
      • 2.系統默認日志記錄范圍是否覆蓋
      • 3. 查看系統登錄日志
    • 入侵防范
      • 1. 查看自身入侵可疑日志
      • 2. 最小安裝原則
      • 3. 檢查運行服務
      • 4. 檢查服務運行情況
    • 資源控制
      • 1.TCP Wrappers程序管控
      • 2.設置登錄超時時間
      • 3. 設置普通用戶最大進程數、CPU、內存等
      • 4.適當關閉外設-U盤、光盤等

系統安全防線

Linux防火墻策略設置主要三道防線;

1. 系統自帶防火墻iptables(Centos6)

??防火墻會從上至下的順序來讀取配置的策略規則,在找到匹配項后就立即結束匹配工作并去執行匹配項中定義的行為(即放行或阻止)。如果在讀取完所有的策略規則之后沒有匹配項,就去執行默認的策略。
??一般而言,防火墻策略規則的設置有兩種:一種是“通”(即放行),一種是“堵”(即阻止)。當防火墻的默認策略為拒絕時(堵),就要設置允許規則(通),否則誰都進不來;如果防火墻的默認策略為允許時,就要設置拒絕規則,否則誰都能進來,防火墻也就失去了防范的作用

  • 基礎命令

??啟動: service iptables start
??關閉: service iptables stop
??查看狀態: iptables -V
??重啟 : service iptables restart

  • 查看防火墻設置

?主要分為5種規則類型數據包:
??進行路由選擇前處理數據包(PREROUTING);
??處理流入的數據包(INPUT);
??處理流出的數據包(OUTPUT);
??處理轉發的數據包(FORWARD);
??進行路由選擇后處理數據包(POSTROUTING)

使用命令查看防火墻設置

iptables -L

使用命令清除防火墻

iptables -F
  • 設置防火墻策略

使用iptables命令進行添加刪減。

開放指定的端口

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT ??#允許本地回環接口(即運行本機訪問本機)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ??#允許已建立的或相關連的通行
iptables -A OUTPUT -j ACCEPT ??#允許所有本機向外的訪問
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ??#允許訪問22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT ??#允許訪問80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT ??#允許ftp服務的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT ??#允許FTP服務的20端口
iptables -A INPUT -j reject ??#禁止其他未允許的規則訪問
iptables -A FORWARD -j REJECT ??#禁止其他未允許的規則訪問

屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP ??#屏蔽單個IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP ??#封整個段即從123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP ??#封IP段即從123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP ??#封IP段即從123.45.6.1到123.45.6.254的命令是

或者直接在路徑/etc/sysconfig下,對文件iptables編輯。

配置完成記得重啟防火墻命令

更多iptables配置命令詳見


2. 系統自帶防火墻firewalled(Centos7)

  • 基礎命令

??啟動: systemctl start firewalld
??重啟: systemctl restart firewalld
??關閉: systemctl stop firewalld
??查看狀態: systemctl status firewalld
??開機禁用 : systemctl disable firewalld
??開機啟用 : systemctl enable firewalld

前臺可視化界面-防火墻設置也可以設置

另外,命令具體參看-更多firewalls配置命令詳見

3. 開啟SELinux服務(Centos7)

??SELinux(Security-Enhanced Linux)是美國國家安全局在Linux開源社區的幫助下開發的一個強制訪問控制(MAC,Mandatory Access Control)的安全子系統。RHEL7系統使用SELinux技術的目的是為了讓各個服務進程都受到約束,使其僅獲取到本應獲取的資源。

簡單概述下基本的三種安全訪問控制類型
??MAC(強制訪問控制類型)
??DAC(自主訪問控制類型) --通常就是ACL策略居多
??RABC(基于角色訪問控制類型)

安全性MAC>RABC>DAC

  • SELinux 有三種工作模式,分別是
  • enforcing:強制模式。違反 SELinux 規則的行為將被阻止并記錄到日志中,并且自動攔截

  • permissive:寬容模式。違反 SELinux 規則的行為只會記錄到日志中,只告警不攔截。一般為調試用。

  • disabled:關閉 SELinux。不攔截不告警。

  • 配置文件路徑:/etc/selinux,通過查看config,了解目前運行狀態

    • 查看命令
    cat config

    或者使用命令進行查詢

    [root@localhost selinux]# getenforce Enforcing [root@localhost selinux]#
    • 臨時修改命令(不用重啟機器):
    [root@localhost selinux]# setenforce 0 --0設為寬容莫斯 [root@localhost selinux]# getenforce Permissive [root@localhost selinux]# setenforce 1 --1設為強制模式 [root@localhost selinux]# getenforce Enforcing [root@localhost selinux]#

    身份鑒別

    1.設置密碼復雜度策略

    • 通過設置/etc/login.defs文件,進行密碼策略設置

    PASS_MAX_DAYS 180
    #密碼最大有效期
    PASS_MIN_DAYS 1
    #兩次修改密碼的最小間隔時間
    PASS_MIN_LEN 8
    #密碼最小長度,對于root無效
    PASS_WARN_AGE 7
    #密碼過期前多少天開始提示
    上述對新增用戶有效,如需修改現有策略,需使用chage命令

    chage命令詳解

    2.設置登錄策略

    • 使用cracklib模塊設置密碼復雜度
      通過命令rpm -qa|grep cracklib --查看服務是否運行

    (1)修改/etc/pam.d/system-auth,修改策略。
    策略詳解

    PS:對普通用戶有效,對root無效。

    (2)記錄用戶登錄失敗次數并鎖定

    在/etc/pam.d/system-auth中“#%PAM-1.0”下面一行加入
    auth required pam tally2.so onerr=fail deny=10 no magic root unlock time=300 注意:一定要加在#%PAM-1.0下面一行

    參數說明:

    deny[=n]最大嘗試次數,超過鎖定
    unlock_time解鎖時間
    even_deny_root同時限制root用戶
    root_unlock_time[=n]設定root鎖定后,多少時間解鎖
    quiet不對已鎖定用戶發出提示消息

    root策略建議謹慎設置,否則很容易導致無法解鎖root

    設置了unlock_time會自動解鎖。否則需要手動解鎖。

    運行命令pam_tally2 -u 用戶 -r

    (3)如果啟用了SSH遠程登錄,可以通過命令看配置

    more /etc/ssh/sshd_config

    設置LoginGraceTime 15m #賬號鎖定時間15分鐘
    MaxAuthTries 3 #賬號鎖定閾值

    訪問控制

    1.設置root用戶ssh登錄策略

    • 禁止root用戶遠程ssh登錄
      通過修改 /etc/ssh/sshd_config,將參數修改#PermitRootLogin no
      重啟ssh服務
    service sshd restart

    2.禁止無用的系統用戶登錄

    通過命令 usermod -s /sbin/nologin 用戶 --禁止用戶遠程登錄` 通過命令 usermod -s /bin/bash 用戶名 --恢復允許用戶遠程登錄`

    查看/etc/passwd 表示用戶是否可以登錄。

    3.檢查是否存在除root以外的UID=0的用戶

    通過命令 awk -F: '($3==0){print $1}' /etc/passwd --輸出當前uid=0的用戶

    4.允許或禁止用戶或組通過ssh登錄

    • 設置ssh用戶白名單、黑名單
    vi /etc/ssh/sshd_config

    增加用戶(允許、白名單)
    AllowUsers 用戶1 用戶2

    添加用戶組
    AllowGroups 組1 組2

    PS:取交集,意思兩個同時允許才可以。其他禁止


    取消用戶(禁止、黑名單)
    DenyUsers 用戶1

    DenyGroups 組1
    PS:取并集,有一個設置了不允許都會不允許。

    5.檢查新建文件系統權限默認值

    通過umask,權限掩碼值檢查當前用戶新建文件、文件夾默認權限。root用戶正常是022。
    022的意思是,用文件夾最大權限777(rwxrwxrwx)-當前設置權限755(rwx-r-xr-x) = 022,為什么文件夾默認配置了執行-x權限,因為文件夾沒執行的話進不去,就沒意義了。
    而文件權限默認都沒有執行,所以就是默認最大666(rw-rw-rw)-644(rw-r–r--=002)。
    普通用戶默認值是002

    6.查看重點文件權限是否合理
    如/etc/shadow /etc/passwd(744)/etc/group /etc/inittab /etc/lilo.conf /etc/grub.conf /etc/xinetd.conf /etc/crontab /etc/securetty /etc/rc.d/init.d /var/log/messages/var/log/wtmp /var/run/utmp /var/spool/cron /usr/sbin/init /etc/login.defs(644)/etc/*.conf /sbin/bin /etc/init.d /etc/xinetd.d 等等

    安全審計

    • 標準基線
      本地安全審計日志功能是否正常打開運行
      安裝第三方工具等

    1. 查看進程運行是否正常

    [root@localhost selinux]# ps -ef |grep syslogd --查看進程服務情況 [root@localhost selinux]# ps aux|grep syslogd [root@localhost selinux]# ps -ef|grep auditd --查看守護進程情況

    2.系統默認日志記錄范圍是否覆蓋

    查看/etc/rsyslog.conf配置文件。

    rsyslog詳解

    3. 查看系統登錄日志

    命令lastlog --查詢登錄用戶、端口、時間等 命令last -x --顯示系統關閉、用戶登錄和退出的歷史

    更多last命令詳解

    命令lastb --列出失敗嘗試的登錄信息

    入侵防范

    能記錄、檢測到入侵行為,能記錄入侵者ip、主機名、時間等。建議有條件安裝第三方設備如HIDS、NIDS等。

    1. 查看自身入侵可疑日志

    通過查看日志,可疑識別非法訪問或可疑的暴力破解。

    more /var/log/secure | grep fail

    2. 最小安裝原則

    3. 檢查運行服務

    命令service --status-all --檢查是否有非必要服務,如ftp、smtp等

    4. 檢查服務運行情況

    netstat-lp(查看開啟服務)
    netstat -an(查看開啟的端口)
    netstat-anlp(查看開啟的端口及服務)

    資源控制

    1.TCP Wrappers程序管控

    通過設置/etc/hosts.allow和/etc/hosts.deny文件

    順序:
    1./etc/hosts.allow
    2./etc/hosts.deny
    3.以上都不符合,則放行

    • /etc/hosts.allow

    ssh允許單個ip
    sshd:192.168.220.1

    ssh允許ip段
    sshd:192.168.220.

    telnet允許單個ip
    in.telnetd:192.168.220.1

    telnet允許ip段
    in.telnetd:192.168.221.

    • /etc/hosts.deny
      sshd:ALL
      in.telnetd:ALL
      禁止相關服務

    2.設置登錄超時時間

    通過命令查看cat /etc/profile |grep TMOUTvi /etc/profile 添加export TMOUT=600 --600秒超時

    3. 設置普通用戶最大進程數、CPU、內存等

    進入 /etc/security/limits.conf 文件下,

    增加代碼roxy soft nproc 10240roxy hard nproc 10240roxy soft nofile 10240roxy hard nofile 10240

    注:roxy 為需要修改線程數的用戶名,10240 為設置的進程數和文件數限制,可根據需要修改。

    也可以用ulimit命令 詳見ulimit命令用法

    4.適當關閉外設-U盤、光盤等

    在vi /etc/modprobe.d/blacklist.conf 里添加一行:

    blacklist usb-storage

    執行命令生效modprobe -r usb-storage

    總結

    以上是生活随笔為你收集整理的Linux(Centos)安全加固方案总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。