安全配置
以下用root賬號操作
創建普通用戶,禁用root遠程登錄
添加普通用戶,admin
1 | useradd admin |
設置密碼
1 | passwd admin |
設置文件夾,且admin有寫入和讀取權限
1 | mkdir /data/temp/ |
禁用root遠程登錄及修改22端口
1 | cp /etc/ssh/sshd_config /etc/ssh/sshd_config_back |
修改內容:
PermitRootLogin no #root遠程登錄,no代表root無法遠程,須普通賬號登錄,然后su切換到root賬號
PermitEmptyPasswords no #禁止空密碼登錄
#UseDNSno #關閉DNS查詢
Port 22 #等全部配置完畢,在移除此參數
重啟服務
1 | systemctl start sshd.service |
往后用admin賬號登錄,在切換到root,使用命令
1 | su |
Denyhosts禁止針對linux sshd的暴力破解
網址:http://denyhosts.sourceforge.net/
本文在 /data/rule/安裝,
1 | mkdir /data |
yum在線下載
1 | cd /usr/src |
解壓
1 | tar -xzvf DenyHosts-2.6.tar.gz |
安裝
1 | python setup.py install |
刪除文件
1 | rm DenyHosts-2.6.tar.gz |
創建日志文件夾
1 | cd /data/rule |
切換目錄進入denyhosts目錄
1 | cd /usr/share/denyhosts/ |
切換到命令行模式
:1,$d
清空內容,然后輸入如下內容:
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
SECURE_LOG=/var/log/secure
PURGE_DENY=50m
HOSTS_DENY=/etc/hosts.deny
BLOCK_SERVICE=sshd
DENY_THRESHOLD_INVALID=10
DENY_THRESHOLD_VALID=10
DENY_THRESHOLD_ROOT=10
WORK_DIR=/usr/local/share/denyhosts/data
DENY_THRESHOLD_RESTRICTED =1
LOCK_FILE=/var/lock/subsys/denyhosts
HOSTNAME_LOOKUP=NO
#ADMIN_EMAIL=xxxxx@qq.com
DAEMON_LOG=/data/rule/DenyHosts/logs/denyhosts
DAEMON_PURGE=10m
解釋如下:
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
SECURE_LOG = /var/log/secure #ssh日志文件
PURGE_DENY = 50m #過多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny #將阻止IP寫入到hosts.deny
BLOCK_SERVICE = sshd #阻止服務名
DENY_THRESHOLD_INVALID = 10 #允許無效用戶登錄失敗的次數
DENY_THRESHOLD_VALID = 10 #允許普通用戶登錄失敗的次數
DENY_THRESHOLD_ROOT = 10 #允許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 =xxxx@qq.com #設置管理員郵件地址
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_PURGE = 10m #該項與PURGE_DENY 設置成一樣,也是清除hosts.deniedssh 用戶的時間。
注意:不能把帶注釋的配置文件粘貼上去,會報錯!!!
DenyHosts啟動文件配置
1 | cd /usr/share/denyhosts/ |
啟動DenyHosts
1 | ./daemon-control start |
DenyHosts自動啟動
1 | cd /usr/share/denyhosts/ |
建立符號鏈接
1 | ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts |
增加denyhosts服務進程
1 | chkconfig --add denyhosts |
設置開機啟動denyhosts
1 | chkconfig denyhosts on |
查看日志異常信息
1 | cat /var/log/secure |