본문 바로가기

SYSTEM/LINUX

proftpd 인스톨, 설정

소스파일다운로드
# mkdir /usr/local/src/ftpd
# cd /usr/local/src/ftpd
# lftpget ftp://ftp.proftpd.org/.....에서 다운로드

압축을 풀고 인스톨한다.(경로 지정)
# mkdir /usr/local/server
# mkdir /usr/local/server/proftpd

# tar xvzf proftpd.tar.gz
# ./configure --prefix=/usr/local/server/proftpd --enable-autoshadow --enable-shadow
(--enable-autoshadow, --enable-shadow 옵션은 ftp사용자가 접속할때 자동으로 시스템의 shadow패스워드를 사용해 인증을 하도록한다는 옵션으로 함께 사용하라고 알려주고 있다.)
# make && make install

환경설정 파일 수정
# vi /usr/local/server/proftpd/etc/proftpd.conf
기본 설정에서 :30번에 nogroup를 nobody로 수정(기본값)

방화벽수정(iptables)
21번 포트를 추가
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

데몬 실행
# /usr/local/server/proftpd/sbin/proftpd

데몬 자동실행 설정
#vi /usr/local/src/ftpd/proftpd/contrib/dist/rpm/proftpd.init.d
여기서 PATH="/usr/local/server/proftpd/sbin"와 같이 실제 실행파일 경로로 수정한다.

# cp proftpd.init.d /etc/rc.d/init.d/proftpd
# chmod 755 /etc/rc.d/init.d/priftpd

# chkconfig --add proftpd
# chkconfig --level 3 5 proftpd on (이와 같은 식으로 런레벨 on/off수정)

===================================================================================
proftpd.conf 내용

ServerName               "........."
서버 접속시 이름 설정

ServerType                standalone
데몬 서비스시 모드설정 xinetd방식으로 사용시 inetd라고 입력 후 소스의 xinetd파일을 수정, /etc/xinetd.d/proftpd로 복사, 런레벨 설정하고 재시작하면된다.

disable                    = yes
yes로 설정하면 사용하지 않겠다는 의미

MaxInstances                30
동시 접속자 수 제한(설정시 DOS(Denial of Service)공격으로부터 데몬을 보호할 수 있다.)

DefaultRoot ~
#으로 주석처리가 되어 있으면 주석 제거
주석이 되어 있으면 리눅스시스템의 전체 루트 디렉토리인 / 이하로 아무런 제약없이 이동할 수 있으므로 불필요한 정보를 제공하게 된다.
특정그룹에게만 전체 디렉토리에 접속 권한을 주기 위해서는
DefaultRoot        ~          !(그룹명)으로 입력한다.



=============================================================================================
유용한 Tip

MaxClientsPerHost    최대접속수       "메시지"
 - 하나의 호스트당 최대접속수를 지정. 초과시 메시지를 보여준다.

TimeoutIdle  600
 - 접속자가 600초(10분)동안 휴면상태이면 자동 연결종료

TimeoutNoTransfer  600
 - 접속자가 파일을 업/다운로드할때를 제외하고 600초(10분)동안 아무 입력없이 유지할 경우 자동 연결 종료

TimeoutLogin  300
 - 클라이언트가 접속 후 로그인 인증을 유지할 수 있는 시간을 설정. 300초(5분)가 지나면 재 로그인.
   대부분의 ftp클라이언트 프로그램들은 자동으로 재 로그인한다.

UpTime 10 service
 - proftpd 서비스 시작 시간(오전 10시부터 서비스를 시작해라.)

DownTime 23 service
 - proftpd 서비스 종료 시간(오후 11시에는 서비스를 종료해라.)
이와 같이 설정하면, 오전 10시부터 오후 11시까지 서비스한다는 의미)

ShowSymlinks on|off
 - 심볼릭 링크가 되어 있는 링크파일들을 보여줄것인지를 의미. 기본으로 off되어 있다.(권장)

PassivePorts min-pasv-port max-pasv-port
 - ip공유기드으이 사용으로 인하여 ftp 서버로의 접속자들 중 내부방화벽을 사용하는 유저들을 위함이다.
   이에 대한 데이터 전송포트 매칭 해결책으로써 패시브 포트를 사용한다.
예를 들어, 패시브포트를 PassivePorts 5000 6000으로 설정하면 액테브 모드의 데이터 전송 포트인 20번 포트를 5000~6000번 사이로 지정하는 것으로 해석가능하다. 패시브모드 서비스시에는 ftp클라이언트 프로그램에서 모드설정을 패시브 모드로 설정해야한다.

ServerAdmin abc@abcd.com
 - proftpd 서버 관리자의 이메일 설정

DeferWelcome                    on
 - 접속자가 정상로그인을 한 경우에만 서버이름&ip주소 정보를 알려주도록 설정



========================================================================================
로그관리

소스의 proftpd.logrotate를 /etc/logrotate.d 디렉토리 아래에 proftpd 이름으로 복사하면 1개월에 주단위로 4번 잘라서 보관하게 된다.

'SYSTEM > LINUX' 카테고리의 다른 글

/proc 구조  (0) 2009.12.31
tcpdump  (0) 2009.12.29
ssh secure shell과 local의 한글깨짐 수정  (0) 2009.12.28
root 접속 차단  (0) 2009.12.28
/etc/hosts.allow /etc/hosts.deny  (0) 2009.12.28