SFTP 전용 사용자를 만들고 특정 디렉토리만 업데이트할 수 있도록 제한

3489 단어 AWS

이게 뭐야



SFTP 전용 사용자를 만들고 특정 디렉토리만 업데이트할 수 있도록 제한해 보았으므로 메모를 여기에 남깁니다.
FTP 소프트웨어는 Cyberduck를 사용합니다.

요구사항



sftp-user 만들기
/home/sftp-user 아래의 파일만 조작할 수 있도록(chroot한다)
그러나/var/www/html/hoge 만 업데이트 할 수 있도록 만들고 싶습니다.

해봤어



사용자 작성
useradd sftp-user

httpd install
yum -y install httpd

sftp-user가 업로드한 파일을 아파치가 움직일 수 있도록 한다.
gpasswd -a apache sftp-user

SSH directory 작성
cd /home/sftp-user
mkdir .ssh
chmod 700 .ssh

키 생성
sudo su - sftp-user
cd .ssh
ssh-keygen 
key name : sftp-user

루트로 돌아가기
exit

공개 키의 이름과 권한 변경
mv sftp-user.pub authorized_keys
chmod 600 authorized_keys

copipe로 저장
cat sftp-user 
(pemファイル)

sftp-user로 로그인 가능한지 확인
(bastionにて)
vi sftp-user.pem
コピペ内容貼り付け
ssh -i sftp-user.pem  sftp-user @Private IP

sftp-user를 파일 전송 전용 사용자로 만들기
vi /etc/ssh/sshd_config

# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
  ↓

# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

ファイルの末尾に、以下を追記。

Match User sftp-user
        ChrootDirectory /home/sftp-user
        ForceCommand internal-sftp

특정 디렉토리를 다른 디렉토리에 마운트
/var/www/html 디렉토리의 내용은 두 위치,/var/www/html 및/home/sftp-user/hoge/에서 사용할 수 있습니다.
mount -B /var/www/html /home/sftp-user/hoge/

/home/sftp-user 디렉토리의 소유자 및 권한 변경
chown root:root /home/sftp-user
chmod 755 /home/sftp-user

사용자 디렉토리 내에 디렉토리를 작성하고 사용자가 소유
mkdir /home/sftp-user/hoge
chown sftp-user:sftp-user /home/sftp-user/hoge
chmod 775 /home/sftp-user/hoge

sshd를 다시 시작하고 설정을 반영
sshd -t
エラーがなければ再起動
service sshd restart

sftp 명령으로 전송합니다.
(hoge directoryにcdしなければ、putは失敗した。)

sftp -i sftp-user.pem sftp-user@踏み台の先のEC2 Private IP
Connected to XXX
sftp> cd /hoge/
sftp> put XXX.jpeg 
Uploading XXX.jpeg to /hoge/XXX.jpeg
XXX.jpeg                                                                                                                                                        100%   11KB  20.3MB/s   00:00    
sftp> exit

/var/www/html配下に移動できているか確認

ls -la /var/www/html/XXX.jpeg 
-rwx------. 1 sftp-user sftp-user 11136 Sep 13 09:56 /var/www/html/XXX.jpeg

일단 포트 포워딩을 수행하여 파일 전송이 가능한지 확인
ポートフォワーディング
ssh -f -N -L 10220(任意):踏み台の先のEC2 Private IP:22 -i 秘密鍵 踏み台OSユーザー@踏み台Public IP

FTP 소프트웨어로 연결하고 파일 전송.



총괄



좀처럼 안전한 환경이 생긴 것이 아닐까요. (코나미)

참고


https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/5/html/global_file_system_2/s1-manage-pathnames
https://lab.taf-jp.com/sftp%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E8%BB%A2%E9%80%81%E7%94%A8%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B/
https://cloudpack.media/14365

참고로 했습니다. 감사합니다.

좋은 웹페이지 즐겨찾기