Linux服務器企業級安全加固
- 前言
- 賬-號、密-碼安全
- 1 鎖定不必要的用戶
- 2 修改密.碼過期時間
- 3 設定密.碼復雜度
- 4 限制登陸超時
- 5 限制錯誤登陸次數
- 6 禁止root用戶遠程登陸
- 6.1 創建普通用戶,并且授予sudo權限
- 6.2 禁止ROOT遠程登錄系統
- 修改默認ssh連接埠
- 限制允許ssh遠程連接的Ip
- 使用密鑰登陸
- 鎖定系統檔案
- 修改默認Umask值
- 限制GCC編譯
- 限制日志檔案
- 最小化防火墻規則
- 開啟selinux
- 1 配置selinux允許ssh服務
- 2 通過semanage命令設定目錄權限
- 設定history命令顯示時間
- 禁止Control-Alt-Delete 鍵盤重啟系統命令
- 1.備份組態檔
- 2.移除該原源檔案
- 設定grub密.碼
- 1.備份組態檔
- 2.使用grub2-mkpasswd-pbkdf2 加密密.碼
- 3.修/boot/grub2/grub.cfg
- 4.執行命令grub2-mkconfig -o /boot/grub2/grub.cfg
- 及時更新漏.洞補丁及使用穩定安全版的服務器應用軟體
- 有條件使用堡壘機登陸服務器
- 將生產服務器和辦公網物理隔離

前言
Linux 是一個開放式系統,可以在網路上找到許多現成的程式和工具,這既方便了用戶,也方便了黑.客,因為他們也能很容易地找到程式和工具來潛入 Linux 系統,或者盜取 Linux 系統上的重要資訊,不過,只要我們仔細地設定 Linux 的各種系統功能,并且加上必要的安全措施,就能讓黑.客們無機可乘,一般來說,對 Linux 系統的安全設定包括取消不必要的服務、限制遠程存取、隱藏重要資料、修補安全漏.洞、采用安全工具以及經常性的安全檢查等,
說明:以下安全級別表示建議的可操作的級別,星星越多,可操作性越高,建議級別越高
賬-號、密-碼安全
1 鎖定不必要的用戶
安全級別:★★★★★
使用passwd -l鎖定不必要的賬號,這里是把除了root以外所有的賬號都鎖定
#!/bin/bash
for temp in cut -d ":" -f 1 /etc/passwd | grep -v "root"
do
passwd -l $temp
done
2 修改密.碼過期時間
安全級別:★★★★
[root@localhost ~]# vim /etc/login.defs
PASS_MAX_DAYS 90 # 新建用戶密.碼最長使用天數
PASS_MIN_DAYS 0 # 新建用戶密.碼最短使用天數
PASS_MIN_LEN 7 # 新建用戶密.碼到期提示天數
PASS_WARN_AGE 10 # 最小密.碼長度
3 設定密.碼復雜度
安全級別:★★★★★
復雜程度至少一個大寫字母一個小寫字母一個數字一個特殊符號,且長度至少為10位
[root@localhost ~]# vim /etc/pam.d/system-auth
password required pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=10
4 限制登陸超時
安全級別:★★★★
超時時間為5分鐘,5分鐘沒有動作自動注銷登陸
[root@localhost ~]# vim /etc/profile
TMOUT=300
export TMOUT
5 限制錯誤登陸次數
安全級別:★★★★★
限制錯誤登陸次數防止暴力破.解
[root@localhost ~]# vim /etc/pam.d/login
#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
查詢遠程登錄次數
pam_tally2 --user lyshark
6 禁止root用戶遠程登陸
安全級別:★★★★★
6.1 創建普通用戶,并且授予sudo權限
[root@localhost ~]# useradd lyshark
[root@localhost ~]# passwd lyshark
[root@localhost ~]# vim /etc/sudoers
##The COMMANDS section may have other options added to it.
##Allow root to run any commands anywhere
root ALL=(ALL) ALL
lyshark ALL=(ALL) ALL
#--------------------------------------------------------------------------------------------
6.2 禁止ROOT遠程登錄系統
[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin no
[root@localhost ~]# systemctl restart sshd
修改默認ssh連接埠
安全級別:★★★★★
[root@localhost ~]# vim /etc/ssh/sshd_config
Port 65534 # 登錄埠改為65534
MaxAuthTries=3 # 密.碼最大嘗試次數3
[root@localhost ~]# systemctl restart sshd
[C:\Users]$ ssh root@192.168.1.30 6553
限制允許ssh遠程連接的Ip
安全級別:★★★★
vi /etc/hosts.allow
sshd:192.168.220.1 #允許單個IP
sshd:192.168.220. #允許地址段
vi /etc/hosts.deny
sshd:ALL #除了上面允許的其他都拒絕
使用密鑰登陸
安全級別:★★★★★
使用xshell等工具自帶的公鑰向導生成公鑰,然后將公鑰內容復制到服務器的/root/.ssh/ authorized_keys
鎖定系統檔案
將二進制檔案進行鎖定可以防止被修改
安全級別:★★★
[root@localhost sbin]# chattr +i /sbin/
[root@localhost sbin]# chattr +i /usr/sbin/
[root@localhost sbin]# chattr +i /bin/
[root@localhost sbin]# chattr +i /sbin/
[root@localhost sbin]# chattr +i /usr/lib
[root@localhost sbin]# chattr +i /usr/lib64
[root@localhost sbin]# chattr +i /usr/libexec
修改默認Umask值
安全級別:★★★
系統默認的umask值為0022,將umask值改為0777的時候,用戶默認創建的檔案不具有可執行權限,防止被上傳木.馬
[root@localhost ~]# echo “umask 0777” >> /etc/bashrc
[root@localhost ~]# touch test1
[root@localhost ~]# mkdir test2
[root@localhost ~]#
[root@localhost ~]# ls -lh
total 0
----------. 1 root root 0 Aug 25 05:46 test1
d---------. 2 root root 6 Aug 25 05:46 test2
限制GCC編譯
安全級別:★★★
限制編譯可以防止黑.客編譯生成可執行檔案用來提權
[root@localhost ~]# rpm -q --filesbypkg gcc | grep “bin”
[root@localhost ~]# chmod 000 /usr/bin/c89
[root@localhost ~]# chmod 000 /usr/bin/c99
[root@localhost ~]# chmod 000 /usr/bin/cc
[root@localhost ~]# chmod 000 /usr/bin/gcc
[root@localhost ~]# chmod 000 /usr/bin/gcc-*
[root@localhost ~]# chmod 000 /usr/bin/gcc-*
限制日志檔案
安全級別:★★★★
黑.客入侵后大都會對日志檔案進行清慷訓洗掉,所以要將日志檔案進行不能洗掉只能增加限制
[root@localhost ~]# cd /var/log/
[root@localhost log]# chattr +a dmesg cron lastlog messages secure wtmp
[root@localhost log]# lsattr secure
最小化防火墻規則
安全級別:★★★★★
最小化防火墻規則只開放http和https等對外提供服務的埠和ssh遠程連接服務
vim /etc/firewalld/zones/public.xml
<service name=“ssh”/>
<port protocol=“tcp” port=“80”/>
<port protocol=“tcp” port=“443”/>
firewall-cmd –reload
開啟selinux
安全級別:★★★
1 配置selinux允許ssh服務
默認selinux也是開放的,但是經常會有一些未知的問題,如果沒有出現未知問題可以繼續開放,下面是selinux允許ssh服務
[root@localhost ~]# yum install -y policycoreutils-python-2.5-29.el7.x86_64
[root@localhost ~]# semanage port -l | grep ssh
ssh_port_t tcp 22
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 6553
[root@localhost ~]# semanage port -l | grep ssh
ssh_port_t tcp 6553, 22
2 通過semanage命令設定目錄權限
[root@localhost html]# semanage fcontext -a -t httpd_sys_content_t /var/www/html/index.html
[root@localhost html]# ls -Z
-rw-r–r–. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
設定history命令顯示時間
安全級別:★★★★
vi /etc/profile
在檔案的末尾添加引數
export HISTTIMEFORMAT="%F %T whoami "
禁止Control-Alt-Delete 鍵盤重啟系統命令
安全級別:★★★
1.備份組態檔
cp -a /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.default
2.移除該原源檔案
rm -rf /usr/lib/systemd/system/ctrl-alt-del.target
設定grub密.碼
安全級別:★★★
1.備份組態檔
cp -a /etc/grub.d/00_header /etc/grub.d/00_header.default
2.使用grub2-mkpasswd-pbkdf2 加密密.碼
密.碼自己定義,但是一定得保存好否則最后連自己都登錄不進去
[root@localhost ~]# grub2-mkpasswd-pbkdf2
Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
3.修/boot/grub2/grub.cfg
添加以下配置到該檔案的最后面(特別需要注意 用戶名root和密文之間是空格分隔,而不是換行)
cat <<EOF
set superusers=‘root’
password_pbkdf2 root grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
E0F
4.執行命令grub2-mkconfig -o /boot/grub2/grub.cfg
重新編譯生成grub.cfg檔案
及時更新漏.洞補丁及使用穩定安全版的服務器應用軟體
安全級別:★★★★★
有條件使用堡壘機登陸服務器
安全級別:★★★★
將生產服務器和辦公網物理隔離
安全級別:★★★★★
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/395003.html
標籤:其他
上一篇:Linux系統配置(服務控制)
