在我們的世界上,有很多很多秘密...老實說,我認為我無法學到足夠多的秘密,而這是因為一個簡單的事實,即Linux允許我們做很多事情,但是事情太多了,以至於我們很難全部了解它們。
這次,我將向您解釋如何做非常有用的事情,許多網絡或系統管理員需要做的事情,並且發現很難根本找不到一種相當簡單的方法來實現它:
如何保護通過SSH連接的用戶
籠? …WTF!
是的,如果出於任何原因我們必須使SSH訪問我們的朋友進入我們的計算機(或服務器),則我們必須始終注意計算機或服務器的安全性和穩定性。
碰巧,最近我們想給Perseus SSH訪問我們服務器的權限,但是我們不能給他任何類型的訪問權限,因為我們在那裡有非常敏感的配置(我們編譯了很多東西,我們單獨安裝了軟件包,等等...),如果沒有這樣做,無論我是否嘗試對服務器進行一點改動,都可能會浪費一切。
然後, 如何創建具有極其有限的特權的用戶,以至於他甚至無法擺脫自己的籠子(家)?
讓我們從下載開始 監獄,該工具將允許我們執行以下操作:
1. 首先,我們必須下載我們的JailKit服務器。
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. 然後,我們必須解壓縮該軟件包並輸入剛剛出現的文件夾:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. 後來我們繼續編譯並安裝軟件(我給你截圖):
./configure
make
make install
4. 準備好了,這個已經安裝好了。 現在我們繼續創建將包含未來用戶的框架,在我的情況下,我在以下位置創建了該框架:/ opt /,並將其命名為“ jail”,因此路徑為: /選擇/監獄 :
mkdir /opt/jail
chown root:root /opt/jail
5. 該籠已經創建,但是它沒有所有必需的工具,因此將來在那裡的用戶可以毫無問題地工作。 我的意思是,到目前為止,已創建了籠子,但這只是一個空盒子。 現在,我們將籠中的用戶需要的一些工具放到籠子裡:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. 準備好了,籠子已經存在,它已經有了供用戶使用的工具……現在我們只需要……用戶! 讓我們創建用戶 基拉 然後將其放入籠子中:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
如果您發現沒有類似屏幕快照的內容,則說明您做錯了什麼。 在這裡發表評論,我們將竭誠為您服務。
7. 瞧,用戶已經被囚禁了……但是,他被囚禁了,無法通過SSH連接,因為嘗試連接服務器時不允許他這樣做:
我們必須編輯cage的etc / passwd文件,也就是說,在這種情況下 / opt /監獄/ etc / passwd ,在其中對創建的用戶行進行註釋,並添加一個新的用戶行,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
也就是說,我們將有這樣的文件 passwd文件:
根:X:0:0:根:/根:/斌/慶典
#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
kira:x:1003:1003 :: / home / kira:/ bin / bash
請注意重複的標點符號和其他標點符號,重要的是不要丟掉它們中的任何一個🙂
完成此操作後,用戶可以毫無問題地進入😀
就這樣。
我們用於所有這些的工具(監獄)在後端使用 chroot環境,實際上幾乎所有教程都使用。 但是,使用JailKit可以更輕鬆地固定cage
如果某人有問題或出了什麼問題,請盡可能多地保留細節,我不認為自己是專家,但我會盡全力為您提供幫助。
那麼這將類似於FTP中的權限嗎? 有趣
您總是想出所有您根本不知道的東西,例如mysql xD中的用戶
不完全相同,因為SSH與FTP不同。 SSH是一個外殼,即一個終端……您可能在另一台計算機或服務器的終端中,可以執行命令,啟動進程等……您將做服務器管理員允許的最大工作😉
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈過來,來吧,發生的事情是我發表了更多技術性的文章……也就是說,我喜歡發表一些不太流行和有趣的小文章。 例如,我個人不打算在新Ubuntu發布之日發布某些內容,因為我相信很多人已經在談論它了……但是,您在本文中所讀的內容,不是每個人都讀到的嗎?天還是不? 😀
很好的貢獻,謝謝
還有一個稱為sftp的協議,它與ftp和Secure Shell在一起,儘管它與通過SSH運行FTP並不相同:
問候
是的,是的,的確如此,但是通過使用SSH,我可以自動控制使用SFTP連接的任何人,因為正如您所說,SFTP實際上是SSH + FTP😀
問候
無法看到圖像!!! 🙁
我的一個小錯誤呵呵,現在告訴我😀
準備。 謝謝😀
很好,我將其指向我的收藏夾,以便在需要時可以使用
謝謝您的任何疑問或問題,我們在這里為您提供幫助🙂
他們關在籠子裡的英仙座。 http://i.imgur.com/YjVv9.png
LOL
xD
你好嗎。
您知道,這是我不太熟悉的主題,並且我一直在檢查BSD(PC-BSD和Ghost BSD),並且發現它非常有趣並且具有非常有用的功能。
我將保留它作為參考,並對照BSD文檔進行檢查。 感謝您的信息。
我也不對此感到陌生,因為我從沒想過要給某人SSH訪問我的任何服務器哈哈,但是當我發現需要這樣做時,我想給予訪問權,但不可能有人錯誤地做某事那不一定must
我從未在BSD系統上嘗試過此操作,所以無法告訴您它是否可以工作,但是如果您正在尋找如何在BSD上進行chroot,應該會出現一些問題😉
感謝您的評論朋友🙂
您好,我使用的是FreeBSD,當然,jailkit確實可以在端口中運行
使用此命令安裝
cd / usr / ports / shells / jailkit / &&使安裝乾淨
或通過ftp數據包
pkg_add -r Jailkit
僅在配置中(kira:x:1003:1003 :: / home / kira:/ bin / bash)
您需要添加tcsh或sh,除非您已經安裝了bash並添加了此路徑
/ usr /本地/ bin / bash
還有更多細節,在Ghost BSD中,它應該是基於FreeBSD的類似過程,甚至更簡單。
問候
太好了,我一直在尋找它; 你知道它是否可以在Centos中使用嗎? 謝謝。
我尚未在Centos上對其進行測試,但是可以,它應該可以工作:)
實際上,我記得有些人在Centos和Red Hat服務器上使用了相同的工具😉
非常感謝。 它直接進入書籤。
感謝您的評論🙂
很好的“技巧”,對系統管理員超級有用。 但更好的是,寫得很好。 你還能想要什麼。
非常感謝你的貢獻。
謝謝,非常感謝您的評論😀
問候
贊SSH哈哈
有一次我嘗試為ssh製作籠子,但使用的是傳統風格,事實是它從來沒有正確地出現過。 如果籠子正在運行,它甚至沒有重擊,也就是說,它已連接並且沒有任何東西哈哈,如果外殼程序正在運行,則它可以進入目錄層次結構,還有更多的基隆博斯哈哈,但是這個監獄工具是一個釘頭鎚,它可以使所有這些東西自動化。
哈哈謝謝。
是的,實際上SSH對於它所允許的一切都是奇妙的,實際上僅是系統所允許的。。。 … 哈哈。
你好,一個問題!
為什麼將房屋從(1)/ opt /監獄/./ home / kira更改為(2)/ home / kira
我們必須編輯籠子的文件etc / passwd,在這種情況下,它將是/ opt / jail / etc / passwd,在其中註釋我們創建的用戶行,並添加一個新的文件,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
換句話說,passwd文件如下所示:
根:X:0:0:根:/根:/斌/慶典
(1)#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
(2)kira:x:1003:1003 :: / home / kira:/ bin / bash
你好🙂
如果未設置,則SSH訪問將不起作用,用戶會嘗試連接,但會自動被驅除...這似乎是JailKit帶來的解釋器的錯誤或問題,因為進行此更改時表明它使用了系統正常運行,一切正常。
我仍然關閉ssh會話:C
蘇斯10.1 x64
您好,我已經安裝了它,並且在centos = D時效果很好
但是我的dua就像以前一樣,向監獄用戶添加了更多命令
無法運行svn co命令 http://pagina.com/carpeta
我的意思是,在這種情況下,監獄用戶不存在此命令,就像以前將這些命令添加到監獄一樣,還有很多我需要添加。
你好,你好嗎?
如果要在監獄中啟用命令“ svn”,則具有命令jk_cp
那是:
jk_cp / opt /監獄/ / bin / svn
假設svn二進製文件或可執行文件為:/ bin / svn
並讓Cage / Jail為:/ opt / jail /
您會發現依賴於其他命令的命令,也就是說,如果添加命令“ pepe”,您還將看到還必須添加“ federico”,因為“ pepe”取決於要執行的“ federico”,如果找到該命令,則您添加了必要的命令,並且已經😉
太好了,我正在同時測試它,我告訴你發生了什麼,非常感謝您= D
運氣😀
我設法做到了您告訴我的內容,但是通過這種方式,它自動檢測到它沒有任何問題,這是我以前能夠使用Subversion的命令。
jk_cp -j /主頁/ jaul svn
好吧,我使用centos xP,也許它與眾不同,但很好
現在我想知道像svn這樣的庫,但是現在我想編譯,因為假設我需要使用這樣的命令
./配置並標記錯誤
./configure.lineno:第434行:expr:找不到命令
我不知道我已經安裝了哪些庫,如果它在監獄外而不是在jaui內編譯,我已經安裝了mysql和其他庫。
抱歉給你帶來不便。
ps:您應該將指南中我告訴您的有關centos =)問候中使用的命令的內容放入指南中。
看,當我告訴您找不到命令(如此處)時,第一件事就是找到命令:
whereis expr
找到後(/ usr / bin / expr和/ usr / bin / X11 / expr),我們使用jk_cp copy將其複製到Jail中。
試試看。
是的,我已經編輯了帖子,並補充說它可以在Centos中使用😀
非常感謝您(:
感謝您的輸入...
你好你好嗎?
他媽的老兄! 來自智利的問候。 你和我一樣放屁! 大聲笑!。 擁抱您的帖子對我有很大幫助!
謝謝您的評論😀
非常感謝您的帖子,它對我有很大幫助,但不幸的是
//////////////////////////////////////////////////// //// //////////////////////////////////////////////// //////// //////////////////////
我們必須編輯籠子的文件etc / passwd,在這種情況下,它將是/ opt / jail / etc / passwd,在其中註釋我們創建的用戶行,並添加一個新的文件,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
換句話說,passwd文件如下所示:
根:X:0:0:根:/根:/斌/慶典
#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
kira:x:1003:1003 :: / home / kira:/ bin / bash
//////////////////////////////////////////////////// //// /////////////////////////////////////////////
它導致我同樣的錯誤,我的意思是,我將其保留原樣,並且在連接、、、 ..時從終端引導我,在該行中添加註釋,並按您的指示再添加一個修改它,並且靴我...。
安裝最新版本“ jailkit-2.16.tar”,甚至創建腳本來節省時間,如下所示:
//////////////////////////////////////////////////// //// ////////////////////////////////////////////////
#!/斌/慶典
wget的 http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar -zxvf jamkit-2.16.tar.gz
cd監獄工具包2.16
/配置
使
使安裝
出口
////////////////////////////////////////////// //////////////////////////
顯然首先他們以“ root”身份登錄...
我該如何解決錯誤朋友?
抱歉,我已經知道了,我在Home文件夾上犯了一個錯誤,但是我有一個很大的疑問,如何獲取它才能執行“ screen”命令,我嘗試使用它(在受限制的用戶中) ,但它不起作用...另一件事是,如何讓這個被關進籠子的用戶在他剛放在家裡的exe上運行wine程序?
你好,很好的兔兔! 我是這些環境的新手,我有一個問題...
至於安全性,我看到它的根部有很多文件夾,這是否必要? 我只希望他可以訪問他的文件夾(ftp-upload和ssh-execute),以便他可以運行應用程序,他可以從根目錄中刪除哪些文件夾? 還是對我構成任何危險? 預先感謝您的幫助,問候!
@ KZKG ^ Gaara,謝天謝地,您提出了喘息的錯誤,但對於jailkit-2.16.tar.gz版本,您建議他們對其進行修復。
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
我想我會將其傳遞給PDF,jojo ..傳遞給籠子,謝謝wn😀
問候朋友,我有一個問題:
假設我們有一個名為“ test”的用戶。
問題是,位於該用戶主目錄中的文件/home/test/.ssh/known_hosts是該文件,還是沒有將該文件籠中的用戶?
嘗試這個。 使用此方法可以將導航限製到其他用戶的其他住所。
首先,感謝您的帖子! 對我來說非常有用; 但我有兩個疑問,這些疑問是由我的情況引起的:
我需要創建N個用戶,這些用戶可以對其家進行獨立和私有訪問,每個用戶只能訪問其家以存儲,修改和刪除其中包含的文件,而無需四處移動(我已經知道了這一點)。 它不需要通過ssh訪問。
1.您是否必須為每個用戶創建一個框架,或者是否可以將不同的用戶放在同一個框架中,但是每個用戶都有其“私有”目錄?
2.當訪問(通過FTP客戶端)由工具創建的所有目錄時,是否可以通過一種干淨的方式顯示該文件夾? 還是我一路上做錯了什麼?
優秀的教程! 這對我有很大的幫助,我正在Ubuntu 2.17上的14.04版中對其進行測試,並且效果很好。 現在,我面臨以下挑戰,將用戶關進籠子,使其無法移動到任何路徑後,我希望他只能看到另一個路徑中文件的內容。 我嘗試了符號鏈接,但是當嘗試在該文件上添加尾巴或貓時,它告訴我該文件不存在,儘管與用戶訪問時可以在籠子的首頁中列出該文件。
如果您能幫助我,我將非常感謝,在此先感謝您
您好,我已經按照整本手冊進行操作,使用ssh登錄時,它會自動關閉,並顯示以下信息:
4月19日20:09:27701 toby sshd [172.16.60.22]:從62009端口2 sshXNUMX接受的測試密碼
4月19日20:09:27701 toby sshd [0]:pam_unix(sshd:會話):會話已打開,供用戶測試(uid = XNUMX)
4月19日20:09:27864 toby jk_chrootsh [1004]:現在輸入帶有參數的用戶測試(XNUMX)的jail / opt / jail
4月19日20:09:27701 toby sshd [XNUMX]:pam_unix(sshd:會話):會話已關閉,供用戶測試
謝謝
當我執行向用戶授予ssh訪問權限的最後一步時,它仍然關閉了連接🙁
此創建的用戶可以更改為root用戶嗎? 您的根? 它不讓我。 會怎麼樣?謝謝您的幫助
非常感謝您的教程,我需要它來創建一個用戶,該用戶可以使用clonezilla製作映像並將其複製到外部服務器,但無法在任何需要的地方聚集
好! 我將需要知道一些事情。
是否可以使用FTP並具有這些權限以ROOT身份輸入,通過FTP而不是SSH進行管理? 假設您創建了一個連接,隧道樣式之類的東西,它是如何做到的? 配置VSFTPD文件?
謝謝!