ftp用戶禁止ssh
① Linux(RH)如何禁止某些用戶使用Sftp
可以用sshd的配置項:DenyUsers,AllowUsers, DenyGroups,AllowGroups
舉個例子:
把你希望禁止使用使用sftp服務的用戶都加入某個組比如xyz
然後在/etc/ssh/sshd_config設置
DenyGroups xyz
這樣所有屬於xyz的用戶就沒有登錄ssh的許可權了,自然也沒有使用sftp的許可權了。
注意僅僅在sshd_config禁止掉sftp-server是不夠的,因為只要用戶還能通過
ssh登錄就可以用其他user space 的工具如scp上傳下載文件,效果其實跟sftp是一樣的。
② 怎麼設置停止SSH / FTP攻擊ROS路由器
你好!你可以復位後重新設置一下。設置路由器的方法步驟如下:
1、進入路由器地址,連接好無線路由器後,在瀏覽器輸入在路由器看到的地址,一般是192.168.1.1。
2、輸入相應的賬號密碼,進入後會看到輸入相應的帳號跟密碼,一般新買來的都是admin。
3、選擇設置向導,確實後進入操作界面,你會在左邊看到一個設置向導,進擊進入(一般的都是自動彈出來的)。
4、進入上網方式設置,設置向導的界面。
5、點擊下一步,進入上網方式設置,我們可以看到有三種上網方式的選擇,如果你家是撥號的話那麼就用PPPoE。動態IP一般電腦直接插上網路就可以用的,上層有DHCP伺服器的。靜態IP一般是專線什麼的,也可能是小區帶寬等,上層沒有DHCP伺服器的,或想要固定IP的。因為我撥號所以選擇pppoe。
6、輸入賬號密碼,選擇PPPOE撥號上網就要填上網帳號跟密碼,這個應該大家都明白,開通寬頻都會有帳號跟,填進去就OK啦。
7、設置路由器的密碼,然後下一步後進入到的是無線設置,我們可以看到信道、模式、安全選項、SSID等等,一般SSID就是一個名字,你可以隨便填,然後模式大多用11bgn.無線安全選項我們要選擇wpa-psk/wpa2-psk,這樣安全,免得輕意讓人家破解而蹭網。
8、下一步就設置成功啦。
9、點擊完成,路由器會自動重啟,這時候你耐心等待吧。成功後出現的界面。
10、手機怎麼連接wifi就更簡單了,當你路由器設置完成之後,點擊手機的菜單鍵,然後進入手機設置,第一項就是wifi,然後你將它設置為開啟,點擊進入wifi列表中,選擇你之前路由器中設置的無線網路名字。輸入你之前設置的密碼進行連接。
總結:無線路由器怎麼用,是一個比較普遍的問題,也是一個比較簡單的問題,相信只要有過一次經 驗之後,也可以成為大神了,當然路由器的設置還遠不只有這些簡單的內容,登錄路由器設置頁面之後還有更多的設置選項,設置其他選項,例如綁定mac地址、過來IP、防火牆設置等等,可以讓你的無線網路更加安全,防止被蹭網。
③ 如何限制用戶使用 SSH 登入系統
高級SSH技巧:
在這篇文章中我將為你展示一些簡單的技巧,幫助你提高你的SSH服務的安全。SSH伺服器配置文件是/etc/ssh/sshd_conf。在你對它進行每一次改動後都需要重新啟動SSH服務,以便讓改動生效。
1、修改SSH監聽埠
默認情況下,SSH監聽連接埠22,攻擊者使用埠掃描軟體就可以看到主機是否運行有SSH服務,將SSH埠修改為大於1024的埠是一個明智的選擇,因為大多數埠掃描軟體(包括nmap)默認情況都不掃描高位埠。
打開/etc/ssh/sshd_config文件並查找下面這樣的行:
Port 22
修改埠號並重新啟動SSH服務:
/etc/init.d/ssh restart
2、僅允許SSH協議版本2
有兩個SSH協議版本,僅使用SSH協議版本2會更安全,SSH協議版本1有安全問題,包括中間人攻擊(man-in-the-middle)和注入(insertion)攻擊。編輯/etc/ssh/sshd_config文件並查找下面這樣的行:
Protocol 2,1
修改為
Protocol 2
3、僅允許特定的用戶通過SSH登陸
你不一個允許root用戶通過SSH登陸,因為這是一個巨大的不必要的安全風險,如果一個攻擊者獲得root許可權登陸到你的系統,相對他獲得一個普通用戶許可權能造成更大的破壞,配置SSH伺服器不允許root用戶通過SSH登陸,查找下面這樣的行:
PermitRootLogin yes
將yes修改為no,然後重新啟動服務。現在,如果你想使用特權用戶,你可以先以其他用戶登陸,然後再轉換到root。
創建一個沒有實際許可權的虛擬用戶是一個明智的選擇,用這個用戶登陸SSH,即使這個用戶遭到破解也不會引起什麼破壞,當創建這個用戶時,確保它屬於wheel組,因為那樣你才能切換到特權用戶。
如果你想讓一列用戶都能通過SSH登陸,你可以在sshd_config文件中指定它們,例如:我想讓用戶anze、dasa、kimy能通過SSH登陸,在sshd_config文件的末尾我添加下面這樣一行:
AllowUsers anze dasa kimy
4、創建一個自定義SSH banner
如果你想讓任何連接到你SSH服務的用戶看到一條特殊的消息,你可以創建一個自定義SSH banner,只需要創建一個文本文件(我的是/etc/ssh-banner.txt),然後輸入你想的任何文本消息,如:
*This is a private SSH service. You are not supposed to be here.*
*Please leave immediately. *
編輯好後,保存這個文件,在sshd_config中查找下面這樣一行:
#Banner /etc/issue.net
取消掉注釋【將#去掉】,然後將路徑修改為你自定義的SSH banner文本文件。
5、使用DSA公鑰認證
代替使用用戶名和密碼對SSH進行認證,你可以使用DSA公鑰進行認證,注意你既可以使用登陸名,也可以使用DSA公鑰進行認證,使用DSA公鑰認證可以預防你的系統遭受字典攻擊,因為你不需要用登陸名和密碼登陸SSH服務,而是需要一對DSA密鑰,一個公鑰和一個私鑰,在你本地機器上保存私鑰,將公鑰放在伺服器上。當你發起一個SSH登陸會話時,伺服器檢查密鑰,如果它們匹配的話,你就可以直接進入shell,如果它們不匹配,你的連接將被自動斷開。
在本例中的私人計算機叫『工作站1』,伺服器叫『伺服器1』。在兩個機器上我有相同的home目錄,如果伺服器和客戶端上的home目錄不同將不能工作,實現,你需要在你的私人計算機上創建一對密鑰,命令:~$
ssh-keygen -t
dsa,它將要求你為私鑰輸入一個密語,但是你可以保留為空,因為這不是一個推薦的做法。密鑰對創建好了:你的私鑰在~/.ssh/id_dsa,你的公鑰在.ssh/id_dsa.pub。
接下來,拷貝~/.ssh/id_dsa.pub中的內容到『伺服器1』的~/.ssh/authorized_keys文件中,~/.ssh/id_dsa.pub的內容看起來象下面這樣:
~$ cat .ssh/id_dsa.pub
ssh-dss
JYDusNGAIC0oZkBWLnmDu+
LZVSFhCI/Fm4yROHGe0FO7FV4lGCUIlqa55+QP9Vvco7qyBdIpDuNV0LAAAAFQC/9ILjqII7n
M7aKxIBPDrQwKNyPQAAAIEAq+OJC8+
9/ta
NIhBbqri10RGL5gh4AAACAJj1/rV7iktOYuVyqV3BAz3JHoaf+H/dUDtX+wuTuJpl+tfDf61rb
WOqrARuHFRF0Tu/Rx4oOZzadLQovafqrDnU/No0Zge+WVXdd4ol1YmUlRkqp8vc20ws5mLVP
/NuzY= [email protected]
如果文件~/.ssh/authorized_keys已經存在,請將上面的內容附加在該文件的後面。剩下的只是給該文件設置正確的許可權了:
~$ chmod 600 ~/.ssh/authorized_keys
現在,配置sshd_config文件使用DSA密鑰認證,確保你將下面三行前的注釋去掉了:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
重新啟動服務,如果你的配置沒有錯誤,現在你就可以SSH到你的伺服器,而且無需任何交互動作(如輸入用戶名和密碼)就直接進入你的home目錄了。
如果你只想使用DSA認證登陸,確保你在sshd_config中取消掉注釋並修改PasswordAuthentication這一行,將yes改為no:
PasswordAuthentication no
任何在伺服器上沒有公鑰的人試圖連接到你的SSH服務,它就被拒絕,給它顯示如下一個拒絕提示信息:
Permission denied (publickey).
6、使用TCP wrappers僅允許指定的主機連接
如果你想在你的網路上只允許特定的主機才能連接到你的SSH服務,但又不想使用或弄亂你的iptables配置,那這個方法非常有用,你可以使用 TCP
wrappers。在這個例子中對sshd進行TCP包裹,我將創建一條規則允許本地子網192.168.1.0/24和遠程
193.180.177.13的自己連接到我的SSH服務。
默認情況下,TCP wrappers首先在/etc/hosts.deny中查找看主機是否允許訪問該服務,接下來,TCP
wrappers查找/etc/hosts.allow看是否有規則允許該主機服務指定的服務,我將在/etc/hosts.deny中創建一個規則,如下:
sshd: ALL
這意味著默認情況下所有主機被拒絕訪問SSH服務,這是應該的,否則所有主機都能訪問SSH服務,因為TCP wrappers首先在hosts.deny中查找,如果這里沒有關於阻止SSH服務的規則,任何主機都可以連接。
接下來,在/etc/hosts.allow中創建一個規則允許指定的主機使用SSH服務:
sshd: 192.168.1 193.180.177.13
現在,只有來自192.168.1.0/24和193.180.177.13的主機能夠訪問SSH服務了,其他主機在連接時還沒有到登陸提示符時就被斷開了,並收到錯誤提示,如下:
ssh_exchange_identification: Connection closed by remote host
7、使用iptables允許特定的主機連接
作為TCP wrappers的一個代替品,你可以使用iptables來限制SSH訪問(但可以同時使用這個兩個的),這里有一個簡單的例子,指出了如何允許一個特定的主機連接到你的SSH服務:
~# iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT
並確保沒有其他的主機可以訪問SSH服務:
~# iptables -A INPUT -p tcp --dport 22 -j DROP
保存你的新規則,你的任務就完成了,規則是立即生效的
8、SSH時間鎖定技巧
你可以使用不同的iptables參數來限制到SSH服務的連接,讓其在一個特定的時間范圍內可以連接,其他時間不能連接。你可以在下面的任何例子中使用/second、/minute、/hour或/day開關。
第一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鍾內不允許在訪問SSH服務,這樣每個用戶在一分鍾內只能嘗試一次登陸:
~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸後,iptables允許該主機每分鍾嘗試一次登陸:
~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW
--dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP