우리 세상에는 많은 비밀이 있습니다. 솔직히 저는 그것들의 대부분을 알만큼 충분히 배울 수 있다고 생각하지 않습니다. 이것은 Linux가 우리가 그렇게 많은 것을 할 수 있도록 허용한다는 단순한 사실에 의해 주어집니다. 우리가 그들 모두를 알기 어렵습니다.
이번에는 많은 네트워크 또는 시스템 관리자가 수행해야하는 매우 유용한 작업을 수행하는 방법을 설명 할 것이며,이를 달성하기위한 매우 간단한 방법을 찾기가 어려웠습니다.
SSH를 통해 연결하는 사용자를 케이지하는 방법
새장? … WTF!
예, 어떤 이유로 든 우리 친구에게 컴퓨터 (또는 서버)에 대한 SSH 액세스 권한을 부여해야하는 경우 항상 컴퓨터 또는 서버의 보안과 안정성을 관리해야합니다.
최근에 우리 서버에 대한 페르세우스 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 /에서 만들었고 "감옥"이라고 명명 했으므로 경로는 다음과 같습니다. / 선택 / 감옥 :
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로 연결할 수 없기 때문에 너무 갇혀 있습니다.
8. 사용자가 연결할 수 있도록하려면 한 단계 더 수행해야합니다.
우리는 케이지의 etc / passwd 파일을 편집해야합니다. 즉,이 경우에는 / 선택 / 감옥 / etc / passwd , 그 안에 우리가 만든 사용자 줄에 주석을 달고 다음과 같은 새 줄을 추가합니다.
kira : x : 1003 : 1003 :: / 집 / kira : / bin / bash
즉, 다음과 같은 파일을 갖게됩니다. passwd:
root : x : 0 : 0 : root : / root : / bin / bash
#kira : x : 1003 : 1003 : ,,, : / opt / 감옥 /./ 집 / kira : / usr / sbin / jk_lsh
kira : x : 1003 : 1003 :: / 집 / kira : / bin / bash
중복된 구두점 등에 주의하세요. 하나도 놓치지 않는 것이 중요합니다
이렇게 하면 사용자는 문제 없이 입장할 수 있습니다
그리고 그게 전부입니다.
이 모든 작업에 사용하는 도구 (감옥) 백엔드에서 사용 chroot, 이는 실제로 거의 모든 튜토리얼에서 사용되는 것입니다. 그러나 JailKit을 사용하면 케이지를 더 쉽게 만들 수 있습니다
누군가 문제가 있거나 문제가 발생하면 가능한 한 많은 세부 사항을 남겨주세요. 나는 내 자신을 전문가라고 생각하지 않지만 최대한 당신을 도울 것입니다.