2011-04-27 87 views
0

我現在有一個Web服務器,並在我的網絡文件服務器;在局域網上都有靜態IP,並且路由器將入站端口80流量轉發到Web服務器,因此文件服務器只能在內部訪問。LAN架構 - 尋找輸入

我寫一個小PHP應用程序,將讓我通過Web服務器,文件服務器進行交互的想法玩弄。因此,我不會在路由器級別更改任何內容 - 任何掃描我的公共IP的人仍然只能在Web服務器上找到端口80。

我的問題是相當高的水平,不一定有一個「正確答案」。我可以看到幾種方法來實現這一點,然後打算將其打開以獲得輸入/想法。

一個是從網絡服務器執行ssh到文件服務器,然後通過exec(ssh)運行shell命令返回目錄列表,我上傳的scp文件等等。這種方式並不比讓我的root用戶更好文件服務器,如果他們妥協我的PHP前端,所以我不太熱衷於這個想法,但我正在考慮它。

另一種方法是將文件服務器的內容複製到網絡服務器驅動器並定期同步它們,但這不切實際,並且破壞了擁有中央文件服務器的目的,所以我幾乎已經解僱了理念。

這是對所有我到目前爲止所。任何人有想法或意見?

+2

通過NFS或類似的東西只是掛載文件服務器。 – 2011-04-27 20:19:55

+0

thx - 經過一些更多的研究,這就是我要做的事情(掛載一個samba共享而不是NFS,但是同樣的想法)。 – David 2011-04-28 15:36:22

回答

1

你可以設置一個SFTP chroot監牢。這意味着授權賬戶可以使用SFTP,但永遠無法訪問shell。您還可以通過lastlog以及sshd日誌來關注訪問。

不要配置您的密鑰對登錄的sshd以及爲最安全。優點是您可以提供對'普通'SFTP帳戶的多重訪問 - 如果需要的話。只需將所有公鑰添加到目標賬戶.ssh/authorized_keys2即可。

這應有助於: http://ubuntuforums.org/showthread.php?t=858475

+0

你甚至可以通過sshfs掛載,這在我的經驗中非常穩固。 – 2011-04-28 17:34:20