在公网上的Linux,我的一些配置分享
前言
去年的時(shí)候,有一篇介紹在vultr上搭建ss服務(wù)器的文章,由于某些眾所周知的原因,被阿里云刪除。
后來(lái)有段時(shí)間使用vps,配合《鳥(niǎo)哥私房菜》,學(xué)習(xí)實(shí)操linux。當(dāng)時(shí)我以為只要root密碼夠復(fù)雜,就一切ok,有一兩個(gè)月沒(méi)有太關(guān)注安全的問(wèn)題。偶然一次使用lastb命令,著實(shí)下了一跳,我的vps每天都有幾萬(wàn)次的失敗登陸記錄。嘗試登陸的IP,有俄羅斯,越南,巴西。。。。基本上地球上所有國(guó)家都有來(lái)過(guò)。
這個(gè)時(shí)候我才意識(shí)到,如果不做相關(guān)的安全方面的措施,在公網(wǎng)的環(huán)境下,與裸奔無(wú)異。我的vps是CentOS 7,以下所有涉及到的配置文件,相關(guān)命令都是在CentOS 7以下并且生效了的。
安裝 denyhosts
denyhosts 是查詢(xún)了幾萬(wàn)次的失敗記錄后,立即安裝的。維基上面的簡(jiǎn)介
DenyHosts是針對(duì)SSH服務(wù)器的一個(gè)基于日志的入侵預(yù)防安全工具,是用Python編寫(xiě)的。其通過(guò)監(jiān)測(cè)身份驗(yàn)證登錄日志中失敗的登錄嘗試,屏蔽這些登錄者的IP地址,從而預(yù)防對(duì)SSH服務(wù)器的暴力破解。配置文件路徑/etc/denyhosts.conf,里面可以配置的項(xiàng)很多,也有詳細(xì)說(shuō)明,我只修改了通知的用戶(hù)。
sed -i "s/root@localhost/{用戶(hù)名}@localhost/g" /etc/denyhosts.conf效果還是很明顯的,掃描從每天從幾萬(wàn)降到了一千左右。但是這一千左右的失敗登陸也是不能忍的。
PS:把失敗的記錄基本降為0以后,我考慮通過(guò)郵件第一時(shí)間通知我,有人嘗試登陸我的主機(jī)。后來(lái)再網(wǎng)上在查詢(xún),好像是不直接支持的,還需要安裝專(zhuān)門(mén)發(fā)送郵件的postfix,僅僅為了這個(gè)發(fā)送郵件,好像也沒(méi)有太大的必要。就放棄了。
使用密鑰登陸
維基:RSA非對(duì)稱(chēng)加密算法 我也就了解到,是大數(shù)的質(zhì)因數(shù)分解,也簡(jiǎn)單做推算過(guò),目前還是很安全的。有興趣可以去網(wǎng)上找,李永樂(lè)老師的講解。
在客戶(hù)端生成公鑰和私鑰,然后把公鑰上傳到服務(wù)器,在/home/{你的用戶(hù)名}/.ssh/authorized_keys文件下追加一條記錄。客戶(hù)端使用私鑰登陸。相關(guān)的教程網(wǎng)上很多,不做贅述。需要注意:
這兩天,阿提亞爵士聲稱(chēng)證明了黎曼猜想。不過(guò)看新聞報(bào)道,好像是數(shù)學(xué)家們認(rèn)為希望不大。如果黎曼猜想被證明了的話(huà),就意味著以素?cái)?shù)為基礎(chǔ)的所有加密算法都是不安全的。
禁用root用戶(hù)
這個(gè)比較簡(jiǎn)單:
更改 ssh 端口
把系統(tǒng)默認(rèn)的ssh端口22,改為一個(gè)用戶(hù)自定義的,1024以下是系統(tǒng)保留的,從1024-65535是用戶(hù)使用的。
禁用 SELinux(Security-Enhanced Linux)
因?yàn)檫@個(gè)vps只有我一個(gè)人使用,并且也要時(shí)不時(shí)的折騰折騰,所以為了不必要的困擾,就把這個(gè)給禁用了。
su,sudo 免密碼
我的密碼是vps廠商自動(dòng)生成的,非常復(fù)雜。為了避免要在使用root權(quán)限時(shí),還要再輸入密碼。并且既然我的賬號(hào)都登陸了,就不應(yīng)該再次輸入密碼了。
- 把用戶(hù)加入 wheel 組(wheel),為了免密碼 usermod -aG wheel {用戶(hù)名}
- su 免密碼,配置文件/etc/pam.d/su,加上這句話(huà)auth sufficient pam_wheel.so trust use_uid ,CentOS7是注釋掉的。
- sudo 免密碼,配置文件/etc/sudoers,把所在組 wheel 設(shè)置%wheel ALL=(ALL) NOPASSWD: ALL,
防火墻設(shè)置
一般linux發(fā)行版本都是默認(rèn)開(kāi)啟防火墻的,并且開(kāi)啟了22端口。
使用哪個(gè)端口就開(kāi)哪個(gè),不用了的端口一定要關(guān)閉,并且使用了tcp協(xié)議,只開(kāi)tcp協(xié)議。
禁止Ping
我之前禁用過(guò)一段時(shí)間,因?yàn)榫W(wǎng)絡(luò)不太穩(wěn)定,還需要使用ping命令來(lái)看看是網(wǎng)絡(luò)不通,還是延遲過(guò)高。所以就放開(kāi)了。
別名設(shè)置
為了操作自己的linux 更加方便,可以做很多自定義的命令。好處是很方便,壞處就是換臺(tái)機(jī)器可能就不會(huì)玩了。
結(jié)語(yǔ)
- 這些設(shè)置大概是半年前做的了,斷斷續(xù)續(xù)的;有些遺漏或是不準(zhǔn)確的地方歡迎指出;
- 再修改配置文件的時(shí)候,建議花一些時(shí)間看一下里面的注釋。絕大部分配置文件里面,注釋非常清楚,并且占了文件的大部分內(nèi)容;
- 我把以上的內(nèi)容,寫(xiě)成了sh腳本。運(yùn)行過(guò)無(wú)誤,僅供參考;
- 一年多的時(shí)間博客沒(méi)有怎么更新,這幾天會(huì)記錄一下這段時(shí)間的積累。
轉(zhuǎn)載于:https://www.cnblogs.com/BenAndWang/p/9713080.html
總結(jié)
以上是生活随笔為你收集整理的在公网上的Linux,我的一些配置分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 结对编程-队友代码欣赏
- 下一篇: 【Java】多线程相关复习—— 线程的创