Linux ETC

 일반적으로 SFTP 사용하게 되면 FTP와는 다르게 root 권한을 가지고 있지 않은 일반계정으로도 SFTP 사용하여 접속하게 되면 접속폴더 상위의 폴더까지 접근이 가능합니다. 개인이 혼자서 사용하는 서버라면 상관없겠지만, 호스팅 서비스를 하거나 여러 사용자들이 접속할 있는 서버라면 사용자들 간에 격리가 필요합니다. 그렇지 않다면 사용자 누구나 루트폴더에 접근할 있기 때문에 보안, 해킹에 취약한 단점이 있습니다.

 

, 상위폴더로 접근할 없게 설정하는 방법으로는 2가지가 있습니다.

첫번째로는 상위 폴더로 접근할 없게 퍼미션을 조정하는 방법이 있고, 두번째로는 SFTP에서 chroot 기능을 이용하여 사용자의 폴더를 root 폴더로 지정하는 방법이 있습니다.

 


1. 퍼미션 조정

 - chmod 이용하여 주요한 폴더들의 권한을 711 부여하여 접근을 제어

 , chmod 711 /home

     chmod 711 /etc ..

 

 

2. chroot 설정

 - chroot 임시로 루트 디렉토리를 설정하는 명령어로, 일반적인 루트 디렉토리가 아닌 다른 디렉토리(, /etc, /home ..) 임시로 루트 디렉토리인 것처럼 설정할 있습니다. , 주의할 점은 chroot 설정한 계정 또는 그룹은 ssh 사용할 없습니다.

   설정방법은 아래와 같습니다.

 

  . ssh 설정 변경

   # vi /etc/ssh/sshd_config

     -> Subsystem sftp /usr/lib/openssh/sftp-server     : 주석처리

     -> Subsystem sftp internal-sftp     : 추가

  ㄴ. 문서 마지막에 Match 구문 추가(user : test)

     -> Match User test

    ChrootDirectory /home/test

            ForceCommand internal-sftp

            X11Forwarding no

           AllowTCPForwarding no

   , ChrootDirectory 반드시 홈디렉토리가 아닌 다른 디렉토리를 지정해도 상관없습니다.

   # service sshd restart

 

  ㄷ. chroot 적용된 디렉토리의 소유자를 root 변경해야 접속이 가능합니다.

   # chown root /home/test

   또한 해당 계정의 권한도 755 변경합니다.

   # chmod 755 /home/test

 

  이렇게 설정한 test 계정으로 SFTP 접속해도 쓰기 권한을 가지고 있지 않기 때문에 디렉토리 내에서는 아무런 활동을 없기 때문에 접속이 되지 않습니다. 이런 경우 /home/test 안에 임의의 폴더를 생성하여 해당 폴더에 쓰기권한을 부여해주는 방법이 있습니다.

   # mkdir www(임시 디렉토리)

   # chown root:test /home/test/www

   # chmod 775 /home/test/www     : 쓰기 권한 부여

 

   이렇게 설정하게 되면 test 계정으로 SFTP 접속하게 되면 /home 디렉토리 상위폴더로 접근 불가능 chroot 적용 것을 확인할 있습니다.

번호 제목 글쓴이 날짜 조회 수
166 리눅스에서 Which 명령어로 명령어 경로 확인 호스트웨이 2012.07.13 14959
165 리눅스에서 서버 호스트네임 관리 호스트웨이 2012.07.13 21205
164 데비안에서 CPU 온도 확인 해보기-lm_sensors 호스트웨이 2012.07.13 20446
163 ALERT! /dev/disk/xxxx Does not exist. Dropping to a shell 문제 해결 호스트웨이 2012.07.06 17312
162 IBM Integrated Management Module 로그인 정보 호스트웨이 2012.07.06 16182
161 XFS파일 장점및 단점 호스트웨이 2012.07.06 25482
160 Linux 계정 정보 관리 파일 호스트웨이 2012.07.06 17984
159 리눅스 로그파일의 종류 호스트웨이 2012.07.06 18243
158 리눅스 로그인 메시지 출력 file 호스트웨이 2012.07.06 17108
157 리눅스에서 shutdown 명령어 사용하기 호스트웨이 2012.06.29 28860
156 리눅스 압축 명령어 tar 호스트웨이 2012.06.29 17721
155 xinetd 소개 및 설정 호스트웨이 2012.06.29 51913
154 시스템내에서 하드 용량이 다르게 보이는 이유 호스트웨이 2012.06.29 16433
153 find 명령 사용 예제들 호스트웨이 2012.06.29 14966
152 특정 IP 엑세스 못하게 하는방법 호스트웨이 2012.06.22 14454
151 리눅스에서 pkill, pgrep 명령어 사용하기 호스트웨이 2012.06.22 28522
150 리눅스 ls 디렉토리 혹은 파일 별 출력하기 file 호스트웨이 2012.06.22 26086
149 EXT3-fs warning: maximal mount count reached, running e2fsck is recommended 해결 호스트웨이 2012.06.22 19133
148 L4 로드밸런서 알고리즘 호스트웨이 2012.06.22 19389
147 Ext2Fsd 를 이용하여 윈도우즈 PC에서 리눅스 파티션 읽기 file 호스트웨이 2012.06.15 20361