一些常用軟件工具(建議而已乏德,非必須)
? ##Debian安裝命令###
apt-get update && apt-get install unzip zip wget curl? mc? nano sudo ufw socat ntp ntpdate gcc git vim socat make build-essential cmake libboost-system-dev libboost-program-options-dev libssl-dev default-libmysqlclient-dev netcat -y
? ##CentOS安裝命令###
yum update -y && yum install unzip zip wget curl? mc? nano sudo ufw socat ntp ntpdate gcc git vim socat make build-essential cmake libboost-system-dev libboost-program-options-dev libssl-dev default-libmysqlclient-dev netcat net-tools -y
一 菩收,配置ssh
添加用戶
?useradd xxxxx?
更改用戶密碼?
passwd xxxxx
連續(xù)輸入兩次密碼
用戶間切換:
su - username(xxxxx)
刪除用戶
userdel username(xxxxx)
二颈墅,ssh配置文件:/etc/ssh/sshd_config
1岭佳,修改shh端口
Port 22 --> Port xxxxx
(部分vps不支持更改端口號)
2拜马,禁用root登錄
PermitRootLogin yes --> PermitRootLogin no
3喂走,更改后重新啟動sshd服務(wù)
systemctl restart sshd
三呼胚,設(shè)置登錄ip黑名單(登陸失敗超過一定次數(shù)的IP直接封禁)
###Debian###
查看登錄失敗日志 /var/log/auth.log
last -f /var/log/btmp | more
###CentOS###
查看登錄失敗日志文件位置
cat /var/log/secure
白名單ip文件位置:
/etc/hosts.allow
sshd:19.16.18.1:allow? ? ? #自己固定IP
sshd:132.213.:allow? ? ? ? #自己外網(wǎng)IP段
黑名單ip文件位置:
/etc/hosts.deny
======================================
1,建立讀取登錄失敗ip腳本
vim /usr/local/bin/secure_ssh.sh
按下“i”進入編輯模式张惹,寫入一下內(nèi)容:
#############
#!/bin/bash
LIMIT_CNT=6
LOG_FILE_PATH="/var/log/secure"
TMP_BLOCK_FILE="/usr/local/bin/black.txt"
OS_RELEASE="/etc/os-release"
security_execution()
{
? ? echo "start security_execution"
? ? cat $LOG_FILE_PATH | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2"="$1;}' > $TMP_BLOCK_FILE
? ? for i in `cat? $TMP_BLOCK_FILE`
? ? do
? ? ? IP=`echo $i | awk -F '=' '{print $1}'`
? ? ? NUM=`echo $i | awk -F '=' '{print $2}'`
? ? ? if [ $NUM -gt $LIMIT_CNT ];then
? ? ? ? ? grep $IP /etc/hosts.deny > /dev/null
? ? ? ? if [ $? -gt 0 ];then
? ? ? ? ? ? echo "block ip: $IP"
? ? ? ? ? ? echo "sshd:$IP:deny" >> /etc/hosts.deny
? ? ? ? fi
? ? ? fi
? ? done
? ? echo "Completed"
}
proc_main()
{
? ? if [ -f "$OS_RELEASE" ]; then
? ? ? ? source /etc/os-release
? ? ? ? case $ID in
? ? ? ? ? ? debian|ubuntu|devuan)
? ? ? ? ? ? ? ? LOG_FILE_PATH="/var/log/auth.log"
? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? centos|fedora|rhel)
? ? ? ? ? ? ? ? LOG_FILE_PATH="/var/log/secure"
? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? *)
? ? ? ? ? ? ? ? exit 1
? ? ? ? ? ? ? ? ;;
? ? ? ? esac
? ? ? ? echo "System $ID $VERSION_ID"
? ? ? ? security_execution
? ? fi
}
proc_main
#################
按下ESC舀锨,輸入:wq,保存退出
2宛逗,設(shè)置777權(quán)限:
chmod 777 /usr/local/bin/secure_ssh.sh
3坎匿,添加計劃任務(wù):
crontab -e
添加以下內(nèi)容,方法同上:
*/1 * * * *? /usr/local/bin/secure_ssh.sh
黑名單ip會被記錄到/usr/local/bin/black.txt
4雷激,重啟cron定時任務(wù)
CentOS:?
systemctl restart crond
Debian:
systemctl restart cron