보안

2024.05.02.목.보안 day22

202401to07 2024. 5. 2. 09:14

[스냅샷 잘못 돌렸을 때 ]

 yum install xinetd*
   86  clear
   87  cd /etc/xinetd.
   88  cd /etc/xinetd.d
   89  ls -l
   90  vi ftp

service ftp
{
        disable         = no
        flags             = reuse
        socket_type   = stream
        wait              = no
        user              = root
        server            = /usr/sbin/vsftpd
        log_on_failure  += USERID
}


   91  vi telnet

service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
no _access =  10.10.10.1
}


   92  vi ftp

service ftp
{
        disable         = no
        flags             = reuse
        socket_type   = stream
        wait              = no
        user              = root
        server            = /usr/sbin/vsftpd
        log_on_failure  += USERID
}


   93  yum install vsftpd*
   94  vi /etc/vsftpd/vsftpd.conf

listen_ipv6=NO 로 바꿈

   95  service xinetd restart
   96  netstat -lntup
   98  yum install telnet-server
   99  service xinetd restart
  100  netstat -lntup

 

 

[ 방화벽 설정 ]

 firewall-cmd --permanent --add-(추가할항목) (추가할값)

firewall-cmd --reload  : 재부팅

 firewall-cmd --list-all   : 추가된것 확인

 

systemctl enable vsftpd  : vsftpd 부팅 시 자동실행되게 

 

 


 

FTP : 파일 전송 프로토콜 

속도를 위해 평문으로 전송한다 

VSFTP : 매우 보안쩌는 FTP

rpm -qa |grep ftp  [패키지확인]

yum install vsftpd* -y   [패키지설치]

rpm -ql vsftpd    [파일확인]

 

/etc/vsftpd/vsftpd.conf (메인설정파일)

/etc/vsftpd/ftpusers (pw에서 계정접속 제한) 

/etc/xinetd.d/vsftpd (xinet 설정파일

 

service vsftpd restart  [데몬실행]

systemctl enable vsftpd.service  [부팅시 데몬자동실행]

netstat -lntup  |grep vsftp  [포트확인]

 

클라이언트가 접속을 시도하는 방법 

1. active mode :  서버가 움직이는 접속방법  ( ftp-data : 20 )

클라이언트가 접속  -> 서버에게 데이타를 보내달라고함 ->서버의 20번포트에서 데이터 보냄

2. passive mode : 서버가 움직이 않는 접속방법 (보안적으로 권장)  (ftp-data : random)

클라이언트가 접속 -> 서버는 랜덤한 포트 [보통45000~60000사이]알림 -> 클라이언트가 서버의 랜덤한 포트에서 데이터 받음

 

firewall-cmd  --permanent --add-service ftp   (방화벽에 추가)

firewall-cmd --reload   (재부팅 *필수작업*)

firewall-cmd --list-all   (추가한거 확인)

 

[디렉토리 제한] 

chroot_local_user=YES             : 로컬 사용자가 로그인할 때홈 디렉토리로 제한하여 홈 디렉토리를 벗어나는 것을 방지(보안용 굳)

allow_writeable_chroot=YES     : 사용자가 자신의 chroot된 디렉토리 안에서 파일을 쓸수있다 

 

[디렉토리 제한 예외계정지정]

chroot_list_enable=YES    :   (디렉토리 이동제한 예외리스트 활성화여부 / 특정 사용자를 chroot 할지 여부를 결정 

chroot_list_file=/etc/vsftpd/chroot_list   : 예외리스트 위치 지정

* chroot_list 가 이미 있는게 아님 내가 만들어야됨

cat > /etc/vsftpd/chroot_list  여기에 쓴 사용자는 상위 디렉토리로이동이 가능하다 

*

[계정차단]

ftpusers  :(pw 계정차단)

userlist   : ID 지정 계정 차단

userlist_enable=YES   : (userlist 기능을사용여부)

userlist_deny=YES      (접근거부

userlist_deny= NO (접근 허가

userlist_file=/etc/vsftpd/sevas_list    별도의 user_list파일생성

 

anonymous_enable=NO

anon_root=  (여기에 익명사용자 경로적기 )   (기본 경로는  /var/ftp)

 

[passive 모드 설정 ]

pasv_enable=yes
pasv_min_port=50000       --->    이거랑
pasv_max_port=50010   ------>    이거 2개로 범위 지정 가능

max_clients 최대 접속자수

max_per_ip  한호스트당 최대 접속자수

 

 

 

정리 

홈디렉터리 제한 (모두 적용) : chroot_local_user

홈디렉터리 제한에서 예외: chroot_list 

id 차단: userlist   

*userlist대신 별도로 새로 id차단목록을 만들수있음  ex) userlist_file=/etc/vsftpd/sevas_list 

별도의 is=d차단목록을 만들었다면 기존의 uselist는 적용안함 **********

pw차단 : ftpusers  

 

 

 

 

 


시험 응용 문제 풀기 

 

마운트

 

sevas 홈디렉터리 변경