centos7服務器基本的安全設置


在使用雲服務器的過程中經常會遇到很多非法的入侵試圖登錄服務器,所以我們需要對服務器進行安全防范

關閉ping掃描,雖然沒什么卵用

先切換到root

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

1代表關閉

0代表開啟

用iptables

iptables -I INPUT -p icmp -j DROP

簡單介紹下基本的安全設置

一、創建普通用戶,禁止root登錄,只允許普通用戶使用su命令切換到root

這樣做的好處是雙重密碼保護,黑客就算知道了普通用戶的密碼,如果沒有root密碼,對服務器上攻擊也比較有限

以下是具體做法(需要在root下)

添加普通用戶

useradd xxx

設置密碼

passwd xxx

這樣就創建好了一個普通用戶

禁止root登錄

vi /etc/ssh/sshd_config

PermitRootLogin no

Systemctl restart sshd

這樣就完成了第一步,之后root就無法登錄服務器只能通過普通用戶su切換

二、修改ssh的默認端口22,因為ssh的端口是22,我們如果修改了該端口,他們就需要花費一點時間來掃描,稍微增加了點難度

以下將端口改為51866可以根據需要自己更改,最好選擇10000-65535內的端口

step1 修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

#Port 22         //這行去掉#號

Port 51866      //下面添加這一行

為什么不先刪除22,以防其他端口沒配置成功,而又把22的刪除了,無法再次進入服務器

step2 修改SELinux

安裝semanage

$ yum provides semanage
$ yum -y install policycoreutils-python

使用以下命令查看當前SElinux 允許的ssh端口:

semanage port -l | grep ssh

添加51866端口到 SELinux

semanage port -a -t ssh_port_t -p tcp 51866

注:操作不成功,可以參考:https://sebastianblade.com/how-to-modify-ssh-port-in-centos7/

失敗了話應該是selinux沒有打開

然后確認一下是否添加進去

semanage port -l | grep ssh

如果成功會輸出

ssh_port_t                    tcp    51866, 22

step3 重啟ssh

systemctl restart sshd.service

查看下ssh是否監聽51866端口

netstat -tuln

Step4 防火牆開放51866端口

firewall-cmd --permanent --zone=public --add-port=51866/tcp

firewall-cmd --reload

然后測試試試,能不能通過51866登錄,若能登錄進來,說明成功,接着刪除22端口

vi /etc/ssh/sshd_config

刪除22端口  wq

systemctl restart sshd.service

同時防火牆也關閉22端口

firewall-cmd --permanent --zone=public --remove-port=22/tcp

注意如果是使用阿里的服務器需要到阿里里面的安全組添加新的入站規則(應該是因為阿里的服務器是用的內網,需要做端口映射)

三、使用一些類似DenyHosts預防SSH暴力破解的軟件(不詳細介紹)

其實就是一個python腳本,查看非法的登錄,次數超過設置的次數自動將ip加入黑名單。

四、使用雲鎖(不詳細介紹)

參考自http://tim-fly.iteye.com/blog/2308234

總的來說做好了前兩步能夠減少至少百分之五十的入侵,在做好第三步之后,基本可以杜絕百分之八十以上的入侵。當然最重要的還是自己要有安全意識,要多學習一些安全知識和linux的知識。

第三第四其中都有稍微提到一點,感興趣可以看看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM