Skip to content

조회 수 20805 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
vsftpd 설치

리눅스의 ftp는 vsftpd 와 proftp가 vsftp가 보안성이 우수하며 사용하기 좋다.
vsftp는 인증용으로 21번 포트를 사용하며 인증이 확인 되었을때 서버용으로 20번 포트를 사용한다. 이때 클라이언트의 임시 포트는 1024 이다.

# wget ftp://ftp.superuser.co.kr/fedora/core4/i386/RPMS/vsftp* -P /usr/local/src
   -> 슈퍼유저 ftp서버에서 vsftp로 시작하는 모든파일 /tmp 디렉터리로 다운로드

# cd /usr/local/src

# rpm -ivh vsftpd-2.0.3-1.i386.rpm
   -> 설치

# rpm -ql vsftpd
   -> 설치 후 vsftpd패키지가 설치한 파일및 디렉터리를 볼수있다.



vsftpd 설정

/etc/rc.d/init.d/vsftpd
서버실행스크립트로서 모든 rpm패키지는 /etc/rc.d/init.d 에 패키지명으로 생성된다.
이 것을 실행하게되면 스크립트가 읽혀지면서 /usr/sbin/vsftp를 실행하게된다.

# /etc/rc.d/init.d/vsftp restart 로 실행시키는 방법과
# service vsftpd restart 이런 방법이있다.
# service 는 rpm 패키지를 실행시킬때 사용하는 명령어이다.


/etc/vsftpd/ftpusers
ftp 로그인을 허락하지 않은 유저들의 정보가 들어있다.
/etc/passwd 파일의 uid 0~100에 해당하는 유저들이다.
root, bin, daemon, adm, lp, sync, shutdown, halt, mail, news, uucp, operator, games, nobody
이사용자는 기본적으로 ftp의 유저로 등록된사용자이다.

설정파일에서
userlist_enable=YES // 유저리스트( /etc/vsftpd/user_list )를 활성화시키고
userlist_deny=NO   // 거부자목록으로 쓰지 않으면 유저리스트에 등록된 사용자는 ftp 사용이 가능하다.
                                          유저리스트에 등록되있더라도 /etc/vsftpd/ftpusers에 등록된사용자는 접속이 불가능 하다.
                                          위와 같이 설정을 해주고 ftpusers에서 root를 삭제하면 root로도 ftp 접속 할 수 있다.

/etc/vsftpd/user_list 에 등록된 사용자는 접속 거부/승인 목록이 될수있고,
/etc/vsftpd/ftpuser 에 등록된 사용자는 user_list에 상관 없이 접속 할 수 없다. 
root등의 사용자는 보안을 위해 접속을 허용하지 않은 것이다.


/etc/vsftpd/vsftpd.conf
설정파일이다.

-----------------------------------------------------------------------------------
anonymous_enable=YES
익명계정(ftp, anonymous) 사용여부를 정한다.
-----------------------------------------------------------------------------------
local_enable=YES
/etc/passwd 에 등록된 사용자 사용여부를 정한다.
-----------------------------------------------------------------------------------
local_umask=022
디렉터리나 파일생성시 권한을 정한다.
파일   rw- r-- r-- (644) =>파일의 최대값(666) - umask(0022)
디렉토리 rwx r-x r-x (755) =>디렉토리의 최대값(777) - umask(0022)
-----------------------------------------------------------------------------------
anon_upload_enable=YES
익명계정으로 업로드 가능여부를 정한다. 일반적으로 업로드권한을 주지않는다(주석처리 또는NO)
-----------------------------------------------------------------------------------
anon_mkdir_write_enable=YES
익명계정으로 디렉터리생성 가능여부를 정한다. 일반적으로 쓰기권한을 주지않는다(주석처리 또는 NO)
-----------------------------------------------------------------------------------
dirmessage_enable=YES
메세지를 보기 기능여부를 정한다.
-----------------------------------------------------------------------------------
xferlog_enable=YES
로그 파일 사용여부
-----------------------------------------------------------------------------------
connect_from_port_20=YES
ftp 인증시 어떤 포트를 쓸 것인지 정함
-----------------------------------------------------------------------------------
xferlog_file=/var/log/vsftpd.log
로그파일 저장 위치
-----------------------------------------------------------------------------------
xferlog_std_format=YES
YES 표준수집방식
NO vsftpd에서 제공하는 자세한 방식
-----------------------------------------------------------------------------------
idle_session_timeout=600
지정한시간(초)동안 아무런 입력이 없을때 접속을 해제시킨다.
-----------------------------------------------------------------------------------
data_connection_timeout=120
다운로드 시작시간부터 지정한시간(초)동안 완료 하지않으면 접속을 해제시킨다.
-----------------------------------------------------------------------------------
ascii_upload_enable=YES
ascii_download_enable=YES
아스키모드는 어떤 파일을 텍스트형식으로 업/다운로드 하는것
바이너리모드는 실행가능한 형태로 업/다운로드
-----------------------------------------------------------------------------------
ftpd_banner=Welcome to blah FTP service.
접속시 뜨는 메세지이다. 보안을 위해서 무조건 활성화 해야한다.
활성화 시키지 않으면 버전 정보(vsFTPd 2.0.3)를 출력한다. os 정보 및 취약점을 알수있으며 포트스캔및 버퍼오버플로우가 가능하다.
-----------------------------------------------------------------------------------
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
거부정보를 이메일로 받을건인지를 정하고 이메일주소 설정을 해준다. 메일서버가 구성되어있어야 한다.
-----------------------------------------------------------------------------------
익명계정으로 로그인을 하게되면 디렉터리의 위치는 가상루트  /  ( /var/ftp , chroot) 로 접속하게된다.
하지만 사용자는 가상루트의 적용을 받지 않고 따로 지정해주어야한다.
사용자를 가상루트의 경로에 접속시키지 않으면 일반적인 사용자는 모든 디렉터리 및 파일에 대하여 r 권한을 갖고 있기때문에 다운로드가 가능하다.
( /etc/shadow -r-------- 제외) 보안상 위험하기때문에 가상루트를 적용시켜야한다.
-----------------------------------------------------------------------------------
chroot_local_user=YES
/etc/passwd 에 등록된 사용자가 vsftp접속시 위치를 가상루트 / ( /home/사용자 )로 표시한다.
-----------------------------------------------------------------------------------
chroot_list_enable=YES
가상루트 목록을 활성화 시킬것인지 정한다.

chroot_local_user 에 반대 되는 개념으로

가상루트를 활성화(chroot_local_user=YES)시켰을때,
chroot_list_enable=YES 리스트를 활성화 목록에서 제외 =>리스트 비활성화
chroot_list_enable=NO ll리스트를 활성화 목록에서 포함 =>리스트 활성화

가상루트를 비활성화(chroot_local_user=NO)시켰을때,
chroot_list_enable=YES 리스트를 비활성화 목록에서 제외 =>리스트 활성화
chroot_list_enable=NO ll리스트를 비활성화 목록에서 포함 =>리스트 비활성화
-----------------------------------------------------------------------------------
chroot_list_file=/etc/vsftpd/chroot_list
지정한 위치에 파일을 생성하고 편집기를 이용해서 적용시킬 사용자를 입력시킨다.
디렉터리 위치는 임의로 정해도 되나 알기쉽게 설치한 패키지가 위치한 곳에 저장하는것이 좋다.
-----------------------------------------------------------------------------------
userlist_enable=YES
/etc/vsftpd/user_list 에 등록된 사용자를 활성화 시킬것인가
(NO일 경우 local_enable=YES 이면 /etc/passwd 에 등록된 사용자 활성화)

userlist_deny=NO
/etc/vsftpd/user_list 에 등록된 사용자를 거부목록으로 사용할것인지를 정한다.
NO : 파일에 등록된 사용자의 접속만 허락한다.
YES : 파일에 등록된 사용자의 접속을 거부한다.
이거에 상관없이 /etc/vsftpd/ftpuser 에 등록된사용자는 무조건 접속을 거부 한다.
/etc/vsftpd/user_list는 기본값이고 userlist_file=파일명으로 지정해주어도 된다.
-----------------------------------------------------------------------------------
local_max_rate=5000000
시스템계정에서 최대 업/다운로드 용량(바이트)
anon_max_rate=500000
익명계정에서 최대 업/다운로드 용량(바이트)
max_clients=3
최대접속가능한수
max_per_ip=2
동일한 아이피에서 서버 접속수를 전부 써버릴수있기때문에 ip의 최대 접속가능한수를 정해준다.



[출처]
LINUX Service [ vsftp ]|작성자 ryucsion

  1. ftp를 이용한 자동 백업 설정

    Date2008.12.14 ByADMINPLAY Views20883
    Read More
  2. Proftp - Passive Port 설정

    Date2008.11.04 ByADMINPLAY Views17132
    Read More
  3. proftpd - ( proftpd.conf )설정파일 설명

    Date2008.12.04 ByADMINPLAY Views22740
    Read More
  4. sftp 는 ssh 데몬에서

    Date2009.11.24 ByADMINPLAY Views19485
    Read More
  5. sftp-server 로깅 설정하기

    Date2012.09.11 ByADMINPLAY Views12287
    Read More
  6. Ubuntu 의 vsftpd 에서 root 접속 허용하기

    Date2013.03.05 ByADMINPLAY Views13417
    Read More
  7. useradd (환경설정파일)

    Date2008.12.14 ByADMINPLAY Views22553
    Read More
  8. useradd 에서 --stdin 옵션

    Date2009.08.18 ByADMINPLAY Views19262
    Read More
  9. Vsftp - Passive Port 설정

    Date2008.11.04 ByADMINPLAY Views22073
    Read More
  10. vsftp 설치 및 속성설명

    Date2009.01.05 ByADMINPLAY Views20805
    Read More
  11. vsftpd.conf 의 주요 설정

    Date2009.07.18 ByADMINPLAY Views18010
    Read More
  12. xferlog 의 각각의 항목

    Date2009.11.26 ByADMINPLAY Views18429
    Read More
  13. yum 서버를 다음으로 (daum)

    Date2012.06.26 ByADMINPLAY Views15238
    Read More
  14. yum 을 이용한 rpm 패키지 다운로드 방법

    Date2014.03.27 ByADMINPLAY Views5995
    Read More
  15. [Linux] sftp 서비스 막기

    Date2009.11.24 ByADMINPLAY Views19405
    Read More
  16. [리눅스]scp, sftp

    Date2009.11.24 ByADMINPLAY Views25042
    Read More
  17. 업로드한 시간과 실제시간과 틀릴경우

    Date2009.05.07 ByADMINPLAY Views18980
    Read More
  18. 일반계정의 ftp 웹으로 접속하기

    Date2009.01.05 ByADMINPLAY Views22928
    Read More
  19. 황당한 정보 1개.리눅스 시스템에서 한 디렉토리내 서브 ...

    Date2012.10.25 Byl2zeo Views10191
    Read More
Board Pagination Prev 1 Next
/ 1

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234