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