HOME > 이용안내
이용안내
 
작성일 : 19-06-30 14:13
[리눅스서버] SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기
 글쓴이 : 제이네트워크
조회 : 31,655  

SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기


일반적으로 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가
   적용 된 것을 확인할 수 있습니다.






Cloud server Streaming service Domain Cloud Firewall

 
 

Total 377

번호 제   목   글쓴이 날짜 조회
137 [윈도우서버] windows 2008/2012 서버 셋팅후 403 forbbiden 에러시 제이네트워크 2015-07-22 31910
136 [메뉴얼] MS 아웃룩메일 설정법 제이네트워크 2011-05-26 31906
135 [윈도우서버] Windows Server 2008/2012 (64bit OS) - IIS7에서 32bit ASP 응용프로그램 사용법 제이네트워크 2015-04-27 31856
134 [리눅스서버] 스왑메모리 초기화 혹은 swap 메모리 관리 제이네트워크 2016-05-13 31842
133 [리눅스서버] 리눅스에서 파일 인코딩 확인하기 및 변환하기(iconv 명령) utf-8 ↔ euc-kr 제이네트워크 2017-06-27 31827
132 [윈도우서버] [windows2008] SQL Server 액세스를 허용하도록 Windows 방화벽 구성 제이네트워크 2015-05-04 31754
131 [리눅스서버] 리눅스 메인보드 교체후 네트워크 재설정 제이네트워크 2019-07-04 31751
130 [DB] [Mysql] MYSQL-InnoDB-데이터-복구-방법 제이네트워크 2016-12-11 31730
129 [스크립트언어] 아이온큐브 라이브러리 사용후 아파치에러 관리자 2011-05-16 31710
128 [기타] [XE 1.8 설치시 에러]XE cannot connect to DB 제이네트워크 2015-04-11 31664
127 [리눅스서버] SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기 제이네트워크 2019-06-30 31656
126 [리눅스서버] [zip모듈 추가설치]php 컴파일 없이 zip 모듈 추가 설치 제이네트워크 2017-08-30 31630
125 [메뉴얼] 곰인코더 메뉴얼 제이네트워크 2011-05-23 31604
124 [DB] mysql sleep 프로세서 없애기 관리자 2011-05-17 31521
123 [리눅스서버] CentOS7 SSH 접속포트 변경과 방화벽 오픈 제이네트워크 2018-12-10 31516
122 [DB] MYSQL 자료의 이전과 database dump 관리자 2011-06-17 31488
121 [메뉴얼] TYAN IKVM Menual 제이네트워크 2014-03-31 31444
120 [스크립트언어] [PHP] checking lex output file root... ./configure: line 2554: lex: command not found 컴파일에… 관리자 2011-06-17 31442
119 [wowza] Wowza Media Server 3.5.2 리눅스(윈도우동일) RPM버전 디렉토리 구조 제이네트워크 2013-03-19 31417
118 [리눅스서버] [ 우분투정리 ubuntu ] 제이네트워크 2016-10-25 31394
117 [윈도우서버] [asp]windows2003 IIS6.X 설정백업 제이네트워크 2014-12-09 31389
116 [윈도우서버] [iis7.x ASP 에러] An error occurred on the server when processing the URL 제이네트워크 2015-05-04 31348
115 [스크립트언어] [ASP] ASP에서 글 내용 한줄씩 프린트 하기 관리자 2011-06-17 31311
114 [메뉴얼] windowsmediaplayer 인코더 제이네트워크 2011-05-23 31303
113 [리눅스서버] [named] dig 명령어 사용법 제이네트워크 2015-02-14 31261
112 [DB] Can't find file: './mysql/***.frm' (errno: 13)문제 관리자 2011-06-17 31169
111 [DB] [mysql]설치시 에러 - No curses/termcap library found 제이네트워크 2013-01-07 31104
110 [리눅스서버] [우분투]ubuntu 15.10 서버 네트워크 설정 및 ufw 방화벽 제이네트워크 2016-03-24 31094
109 [리눅스서버] [apache] mod_ruid2 모듈 설치시 에러 mod_ruid2.c:45:28: error: sys/capability.h: No such file … 제이네트워크 2015-11-06 31090
108 [리눅스서버] centos7 에서 서비스(Vsftp) 시작 명령어 관련 제이네트워크 2017-05-16 31077
107 [리눅스서버] [아파치conf 비교]apache2.2.x 와 apache-2.4.x 의 차이점 제이네트워크 2019-10-13 31018
106 [리눅스서버] 리눅스에서 공백이 포함된 디렉토리 처리 제이네트워크 2016-07-26 30924
105 [메일] [sendmail]센드메일 버전체크 하기 (리눅스서버에서) 제이네트워크 2017-04-04 30902
104 [기타] 영상샘플 제이네트워크 2015-02-11 30838
103 [리눅스서버] 리눅스서버에서 chracterset 을 맞출려고 할 때 제이네트워크 2015-08-25 30677
102 [리눅스서버] vsFTPd 사용시 디렉토리 목록 조회가 안될때 제이네트워크 2017-10-30 30673
101 [리눅스서버] 리눅스 root 패스워드 재설정 관리자 2011-06-17 30658
100 [리눅스서버] 리눅스에서 CPU 정보 및 CPU 코어개수, 물리 CPU 수를 확인하는 방법 제이네트워크 2017-04-27 30634
99 [메일] [sendmail]메일 수발신이 느릴때 (sendmail이 정상동작 하나 느리게 작동할 때) 제이네트워크 2015-09-22 30590
98 [DB] [mysql] mysql 에서 캐릭터셋(characterset) 설정 확인 제이네트워크 2013-08-06 30579
 1  2  3  4  5  6  7  8  9  10