Linux Server:CentOS 6.2
案頭系統內容: Windows 7
串連工具: putty
1.修改SSH設定檔
vi /etc/ssh/sshd_config 修改連接埠,禁止root登入,添加限制使用者
| 代碼如下 |
複製代碼 |
Port 2345 PermitRootLogin no AllowUsers gino2.修改iptables |
vi /etc/sysconfig/iptables複製22連接埠ACCEPT規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2345 -j ACCEPT3.修改 port contexts(關鍵),需要對context進行修改
semanage port -a -t ssh_port_t -p tcp 23454.重啟SSH服務
/etc/init.d/sshd restart此時SSH服務已經遷移到2345連接埠,並且只有gino使用者可以訪問,提升安全性。
附錄:semanage
1.安裝semanage,預設情況下,CentOS沒有這個命令,需要查看這個命令由誰來提供的
yum provides /usr/sbin/semanage然後進行安裝
yum -y install policycoreutils-python2.semanage使用 針對prot context,例如查看ssh連接埠情況
semanage port -l | grep ssh應該可以到如下結果:
ssh_port_t tcp 2345, 22 也可以用netstat進行驗證
netstat -tulpn | grep 2345至此,SSH調整完畢,contexts機制還不是很情況,需要進一步深入研究
修改遠程連接埠和預設連接埠方法
實現目的:把ssh預設遠端連線連接埠修改為2222
方法如下:
1、編輯防火牆配置:vi /etc/sysconfig/iptables
防火牆增加新連接埠2222
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
======================================================================
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
重啟防火牆,使配置生效:
/etc/init.d/iptables restart
service iptables restart
=======================================================================
2、備份ssh連接埠設定檔
cp /etc/ssh/ssh_config /etc/ssh/ssh_configbak
cp /etc/ssh/sshd_config /etc/ssh/sshd_configbak
修改ssh連接埠為:2222
vi /etc/ssh/sshd_config
在連接埠#Port 22下面增加Port 2222
vi /etc/ssh/ssh_config
在連接埠#Port 22下面增加Port 2222
重啟:/etc/init.d/sshd restart
service sshd restart
用2222連接埠可以正常串連之後,再返回去重複上面的步驟。把22連接埠禁用了,以後ssh就只能用2222連接埠串連了!增強了系統的安全性。
=======================================================================
3、禁止root通過ssh遠程登入
vi /etc/ssh/sshd_config
找到PermitRootLogin,將後面的yes改為no,把前面的注釋#取消,這樣root就不能遠程登入了!
可以用普通帳號登入進去,要用到root的時候使用命令su root 切換到root賬戶
=======================================================================
4、限制使用者的SSH訪問
假設我們只要root,user1和user2使用者能通過SSH使用系統,向sshd_config設定檔中添加
vi /etc/ssh/sshd_config
AllowUsers root user1 user2
=======================================================================
5、配置空閑逾時退出時間間隔
使用者可以通過ssh登入到伺服器,你可以設定一個空閑逾時時間間隔。
開啟sshd_config設定檔,設定為如下。
vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0
上面的例子設定的空閑逾時時間間隔是600秒,即10分鐘,
過了這個時間後,空閑使用者將被自動踢出出去(可以理解為退出登入/登出)。
=======================================================================
6、限制只有某一個IP才能遠程登入伺服器
vi /etc/hosts.deny #在其中加入sshd:ALL
vi /etc/hosts.allow #在其中進行如下設定:sshd:192.168.1.1 #(只允許192.168.1.1這個IP遠程登入伺服器)
最後重啟ssh服務:/etc/init.d/sshd restart
修改普通使用者具有root許可權
1)進入超級使用者模式。也就是輸入"su -",系統會讓你輸入超級使用者密碼,輸入密碼後就進入了超級使用者模式。(當 然,你也可以直接用root用)
2)添加檔案的寫入權限。也就是輸入命令"chmod u+w /etc/sudoers"。
3)編輯/etc/sudoers檔案。也就是輸入命令"vim /etc/sudoers",輸入"i"進入編輯模式,找到這一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(這裡的xxx是你的使用者名稱),然後儲存(就是先按一下Esc鍵,然後輸入":wq")退出。
4)撤銷檔案的寫入權限。也就是輸入命令"chmod u-w /etc/sudoers"。