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

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 385

번호 제   목   글쓴이 날짜 조회
65 [DB] [mysqldump 에러] Got errno 28 on write 발생시 제이네트워크 2016-03-29 37780
64 [윈도우서버] [iis 7.5] 한글도메인 입력 ( 값이 예상 범위를 벗어났습니다 ) 에러시 제이네트워크 2016-08-26 37776
63 [리눅스서버] 아파치서버에서 동시접속자 수를 알아보려고 할 때 제이네트워크 2020-12-19 37629
62 [리눅스서버] cband 설치 제이네트워크 2016-11-30 37483
61 [DB] [mysql] 테이블 복사하기 (데이타포함, 비포함) 제이네트워크 2015-04-28 37470
60 [리눅스서버] Apache서버에 mod_url 추가 설치 제이네트워크 2020-12-19 37460
59 [리눅스서버] Cronlog 설정 하는 법 제이네트워크 2020-12-19 37427
58 [PHP] php 에러시 Warning: date(): It is not safe to rely on the system's timezone settings 제이네트워크 2016-02-03 37370
57 [DB] mysql 컴파일 시 LinuxThreads not found 발생할 경우 관리자 2011-06-17 37366
56 [DB] [mysql]mysqldump 로 백업시 lock table 에러로 백업이 안되는 경우 제이네트워크 2015-09-17 37277
55 [메일] 센드메일-아웃룩에러 중 다른메일메세지가 배달중이거나... 제이네트워크 2015-11-03 37194
54 [DB] 서버이전 - mysql 버전 문제로 인한 암호화 방식 해결 방안 관리자 2011-06-17 37108
53 [기타] 그누보드4(EUCKR)에서 그누보드5(UTF8)로 데이타이전 하기 제이네트워크 2020-06-28 36971
52 [기타] [리눅스에러] /bin/sh^M: bad interpreter: No such file or directory 제이네트워크 2017-06-26 36860
51 [윈도우서버] 윈도우서버 IIS7.5 다운로드 업로드 용량 늘리기 제이네트워크 2018-12-13 36824
50 [기타] 크롬브라우저에서 플래시 항상허용후 설정값 저장하는 방법 제이네트워크 2018-12-01 36666
49 [DB] phpMyAdmin 4.x 버전에서 필요없는 에러메세지 없애는 방법 제이네트워크 2016-02-01 36399
48 [DB] mysql 패스워드 분실시 재설정 방법 관리자 2011-05-17 36084
47 [기타] tar 특정폴더에 압축을 풀어야 할 경우 사용 옵션 제이네트워크 2016-05-10 35972
46 [윈도우서버] Windows 10 자동 업데이트 완전 끄기 제이네트워크 2019-01-11 35900
45 [리눅스서버] 리눅스 에서 Apche / php / mysql 컴파일 옵션 확인하기 제이네트워크 2015-12-09 35762
44 [리눅스서버] Centos7 에서 SQLSRV / PDO_SQLSRV 모듈 추가 설치 제이네트워크 2021-08-26 35756
43 [DB] [mysql] Mysql 에러코드 중에 (Got error 134 from storage engine) 나올때 처리법 제이네트워크 2015-06-04 35564
42 [DB] [Mysql] mysql 엔진 Myisam 을 Innodb로 변경하는 방법 제이네트워크 2016-12-11 35504
41 [DB] [MS-SQL 쿼리] 해당 컬럼을 NULL 값으로 변경하고자 할때 제이네트워크 2016-08-23 35222
40 [메일] [sendmail] 메일발송이 안될 때 (오류 Relaying temporarily denied. Cannot resolve PTR recor… 제이네트워크 2020-07-15 35073
39 [DB] [Mysql] show processlist 계속 보기 제이네트워크 2016-12-10 34963
38 [기타] ESXi 호스트의 root 로 접근이 불가능한 이슈 제이네트워크 2021-04-08 34595
37 [DB] [Mysql] mysql 기본 스토리지 엔진확인 제이네트워크 2016-12-10 34303
36 [DB] MSSQL2016 에서 서버유지관리/ 백업스케쥴 실행시 에러가 날때 제이네트워크 2019-08-22 34140
35 [DB] mysql 데이타베이스에서 max_connection 늘려주기 관리자 2011-05-17 34059
34 [DB] MSSQL 1씩 자동증가값 제어(ID 사양 변경 안될 경우) 제이네트워크 2019-01-30 33935
33 [DB] MSSQL SERVER 테이블변경시 제한시간이 만료되었습니다. 라는 에러발생시 제이네트워크 2019-01-30 33779
32 [DB] mysql-5.7.x 이상 버전에서 비번 변경 후 에러가 나올 때 제이네트워크 2019-01-22 33563
31 [메일] Centos7 sendmail설치 제이네트워크 2021-09-09 33448
30 [PHP] php7에서 opcache 사용하기 제이네트워크 2017-04-27 33255
29 [리눅스서버] 리눅스서버에서 아파치웹 서버 / php 버전 노출방지 제이네트워크 2021-07-19 33021
28 [메일] [Sendmail 스팸 IP ADDRESS 체크] 제이네트워크 2020-12-20 32791
27 [PHP] php-5.5.x 아래 버전에서 Zend Opcache 설치 제이네트워크 2017-04-27 32643
26 [PHP] 그누보드5 서버이전 후 글 작성 및 member가입 작성안되는 경우 제이네트워크 2019-04-24 32641
 1  2  3  4  5  6  7  8  9  10