天天看點

CentOS伺服器安全配置政策Defaults requiretty 【沒有可不用管】‘m’ = minutes‘h’ = hours‘d’ = days‘w’ = weeks‘y’ = years

  1. 修改ssh預設連接配接22端口 和 添加防火牆firewalld 通過端口

步驟:

1) 修改ssh的預設端口22:

vi /etc/ssh/sshd_config

CentOS伺服器安全配置政策Defaults requiretty 【沒有可不用管】‘m’ = minutes‘h’ = hours‘d’ = days‘w’ = weeks‘y’ = years

2)讓防火牆通過這個端口

firewall-cmd --state【firewalld是否運作】

firewall-cmd --permanent --list-port【檢視端口清單】

firewall-cmd --permanent --zone=public --add-port=48489/tcp【添加端口】

firewall-cmd --permanent --remove-port=48489/tcp【删除端口】

12345

3)重新開機SSH服務,并退出目前連接配接的SSH端口

service sshd restart1

4)然後通過putty ssh連接配接軟體連結一下,使用預設22号端口無法進入SSH,達到目的,就OK了~

阿裡雲代金券1000元免費領取位址:

https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=2a7uv47d

新老阿裡雲賬戶均可領取!可用于購買阿裡雲伺服器ECS、雲資料庫RDS、虛拟主機、安騎士、DDoS高防IP等100多雲計算産品。 代金券自領取之日起,有效期是30天,請及時使用,過30天後還可以重新領取。

  1. 禁止root帳号直接登入

Linux的預設管理者名即是root,隻需要知道ROOT密碼即可直接登入SSH。禁止Root從SSH直接登入可以提高伺服器安全性。經過以下操作後即可實作。

1)建立帳戶和設定帳戶密碼

useradd ityangs

passwd ityangs

123

2)不允許root直接登陸

vi /etc/ssh/sshd_config1

查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改為“No”,并儲存檔案。

systemctl restart sshd.service【重新開機ssh,另一種方法重新開機】1

3)下次登陸

先使用建立賬号“ityangs”以普通使用者登陸。

若要獲得ROOT權限,在SSH中執行以下指令

su root1

執行以上指令并輸入root密碼後即可獲得root權限。

4)WinSCP下su切換到root的技巧(禁止root遠端ssh登入時)

限制了root使用者的遠端登入,但是重要的資料檔案都是700。更可悲的是,WinSCP完全失去了用武之地。因為root賬戶無法登陸,而像是FTP,SFTP,SCP這些協定都不支援在登入以後切換使用者。

SCP協定在登入的時候可以指定shell,一般預設的也就是推薦的是/bin/bash,但是我們可以修改它來玩花樣,比如改成sudo su -

但是新問題又來了,sudo需要輸入密碼,但是WinSCP在登入的時候并沒有互動過程。但是天無絕人隻要在root權限之路,隻要在root權限下visudo,添加如下一行即可取消sudu時的密碼:

yourusername ALL=NOPASSWD: ALL

為了可以在非putty的環境下sudo,我們還需要注釋掉下面一行:

Defaults requiretty

然後儲存,即可在登入到WinSCP的時候享受root的快感啦!

普通使用者ssh到伺服器,切換到root權限

visudo,然後添加 yourusername ALL=NOPASSWD: ALL 這一行,注釋掉Defaults requiretty

[root@iZ252wo3Z ~]# visudo

ityangs ALL=NOPASSWD: ALL

Defaults requiretty 【沒有可不用管】

修改WinSCP的檔案協定為SCP

CentOS伺服器安全配置政策Defaults requiretty 【沒有可不用管】‘m’ = minutes‘h’ = hours‘d’ = days‘w’ = weeks‘y’ = years

修改環境-SCP/Shell下的shell為sudo su-

CentOS伺服器安全配置政策Defaults requiretty 【沒有可不用管】‘m’ = minutes‘h’ = hours‘d’ = days‘w’ = weeks‘y’ = years

登入WinSCP即可。

  1. 安裝DenyHosts【攔截擷取攻擊的IP,生成黑名單,防止再次攻擊】

DenyHosts(項目首頁:

http://denyhosts.sourceforge.net/

)是運作于Linux上的一款預防SSH暴力破解的軟體,可以從

http://sourceforge.net/projects/denyhosts/files/

進行下載下傳,然後将下載下傳回來的DenyHosts-2.6.tar.gz源碼包上傳到Linux系統中。

下面是安裝過程

tar zxvf DenyHosts-2.6.tar.gz #解壓源碼包

cd DenyHosts-2.6 #進入安裝解壓目錄

python setup.py install #安裝DenyHosts

cd /usr/share/denyhosts/ #預設安裝路徑

cp denyhosts.cfg-dist denyhosts.cfg #denyhosts.cfg為配置檔案

cp daemon-control-dist daemon-control #daemon-control為啟動程式

chown root daemon-control #添加root權限

chmod 700 daemon-control #修改為可執行檔案

ln -s /usr/share/denyhosts/daemon-control /etc/init.d #對daemon-control進行軟連接配接,友善管理

安裝到這一步就完成了。

/etc/init.d/daemon-control start #啟動denyhosts

chkconfig daemon-control on #将denghosts設成開機啟動

vi /usr/share/denyhosts/denyhosts.cfg #編輯配置檔案,另外關于配置檔案一些參數,通過grep -v "^#" denyhosts.cfg檢視

SECURE_LOG = /var/log/secure #ssh 日志檔案,redhat系列根據/var/log/secure檔案來判斷;Mandrake、FreeBSD根據 /var/log/auth.log來判斷

#SUSE則是用/var/log/messages來判斷,這些在配置檔案裡面都有很詳細的解釋。           

HOSTS_DENY = /etc/hosts.deny #控制使用者登陸的檔案

PURGE_DENY = 30m #過多久後清除已經禁止的,設定為30分鐘;

‘m’ = minutes

‘h’ = hours

‘d’ = days

‘w’ = weeks

‘y’ = years

BLOCK_SERVICE = sshd #禁止的服務名,當然DenyHost不僅僅用于SSH服務

DENY_THRESHOLD_INVALID = 1 #允許無效使用者失敗的次數

DENY_THRESHOLD_VALID = 3 #允許普通使用者登陸失敗的次數

DENY_THRESHOLD_ROOT = 3 #允許root登陸失敗的次數

DAEMON_LOG = /var/log/denyhosts #DenyHosts日志檔案存放的路徑,預設

更改DenyHosts的預設配置之後,重新開機DenyHosts服務即可生效:

/etc/init.d/daemon-control restart #重新開機denyhosts

繼續閱讀