系統安全及應用

前言:雖說linux系統安全,高效,穩定,但若是平時不注意安全優化,也不會安全。本章將介紹帳戶安全,系統引導和登陸的安全,以及弱口令檢測,網絡掃描工具的使用。linux

1、帳號安全控制ios

1、系統帳號清理shell

1)如下常見的非登陸用戶要確保不被人爲改動:vim

[root@localhost ~]# grep "/sbin/nologin$" /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
2)各類非登陸帳戶中,還有一部分是不多用到的,如news,uucp,games,gopher,這些用戶可視爲冗餘帳號,直接刪除便可
[root@localhost ~]# useradd uucp
[root@localhost ~]# useradd games
2)若不肯定可否被刪除,能夠暫時鎖定
[root@localhost ~]# usermod -L zhangsan                         //鎖定帳號
[root@localhost ~]# passwd -S zhangsan                          //查看帳號狀態
zhangsan LK 2018-02-28 0 99999 7 -1 (密碼已被鎖定。)
[root@localhost ~]# usermod -U zhangsan                         //解鎖狀態
[root@localhost ~]# passwd -S zhangsan
zhangsan LK 2018-02-28 0 99999 7 -1 (密碼已被鎖定。)
2)若是服務器中的帳戶已經固定,再也不進行更改,還能夠採用鎖定帳號配置文件的方法。
使用chattr命令,分別結合+i,-i來鎖定、解鎖。使用lsattr查看文件鎖定狀況。
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow           //鎖定文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow              //查看鎖定的狀態
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@localhost ~]# useradd user1                               //測試鎖定文件是否能建立用戶
useradd: cannot open /etc/passwd
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow           //解鎖文件
[root@localhost ~]# useradd user1                               //建立用戶
[root@localhost ~]# lsattr /etc/passwd /etc/shadow              //查看爲解鎖的狀態
-------------e- /etc/passwd
-------------e- /etc/shadow

二、密碼安全控制
1)設置密碼有效期爲30天
安全

修改配置文件,適合新創建的用戶bash

[root@localhost ~]# vim /etc/login.defs                         //適用於新建的用戶
#
PASS_MAX_DAYS   30
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7
[root@localhost ~]# chage -M 30 zhangsan                        //適用於已有的zhangsan用戶

1)設置用戶下次登陸時重設密碼
[root@localhost ~]# chage -d 0 zhangsan                         //強制要求用戶zhangsan下次登錄時重設密碼

而後使用張三登陸終端

先輸入原密碼,而後再輸入兩次新密碼,注意複雜性。
 
三、命令歷史,自動註銷
1)修改配置文件,設置最多紀錄200條歷史命令,若是紀錄太多,容易泄露信息。
Vi  /etc/profile,適用於新登陸的用戶
[root@localhost ~]# vim /etc/profile
HISTSIZE=200                                       //修改最多記錄200條
重啓系統或者執行source  /etc/profile使之生效。
 
執行export  HISTSIZE=10適用於當前的帳戶
[zhangsan@localhost ~]$ export HISTSIZE=10
[zhangsan@localhost ~]$ history
    1  sudo 
    2  sudo zhangsan
    3  cd
    4  export histsize 10
    5  export HISTSIZE 10
    6  exit
    7  sudo ~ zhangsan
    8  export HISTSIZE=10
    9  history
2)當用戶退出已登陸的bash環境後,清空歷史紀錄
[zhangsan@localhost ~]$ vim ~/.bash_logout 
# ~/.bash_logout
history -c
clear
而後重啓以後從新登陸系統,執行history發現沒有歷史紀錄
 
 
1)設置超時時間,指定時間沒有任何輸入就自動註銷。
Vi  /etc/profile,      適用於新登陸的用戶。
export TMOUT=600        //須要添加
執行export TMOUT=10用於當前用戶(爲了測試方便,時間調10秒),10秒以內沒有任何輸入就退出系統。也可使用unset TMOUT取消設置
 
2、用戶切換與提權
一、su命令:用來切換用戶,具備該用戶的全部權限。
1)su切換用戶      
[root@localhost ~]# su zhangsan
[zhangsan@localhost root]$ 
上圖的命令只切換用戶身份,不切換用戶環境,若是想切換身份的同時切換環境,須要在su後面加「-」,以下圖:
[root@localhost ~]# su - zhangsan
[zhangsan@localhost ~]$ pwd
/home/zhangsan       
2)容許個別用戶使用su命令進行切換,須要將受權使用su命令的用戶zhangsan添加到wheel組,修改/etc/pam.d/su認證配置
[root@localhost ~]# vim /etc/pam.d/su
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid                                 //把前面的#去掉
auth            include         system-auth
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so
重啓系統以後使用zhangsan登陸,執行su  -  root 能夠正常切換,可是使用其餘用戶提示密碼不正確,登陸失敗。
[zhangsan@localhost ~]$ su - root
密碼:
[root@localhost ~]# su - user1
[user1@localhost ~]$ su - root
密碼:
su: 密碼不正確
二、sudo命令,提高執行權限,可讓普通用戶擁有一部分管理權限,又不須要將root用戶的密碼告訴對方。
1)在配置文件/etc/sudoers中添加受權
例如:受權用戶jerry可以執行ifconfig命令修改ip地址,而wheel組的用戶不須要驗證密碼便可執行任何命令,能夠執行如下操做。
執行命令:Visudo
user1 localhost=/sbin/ifconfig
%whell ALL=NOPASSWD: ALL
當使用相同受權的用戶較多,或者受權的命令較多時,能夠採用集中定義的別名。用戶、主機、命令部分均可以定義爲別名(必須爲大寫)
,分別經過User_Alias、Host_Alias、Cmnd_Alias來進行設置如:
user1 localhost=/sbin/ifconfig
%whell ALL=NOPASSWD: ALL
User_Alias      OPERATORS=user1,lisi
Host_Alias      MAILSVERS=smtp,pop
Cmnd_Alias      PKGTOOLS=/bin/rpm,/usr/bin/yum
OPERATORS       MAILSVRS=PKGTOOLS

1)經過sudo命令測試特權命令
使用user1登陸系統,執行/sbin/ifconfig  eth0:0 192.168.1.10,提示失敗,權限不夠。
[useer1@localhost ~]$ /sbin/ifconfig eth0:0 192.168.1.10
SIOCSIFADDR: 權限不夠
SIOCSIFFLAGS: 權限不夠
若是在命令前面加上sudo,執行成功
[user1@localhost ~]$ sudo /sbin/ifconfig eth0:0 192.168.1.10
[user1@localhost ~]$ 
3、系統引導和登陸控制
一、開關機安全控制
1)調整biso引導控制
將第一引導設備設置爲當前系統所在磁盤,禁止從光盤,u盤,網絡等引導系統,將bios設置好管理密碼。
 
2)禁止ctrl+alt+del重啓系統系統
[root1@localhost ~]$ vim /etc/init/control-alt-delete.conf 
#start on control-alt-delete

#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"    
重啓系統以後,按ctrl+alt+del沒法重啓系統(在終端中測試)
1)限制更改grub引導參數
首先使用grub-md5-mcypt生成加密的密碼
[root@localhost ~]# grub-md5-crypt               //根據提示指定密碼
Password: 
Retype password: 
$1$KhOqk/$J2NoMloU58XvJ10jo/TBe1                 //通過加密的密碼字符竄
而後修改配置文件,把密文添加到第一個title以前,以下:
[root@localhost ~]# vim /boot/grub/grub.conf 
password --md5 $1$KhOqk/$J2NoMloU58XvJ10jo/TBe1         //添加到第一個title以前
title CentOS (2.6.32-431.el6.x86_64)
重啓系統進入grub菜單,若是想修改引導參數,必須先按p輸入密碼,而後按e才能編輯引導參數
而後按e就能夠編輯了


二、終端及登陸控制
1)減小開放的tty終端個數,禁用tty1,tty2,tty3
[root@localhost ~]# vim /etc/init/start-ttys.conf
env ACTIVE_CONSOLES=/dev/tty[456]               //修改成456
env X_TTY=/dev/tty1
[root@localhost ~]# vim /etc/sysconfig/init
AUTOSWAP=no
# What ttys should gettys be started on?
ACTIVE_CONSOLES=/dev/tty[456]                   //修改成456
# Set to '/sbin/sulogin' to prompt for password on single-user mode
# Set to '/sbin/sushell' otherwise
SINGLE=/sbin/sushell
注意兩個文件都須要更改

2)禁止root用戶從tty5和tty6終端登陸
[root@localhost ~]# vim /etc/securetty
..... //省略部份內容
#tty5
#tty6
3)禁止普通用戶登陸,只須要創建/etc/nologin文件便可,若是恢復普通用戶登陸,刪除這個文件便可
Touch  /etc/nologin
而後使用普通用戶登陸測試
相關文章
相關標籤/搜索