ProFTPD 접속 클라이언트 제한 설정
1. 접속 계정별 MaxClinet 설정
IfUser 를 사용하여 설정을 할 수 있다.
<IfUser user1>
MaxClientsPerUser 10 "Sorry, %m hosts allow per one user"
</IfUser>
<IfUser user2>
MaxClientsPerUser 1 "Sorry, %m hosts allow per one user"
</IfUser>
IfUser를 사용하기 위해서는 컴파일시 별도의 옵션을 줘야 한다.
./configure --with-modules=mod_ifsession
make
make install
2. Users, Hosts, Clients, Instances ?
- Users : ProFTPD 서버의 anonymous를 포함한 계정을 의미
- Hosts : 한대의 클라이언트 PC를 의미
- Clients : ProFTPD 서버에 접속한 모든 Users에 대해서 맺여진 세션을 의미, 즉 anonymous를 포함하여 ProFTPD서버에 인증을 통하여 세션이 맺어진 하나의 자식 프로세스(로그인 수)를 의미. 따라서 하나의 Hosts에서 2개 이상의 Clients가 있을 수 있고, 또한 같거나 서로 다른 User에 대해서 여러개의 Clients가 있을 수 있다.
- Instances : ProFTPD의 모든 자식 프로세스를 의미하는데 이 수는 인증 대기 상태에서도 자식 프로세스가 생성됩니다. 이 때 자식 프로세스는 Clients가 있을 수 있습니다. 따라서 Clients라고 하면 보통 하나의 클라이언트 컴퓨터를 의미하지만 ProFTPD 설정 파일에서는 인증을 통하여 세션이 맺어진 자식 프로세스를 의미
3. MaxClients, MaxClientsPerHost , MaxClientsPerUser , MaxHostsPerUser ?
- MaxClients : 세션이 맺어진 최대 자식 프로세스 수 제한
- MaxClientsPerHost : 하나의 Host 에서 최대 Clients 수 제한(접속 제한 수)
- MaxClientsPerUser : 하나의 User 에서 최대 Clients 수 제한(접속 제한 수)
- MaxHostsPerUser : 하나의 User 에서 최대 Hosts(하나의 컴퓨터) 수 제한 (ID 공유 제한)
4. Timeout 관련 설정
- TimeoutIdle : idle 상태로 접속을 유지할 수 있는 시간
- TimeoutNoTransfer : 파일 전송이 없는 상태로 접속을 유지할 수 있는 시간
- TimeoutLogin : 로그인 인증을 유지할 수 있는 시간
'개발 > Server' 카테고리의 다른 글
Synology Git Server (0) | 2021.11.15 |
---|---|
docker container vi 설치 (0) | 2021.01.05 |
apache 일반 계정으로 실행하기 (0) | 2019.01.14 |
CentOS7에 Apache 서비스 등록 (0) | 2017.12.27 |
wildfly jsp 동적으로 변경사항 적용하기 (0) | 2017.12.02 |