OS/Linux
[ Ubuntu ] NFS(Network File System) 랜덤 포트 고정
RI_Twins
2023. 2. 11. 00:23
개요
- NFS는 111, 2049 를 사용하며 , mount , rpc, status 는 랜덤 포트를 사용하는데 방화벽에서 랜덤 포트 대역을 다 열기에 보안 취약점이 발생하기 때문에 다음과 같은 작업으로 포트를 고정 합니다.
설정 방법
-
NFS에서 사용하는 데몬 프로세스는 portmap, mountd, rquotad, lockd 입니다.
-
nfs는 연결을 할 때 사용하는 데몬이며, mountd는 연결 후 데이터를 전송 데몬 입니다.
- 데몬 별 기본 포트
| 데 몬 | 기 본 포 트 | 추 천 포 트 |
|---|---|---|
| portmap | 111 | 111 |
| rpc.nfs | 2049 | 2049 |
| rpc.statd | random | 4000 |
| rpc.lockd | random | 4001 |
| rpc.mountd | random | 4002 |
| rpc.rquotad | random | 4003 |
$ sudo vi /etc/services
# 아래 내용 추가
status 4000/tcp # rpc.statd tcp port
status 4000/udp # rpc.statd udp port
mountd 4002/tcp # mountd tcp port
mountd 4002/udp # mountd udp port
rquotad 4003/tcp # rpc.rquotad tcp port
rquotad 4003/udp # rpc.rquotad udp port
$ sudo vi /etc/default/nfs-kernel-server
#RPCMOUNTDOPTS="--manage-gids -p 892" 를 주석 처리 후 다음과 같이 추가
RPCMOUNTDOPTS="-p 4002 -g"
$ sudo vi /etc/modprobe.d/options.conf
# 아래 내용 추가
options lockd nlm_udpport=4001 nlm_tcpport=4001
# 서비스 재 기동
$ sudo service rpcbind restart
$ sudo service nfs-kernel-server restart
# service 포트확인
$ rpcinfo -p
root@test:~# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 4002 mountd
100005 1 tcp 4002 mountd
100005 2 udp 4002 mountd
100005 2 tcp 4002 mountd
100005 3 udp 4002 mountd
100005 3 tcp 4002 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 35365 nlockmgr
100021 3 udp 35365 nlockmgr
100021 4 udp 35365 nlockmgr
100021 1 tcp 44379 nlockmgr
100021 3 tcp 44379 nlockmgr
100021 4 tcp 44379 nlockmgr