FTP.... 이런 갤탭 강제 업데이트당함.. 정기호 noose...강사님 ㅠ 헐. 카페가입 안할뻔 했네....
FTP(File Transfer Protocol) #20번
=> 파일을 전송하는 서비스(U/D)
(평문통신 => sniff취약 -> "root" 접근이 기본적으로 제한된다)
주 서비스 program = proftp (Redhat, Frdora) , vsftp (centos) proftp가 vsftp보다 조금 더 낫다
pkg - vsftpd~.rpm (rpm -qa|grep vsftpd 로 설치여부를 확인한다.)
# /etc/rc.d/init.d/vsftpd restart
포트의 과부하를 줄이기 위해 기본적으로 동작하고 있지 않다.
anonymous계졍으로 비번없이도 접근이 가능하다. - ex) 유투브, 토렌트, 미러사이트, 네이버나 심파일 자료실
[service!!!]
# ntsysv : 부팅시 동작시킬 서비스를 정의한다.
# chkconfig httpd on : ntsysv와 유사하며 httpd를 on하거나 off할 수 있다.
pasv_enable=NO를 /etc/vsftpd/vsftpd.conf에 추가해줘야지 방화벽을 우회해서 접속한다. 혹은 및에 추가부분을 사용한다. active시에는 공유기를 사용하는 유저는 사용하지 못한다.
* 추가 *
아래의 메시지가 출력되면서 접속이 안될때
오류메시지 : 500 OOPS: cannot change directory:/home/seok
selinux의 설정으로 접근이 안되는것인데 이부분을 수정해줍니다.
- 접근 허용 설정(ON:1/OFF:0) // -P는 리붓후에도 계속 적용을 의미
# setsebool -P ftp_home_dir 1
- 접근 불가 설정
# setsebool -P ftp_home_dir 0
- selinux 모든 설정 확인(항목별 on/off로 표시)
# getsebool -a
/usr/sbin/vsftpd 실행파일
/etc/rc.d/init.d/vsftpd vsftpd의 데몬파일
/etc/vsftpd/ftpusers 기본적으로 접속 불가능한 사용자 설정파일( = /user_list
/etc/xinetd.d/vsftpd xinetd 기반의 서비스 파일 ( /etc/xinetd.d는 기본적으로 xinetd 기반의 서비스 파일들이 저장되어 있다) 그러나 vsftpd는 기본 설정이 standalone 방식이라 해당파일에 대한 정보확인이 어렵다
anonymous_enable=YES // anonymous를 접근 가능케할지 여부 YES는 허용
local_enable=YES // " /etc/passwd "파일에 있는 사용자 계정(root포함)의 사용을 허가할지에 관한 것
write_enable=YES // fftp를 이용해서 업로드를 가능하게 할 것인가의 여부.
local_umask=022 // FTP접속 후 생성되는 파일은 644, 디렉토리는 755로 기본 설정
#anon_upload_enable=YES // 익명사용자는 업로드를 허용하지 않는 것이 일반적이다.
dirmessage_enable=YES // 디렉토리에 있는 " .message" 파일을 사용자에게 출력해줄지 여부를 설정한다.
xferlog_enable=YES // 파일 전송시 발생하는 로그를 기록할지에 대한 옵션이며 기본적으로 /var/log/xferlog에 기록된다.
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES // 기본적으로 SELinux에서 다 먹는다. 20번 포트를 위해서는 standalone(각각 데몬관리)
//xinetd는 21번만 사용한다. (모든 데몬 한번에 관리)
#idle_session_timeout=600 // full load = 과부하때문에 사용. 네트워크가 가장 과부하가 심함
// 주석 처리로 미지정시 기본값 300초이다.
#data_connection_timeout=120 // FTP 서버로 부터 전송 뒤 지정시간 안에 다음 전송이 안되면 종료
#nopriv_user=ftpsecure // 일반 사용자로 vsftpd 데몬을 실행하고자 할 떄 사용하는 옵션
#ftpd_banner=Welcome to blah FTP service. // FTP접속시 기본 제공되는 배너값 무시하고 사용자 지정값
#ls_recurse_enable=YES // ls -R 옵션을 허용할 것인가에 대한 옵션. FTP 부하를 줄이기 위해 허용 x
#listen=YES xinetd로 관리시 NO, standalone 방식은 YES
#listen_port= 변경할 ftp 서비스 포트번호 변경 (정보 변경시 해당 포트 방화벽 해제)
★★★ 디렉토리 이동제한 하기 (보안설정이 필요할 때)
chroot_local_user=yes
chroot_list_enable=yes
chroot_list_file=/some/where
★★★ 디렉토리 이동제한 하기 (보안설정이 필요할 때)
- chroot_list_enable
=> chroot_list 파일의 사용유무
디렉터리 이동에 대한 제한 받을 사용자 정의 yes시에는 접속 제한
- chroot_list_file
=> chroot_list 파일을 지정
기본값 : /etc/vsftpd/chroot_list
- chroot_local_user
=> "/etc/passwd" 파일 내의 모든 사용자를 제한
->"root"도 포함
실습문제
FTP 서비스에서 root 사용자가 접속이 불가능한 사항을 수정하여 'root' 사용자로 접속할 수 있도록 설정파일을 수정하시오.
1) system-config-firewall 에서 우선적으로 ftp 포트를 개방하여 준다
2) /etc/rc.d/init.d/vsftpd restart 로 vsftp를 기동한다
/etc/vsftpd/ftpusers
/etc/vsftpd/userlist
zone과 reg 그리고 vsftp부분만 수정해주면 끝난다.
/etc/vsftpd/vsftpd.conf
pasv_enable=no
/etc/rc.d/init.d/vsftpd restart
ntsysv에서 추가해줘도 됨.
'linux2' 카테고리의 다른 글
7일차 (1/2) 앞선 강의 총 복습 xinetd(telnet), vsftpd, vnc (0) | 2013.02.12 |
---|---|
6일차 리눅스, VNC (0) | 2013.02.07 |
리눅스 4일차다! -슈퍼데몬 (0) | 2013.02.05 |
3일차 네트워크 최종(2/2) 데몬, netstat (0) | 2013.02.04 |
3일차 네트워크 최종(1/2) (0) | 2013.02.04 |