2016년 8월 23일 화요일

Solaris 11 ftp 사용자 접근제어 방법.



proftpd 사용자 접근제어방법. 두가지

1. /etc/ftpd/ftpusers 에 등록하여 제어
2. /etc/proftpd.conf 에 등록하여 제어

#### solaris 에 ftp 서비스 설치

root@kevsol1:~# pkg install pkg://solaris/service/network/ftp
           설치할 패키지:         1
       부트 환경 만들기: 아니오
백업 부트 환경 만들기: 아니오
           변경할 서비스:         2

계획 링크됨: 0/3 완료됨; 1 작업 중: zone:zone3
계획 링크됨: 1/3 완료됨; 1 작업 중: zone:zone2
계획 링크됨: 2/3 완료됨; 1 작업 중: zone:zone1
계획 linked: 3/3 done
다운로드                       패키지        파일     XFER(MB)  속도
완료됨                                1/1       111/111      0.7/0.7  297k/s

다운로드 링크됨: 0/3 완료됨; 1 작업 중: zone:zone3
다운로드 링크됨: 1/3 완료됨; 1 작업 중: zone:zone2
다운로드 링크됨: 2/3 완료됨; 1 작업 중: zone:zone1
다운로드 linked: 3/3 done
단계                                        항목
새 작업 설치                            175/175
패키지 상태 데이터베이스 업데이트      완료
이미지 상태 업데이트                 완료
빠른 조회 데이터베이스 만들기      완료
실행 링크됨: 0/3 완료됨; 1 작업 중: zone:zone3
실행 링크됨: 1/3 완료됨; 1 작업 중: zone:zone2
실행 링크됨: 2/3 완료됨; 1 작업 중: zone:zone1
실행 linked: 3/3 done

root@kevsol1:~# svcs -a | grep ftp
disabled       11:10:11 svc:/network/ftp:default

root@kevsol1:~# svcadm enable ftp

root@kevsol1:~# svcs -a | grep ftp
online         11:33:37 svc:/network/ftp:default


#### 사용자 계정 생성

# useradd -m testuser1
# useradd -m testuser2

#### 사용자 암호변경

# passwd testuser1
# passwd testuser2


testuser1 은 ftp 허용, testuser2 는 ftp 불가.



###############################################################################
/etc/ftpd/ftpusers 에 등록하여 제어. ftp 서비스 재시작 필요 없음.  ip access 제어 안됨.
###############################################################################

root@kevsol1:~# cat /etc/ftpd/ftpusers
#
# List of users denied access to the FTP server, see ftpusers(4).
#
root
daemon
bin
~~ snip ~~
zfssnap
ftp
testuser2   <<< 이 파일에 등록된 사용자는 ftp access 불가.


#### client 접속테스트

[kevin@kevdev ~]$ ftp 192.168.56.50
Connected to 192.168.56.50 (192.168.56.50).
220 ::ffff:192.168.56.50 FTP server ready
Name (192.168.56.50:testuser2): testuser2
331 Password required for testuser2
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.




[kevin@kevdev ~]$ ftp 192.168.56.50
Connected to 192.168.56.50 (192.168.56.50).
220 ::ffff:192.168.56.50 FTP server ready
Name (192.168.56.50:testuser1): testuser1
331 Password required for testuser1
Password:
230 User testuser1 logged in
ftp>
ftp>




###############################################################################
/etc/proftpd.conf 에 등록하여 제어.   ftp 서비스 재시작 필요.
###############################################################################

다음과 같이 ptoftpd.conf 에 추가.

~~ snip ~~

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default.
<Limit SITE_CHMOD>
  DenyAll
</Limit>

<Limit LOGIN>
  AllowUser testuser1      <<<<<<<<  허용사용자 등록.
  DenyAll
</Limit>

# Make PAM the final authority on what gets authenticated.
AuthOrder mod_auth_pam.c* mod_auth_unix.c

~~ snip ~~


#### 설정 후 ftp 서비스 재시작.

root@kevsol1:~# svcadm restart ftp



다음과 같이 group에대한 제어도 가능. 필요에 따라 설정하세요.

  <Limit LOGIN>
    AllowUser testuser1
    AllowUser testuser2
    AllowGroup testgroup
    DenyAll
  </Limit>

#### ip 에 대한 접근제어.

  <Limit LOGIN>
    Allow from  192.168.56.1
    DenyAll
  </Limit>


#### 설정 후 ftp 서비스 재시작.

root@kevsol1:~# svcadm restart ftp