日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

在公网上的Linux,我的一些配置分享

發(fā)布時(shí)間:2025/4/16 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在公网上的Linux,我的一些配置分享 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

去年的時(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)上很多,不做贅述。需要注意:

  • RSA的版本和SSH版本,現(xiàn)在目前系統(tǒng)都是默認(rèn)RSA2,SSH2,并且默認(rèn)禁用低版本的,可以忽略;
  • 在生成密鑰的時(shí)候,可以不設(shè)置密碼,我還是建議可以用一個(gè)簡(jiǎn)單的密碼,不用太復(fù)雜;
  • 注意目錄(700)和文件(600)的權(quán)限;追加的時(shí)候注意換行和回車(chē);
  • 目前和未來(lái)幾年內(nèi)這個(gè)算法是安全的,但是量子計(jì)算機(jī)破解就是一兩分鐘,甚至一秒鐘就搞定,要有這方面意識(shí)。
  • 這兩天,阿提亞爵士聲稱(chēng)證明了黎曼猜想。不過(guò)看新聞報(bào)道,好像是數(shù)學(xué)家們認(rèn)為希望不大。如果黎曼猜想被證明了的話(huà),就意味著以素?cái)?shù)為基礎(chǔ)的所有加密算法都是不安全的。

    禁用root用戶(hù)

    這個(gè)比較簡(jiǎn)單:

  • 修改配置文件是在:/etc/ssh/sshd_config,
  • 搜索PermitRootLogin yes,一般是注釋的#PermitRootLogin yes; 去掉注釋,改為no就可以了。
  • 根據(jù)個(gè)人需要,普通用戶(hù)是否可以使用密碼登陸,PasswordAuthentication;我修改的是yes,我認(rèn)為我可能會(huì)在臨時(shí)的電腦上用密碼登陸。
  • 重啟ssh: systemctl restart sshd
  • 更改 ssh 端口

    把系統(tǒng)默認(rèn)的ssh端口22,改為一個(gè)用戶(hù)自定義的,1024以下是系統(tǒng)保留的,從1024-65535是用戶(hù)使用的。

  • 修改配置文件是在:/etc/ssh/sshd_config,
  • 在文件中找到#Port 22 默認(rèn)是注釋掉的,然后去掉注釋,改為其他端口號(hào),
  • 千萬(wàn)一定要注意,記得把自定義的端口,加入到防火墻中,tcp協(xié)議,否則可能面臨無(wú)法登陸了。
  • 重啟ssh: systemctl restart sshd
  • 禁用 SELinux(Security-Enhanced Linux)

    因?yàn)檫@個(gè)vps只有我一個(gè)人使用,并且也要時(shí)不時(shí)的折騰折騰,所以為了不必要的困擾,就把這個(gè)給禁用了。

  • 修改配置文件是在:/etc/selinux/config,
  • 把SELINUX=enforcing修改為SELINUX=disabled,永久關(guān)閉;
  • setenforce 0 臨時(shí)關(guān)閉,
  • 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,
    # wheel組 sudo不需要密碼 sed -i 's/^%wheel.*/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers # wheel組 su 不需要密碼 sed -i 's/^#auth\s\+sufficient\s\+pam_wheel.so\s\+trust\s\+use_uid/auth sufficient pam_wheel.so trust use_uid/g' /etc/pam.d/su

    防火墻設(shè)置

    一般linux發(fā)行版本都是默認(rèn)開(kāi)啟防火墻的,并且開(kāi)啟了22端口。
    使用哪個(gè)端口就開(kāi)哪個(gè),不用了的端口一定要關(guān)閉,并且使用了tcp協(xié)議,只開(kāi)tcp協(xié)議。

    firewall-cmd --zone=public --permanent --add-port=${my_ssh_port}/tcp firewall-cmd --reload

    禁止Ping

    我之前禁用過(guò)一段時(shí)間,因?yàn)榫W(wǎng)絡(luò)不太穩(wěn)定,還需要使用ping命令來(lái)看看是網(wǎng)絡(luò)不通,還是延遲過(guò)高。所以就放開(kāi)了。

  • 禁用ICMP協(xié)議。/etc/sysctl.conf,增加net.ipv4.icmp_echo_ignore_all = 1,1禁用,0啟用;
  • 使配置生效sysctl -p
  • 別名設(shè)置

    為了操作自己的linux 更加方便,可以做很多自定義的命令。好處是很方便,壞處就是換臺(tái)機(jī)器可能就不會(huì)玩了。

  • shell文件在/etc/profile.d/目錄下,對(duì)所有用戶(hù)生效,用戶(hù)登陸執(zhí)行下面的所有腳本。注意這個(gè)目錄下的腳本執(zhí)行順序是第一個(gè)執(zhí)行的,也就是說(shuō) alias 會(huì)被后面的覆蓋,
  • 一些登陸后初始化的腳本,環(huán)境變量設(shè)置,都建議放在這個(gè)目錄下面/etc/profile.d/,
  • PS1PS(Prompt Sign): 是指命令提示符,當(dāng)然調(diào)整了一下顏色root@myhost:etc#,
  • cat > /etc/profile.d/alias.sh <<-EOF PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\\$ ' alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' alias ls='ls --color=auto' alias ll='ls -al' alias lm='ls -al | more' alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias mkcd='function _mkcd(){ mkdir \$@ && cd \$@; }; _mkcd' alias cdl='function _cdl() { cd \$@ && pwd; ls -alF; }; _cdl'EOF

    結(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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。