Linux

如何在不重新編譯 OpenSSH 的情況下保護 SFTP?

  • July 15, 2011

我想你們中的許多人都有生產環境,並且重新編譯像 OpenSSH 這樣廣泛使用的軟體包的選項不是一個選項,至少一直是這樣。Securing SFTP中的解決方案要求您至少為 CentOS_5.1 重建 OpenSSH。

我希望獲得另一種方法來防止我的最終使用者(使用 sftp)看不到除了他們允許的文件夾之外的其他目錄。類似於 Windows FTP 伺服器中的隔離模式。

經過各種穀歌搜尋後,我想看看這裡,但除了上面的文章,我什麼也沒找到。有任何想法嗎?

  • OpenSSH 支持基於使用者、組或地址的條件配置
  • OpenSSH 還有一個集成的 sftp 伺服器,它不依賴 chroot 來進行配置、庫、…

此方法不需要對 chroot 進行額外維護!

它也更安全,因為監獄內不需要執行檔或庫。

將此附加到您的 sshd_config:

Match Group mysftpgroup
       ChrootDirectory %h
       ForceCommand internal-sftp
       AllowTcpForwarding no
       X11Forwarding no

mysftpgroup UNIX 組中的使用者應該不能使用除 SFTP 之外的任何其他 SSH 服務。當然,請針對您的具體配置進行驗證!

請注意,匹配“節”由新的匹配節或配置文件的結尾終止。有關其他選項,請參見 man sshd_config。Google搜尋手冊頁可能會產生一個過時的版本。

如果我的問題是正確的,那麼您可以使用配置文件執行此操作。有關在配置中設置 chroot 的幫助,請參閱此 ServerFault 問題。OpenSSH 工具套件最近在配置中看到了一些非常好的選項。值得您花時間閱讀手冊常見問題解答,即使您在一兩年前已經徹底閱讀了它們。

你什麼時候需要重新編譯 OpenSSH 來獲得安全性?OpenSSH 的安全記錄是其他項目(甚至是與安全相關的項目)夢寐以求的。當心來自第三方的更新檔,他們認為他們將提高 OpenSSH 的安全性。不要忘記 Debian 的惡作劇。

引用自:https://serverfault.com/questions/13756