centos 系統如何加強安全防護

文 | 諸葛運帷 子龍兄


1.ssh登錄端口修改
vim /etc/ssh/sshd_config
#Port 22 //這行去掉#號
Port 51866 //下面添加這一行
為什麼不先刪除22,以防其他端口沒配置成功,而又把22的刪除了,無法再次進入服務器
systemctl restart sshd

修改SELinux
在色Linux中添加修改後的端口
semanage port -a -t ssh_port_t -p tcp 修改後的端口

需要安裝以下命令(看是否已將安裝好)
yum provides semanage yum -y install policycoreutils-python
# 為 ssh 添加新的允許端口 $ semanage port -a -t ssh_port_t -p tcp 修改後的端口 ----------添加端口

# 查看當前 SELinux 允許的端口

$ semanage port -l | grep ssh --------------查看添加的端口 ssh_port_t tcp 2048, 22
需要開啟selinux ,然後添加端口訪問


注意semange 不能禁用 ssh 的 22 端口:
semanage port -l | grep ssh ssh_port_t tcp 2048, 22

ssh配置超時時間
vim /etc/ssh/sshd_config
ClientAliveInterval 60 ClientAliveCountMax 10
ClientAliveInterval 是指系統判斷超時的時間,單位是s,這裡的意思是60s無響應則判斷為超時一次
ClientAliveCountMax 是指允許超時的次數,這裡允許超時十次


所以這裡的配置允許超時 600s = 10min 。


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

安裝DenyHosts
DenyHosts是Python語言寫的一個程序,它會分析sshd的日誌文件(/var/log/secure),當發現重 復的攻擊時就會記錄IP到/etc/hosts.deny文件,從而達到自動屏IP的功能。

安裝包已經下載完畢
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6 進入安裝解壓目錄
python setup.py install

DenyHosts
cd /usr/share/denyhosts/ #默認安裝路徑
cp denyhosts.cfg-dist denyhosts.cfg #denyhosts.cfg為配置文件
cp daemon-control-dist daemon-control #daemon-control為啟動程序
chown root daemon-control #添加root權限
chmod 700 daemon-control #修改為可執行文件
ln -s /usr/share/denyhosts/daemon-control /etc/init.d #對daemon-control進行軟連接,方便管理
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/etc/init.d/daemon-control start #啟動denyhosts
chkconfig daemon-control on #將denghosts設成開機啟動


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@www denyhosts]# vi denyhosts.cfg SECURE_LOG = /var/log/secure

#ssh日誌文件

# format is: i[dhwmy]

# Where i is an integer (eg. 7)

# m = minutes

# h = hours

# d = days

# w = weeks

# y = years

# # never purge: PURGE_DENY = 50m

#過多久後清除已阻止IP HOSTS_DENY = /etc/hosts.deny

#將阻止IP寫入到hosts.deny BLOCK_SERVICE = sshd

#阻止服務名 PURGE_THRESHOLD =

#定義了某一IP最多被解封多少次。某IP暴力破解SSH密碼被阻止/解封達到了PURGE_THRESHOLD次,則會被永久禁止; DENY_THRESHOLD_INVALID = 1

#允許無效用戶登錄失敗的次數 DENY_THRESHOLD_VALID = 10

#允許普通用戶登錄失敗的次數 DENY_THRESHOLD_ROOT = 5

#允許root登錄失敗的次數 WORK_DIR = /usr/local/share/denyhosts/data

#將deny的host或ip紀錄到Work_dir中 DENY_THRESHOLD_RESTRICTED = 1

#設定 deny host 寫入到該資料夾 LOCK_FILE = /var/lock/subsys/denyhosts

#將DenyHOts啟動的pid紀錄到LOCK_FILE中,已確保服務正確啟動,防止同時啟動多個服務。 HOSTNAME_LOOKUP=NO

#是否做域名反解 ADMIN_EMAIL =

#設置管理員郵件地址 DAEMON_LOG = /var/log/denyhosts

#DenyHosts日誌位置


以後可以直接查看hosts.deny文件就能找到攻擊ip的記錄

vim /etc/hosts.deny
更改DenyHosts的默認配置之後,重啟DenyHosts服務即可生效:

/etc/init.d/daemon-control restart #重啟denyhosts

如果想刪除一個已經禁止的主機IP,並加入到允許主機例表,只在 /etc/hosts.deny 刪除是沒用的。

需要進入 /usr/share/denyhosts 目錄,進入以下操作:
1、停止DenyHosts服務:$ /etc/init.d/daemon-control stop
2、在 /etc/hosts.deny 中刪除你想取消的主機IP
3、編輯 DenyHosts 工作目錄的所有文件,通過
$ grep 127.0.0.1 /usr/share/denyhosts/data/*

#這行沒明白,然後一個個刪除文件中你想取消的主機IP所在的行:
*/usr/share/denyhosts/data/hosts
*/usr/share/denyhosts/data/hosts-restricted
*/usr/share/denyhosts/data/hosts-root
*/usr/share/denyhosts/data/hosts-valid
*/usr/share/denyhosts/data/users-hosts

4、添加你想允許的主機IP地址到
vi /etc/hosts.allow
# We mustn't block localhost
sshd: 127.0.0.1
sshd: 192.168.1.*
sshd: 公網IP

5、啟動DenyHosts服務: /etc/init.d/daemon-control


2.centos 密碼複雜度修改,密碼過期時間


系統對密碼的控制是有兩部分(我知道的)組成:
  1 cracklib
  2 login.defs
  聲明:login.defs主要是控制密碼的有效期。對密碼進行時間管理。
在CentOS下設置密碼複雜度分為兩步
(1)修改/etc/login.defs文件
vim /etc/login.defs
PASS_MAX_DAYS 90    # 密碼最長過期天數
PASS_MIN_DAYS 80     # 密碼最小過期天數
PASS_MIN_LEN 10     # 密碼最小長度
PASS_WARN_AGE 7     # 密碼過期警告天數
默認:

centos 系統如何加強安全防護

(2)修改/etc/pam.d/system-auth文件vim /etc/pam.d/system-auth
在 password requisite pam_cracklib.so 一行換成如下內容:
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
參數含義:
嘗試次數:5 ;

最少不同字符:3 ;

最小密碼長度:10 ;

最少大寫字母:1;

最少小寫字母:3 ;

最少數字:3 ;

字典位置:/usr/share/cracklib/pw_dict
可以安裝yum -y install cracklib*
命令進行密碼複雜度測試
echo "mypass@word1" | cracklib-check

centos 系統如何加強安全防護

centos7 下密碼定時修改,並將密碼發送郵箱1.安裝sendmail
yum -y install sendmail
systemctl start sendmail

2.安裝mailx
yum install -y mailx


3.配置文件
vim /etc/mail.rc
結尾追加
set bsdcompat
set from=郵箱賬號@163.com
set smtp=smtp.163.com
set smtp-auth-user=郵箱用戶名
set smtp-auth-password=郵箱密碼
set smtp-auth=login

二、更改密碼腳本
vim password.sh
------------------------------------------------------------------------------------------------------------
#!/bin/bash
ip=`ip a show dev ens33|grep -w inet|awk '{print $2}'|awk -F '/' '{print $1}'`

#這一行是提取本機IP的,不需要改
tr -dc _A-Z-a-z#$%^*-0-9 /home/password.txt

#這一行是生成隨機密碼的
cat /home/password.txt |passwd root --stdin

#這一行是將生成的密碼本機的密碼
SendStatus=`mail -v -s "$ip test-root-password" [email protected]< /home/password.txt | grep -c "Mail Delivery Status Report will be mailed to <root>"`/<root>

#這一行是將密碼發送到指定郵箱,這裡你們設置自己的郵箱
if [ "$SendStatus" == "1" ] ; then
echo "Sender mail ok"
fi


rm -rf /home/password.txt
exit
---------------------------------------------------------------------------------------------------------

三、最後可以做個定時任務每月執行一次
0 0 * * 7 /home/password.sh > /dev/null 2>&1 每週日的晚上12點執行
成立:


centos 系統如何加強安全防護


禁用root賬號ssh登錄修改配置文件:vim /etc/ssh/sshd_config 改成no 然後重啟sshd服務及可

centos 系統如何加強安全防護

·給普通賬號賦權限:vim /etc/sudoers
方法一:將新創建的賬號放在root的組下
將文件中的%wheel 一行,取消註釋
%wheel ALL=(ALL) ALL

然後修改用戶,使其屬於root組(wheel),命令如下:

#usermod -g root 新建賬號
修改完畢,現在可以用tommy帳號登錄,然後用命令 sudo su - ,即可獲得root權限進行操作。

方法二: 修改文件/etc/sudoers 找到root一行
添加內容
賬號 ALL=(ALL) ALL
修改完畢,現在可以用tommy帳號登錄,然後用命令 sudo su - ,即可獲得root權限進行操作。

方法三:需改/etc/passwd 文件 把用戶ID修改0

centos 系統如何加強安全防護

改成0:1002 即可例如:

centos 系統如何加強安全防護


centos 系統如何加強安全防護

要做未雨綢繆的先知者,不做亡羊補牢的救火員。




IT運維之眼-“諸葛運帷” 業務級運維監控管理平臺,企業端到移動端的運維監控整體解決方案。系統以業務系統監控為主線,基於“業務、軟件、網絡、設備、動環”多個監控視角的運維體系架構,打造了一個多維度可視化的綜合運維監控管理平臺。系統以故障提前預警、問題快速定位為核心。切實保障信息系統的安全穩定運行。


分享到:


相關文章: