목차

안녕하세요 IT몽상가입니다.
리눅스 보안에 두번째 중 분류인 파일 및 디렉토리 관리에 대해서 알아보고 있는데요.
이번에 확인해보고자 하는 항목은 “접속 IP 및 포트 제한” 항목인데요.
접속 ip 및 포트 제한은 현재 주로 방화벽에서 설정하고 있는데요.
하지만 이러한 기능이 서버에도 존재 합니다.
그리고 요즘은 서버에서도 접근제어를 하고 있는 추세인데요.
그 이유는 서버간의 접속을 차단하기 위해서 입니다.
방화벽은 주로 외부 유입을 차단하기 위해서 사용하고 있기에 서버존에서 서로 접속을 차단하지 못하고 있는데요.
그렇기에 따로 솔류션을 통해 서버간 접속을 차단하거나 해당 파일을 통해 차단하고 있습니다.
그러면 “접속 IP 및 포트 제한”에 대해서 알아보도록 하겠습니다.
– 접속 IP 및 포트 제한 내용 및 목적
허용할 호스트에 대한 접속 IP 주소 제한 및 포트 제한 설정 여부를 점검합니다.
허용한 호스트만 서비스를 사용하게 하여 서비스 취약점을 이용한 외부자 공격을 방지하기 위해서 사용하고 있는데요.
사실 접속 IP 및 포트 제한은 방화벽에서 주로 하고 있는데요.
하지만 방화벽 안쪽에 존재하는 서버존에서 접속을 제한하고 있지 않습니다.
결국 외부에서 접속하는 것은 제한하고 있으나 서버간의 접속은 방화벽에서 차단하지 못하고 있는데요.
최근 보안사고가 많이 발생되는 부분이 이러한 부분 때문인데요.
서버간의 접속을 차단하고 있지 않은 경우 하나의 서버가 해킹 당하는 경우 다른 서버까지 위험할 수 있죠
그렇기에 솔류션 또는 해당 파일에 접속 IP 및 포트를 제한 하고 있습니다.
– 접속 IP 및 포트 제한 보안 위협
허용할 호스트에 대한 IP 및 포트제한이 적용되지 않은 경우, Telnet, FTP같은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해 사고가 발생할 수 있는데요.
앞서 이야기 드린것 처럼 외부에서 접속하는 것은 방화벽에서 차단하고 있으나, 방화벽 안쪽에 있는 서버간의 통신은 별도의 제한이 없습니다.
그렇기에 보안사고가 발생되는 경우가 다수 존재하는데요.
그래서 보안 솔루션을 통하여 서버간의 통신을 제한하거나 리눅스에 존재하는 방화벽 및 접근제어 파일을 통하여 제한할 수 있습니다.
– 접속 IP 및 포트 제한 방법 및 점검 방법
접속 IP 및 포트 제한 방법은 다양한데요.
우선 현재 가장 많이 사용하는 방법은 hosts.deny와 hosts.allow 파일에 설정하는데요.
그외 IPtables와 IPfilter를 사용하는 경우도 있는데요.
하지만 주로 hosts.deny와 hosts.allow를 사용하기에 해당 부분에 대해서 주로 이야기 해보도록 하겠습니다.
일단 hosts.deny와 hosts.allow 중 우선 순위는 hosts.allow가 먼저이기에 동일한 설정이 있는 경우 hosts.allow우선 적으로 적용되어 hosts.deny 설정은 무시됩니다.
- SOLARIS, LINUX, AIX, HP-UX
* 설정 방법
우선 hosts.deny와 hosts.allow 파일은 etc 폴더에 존재하는데요.
해당 파일 설정에 따라 IP 및 포트를 제한 할 수 있는데요.
설정 방법은 어렵지 않은데요.
vi /etc/hosts.deny
입력하여 수정하면 되는데요.
기본적으로 서비스와 IP를 설정하는데요.
ALL:ALL 이렇게 설정하면 모두 차단하게 됩니다.
sshd : 192.168.0.148, 192.168.0.6 이런식으로 서비스와 IP를 등록할 수 있는데요.
이러한 설정이 hosts.deny 파일에 등록하면 차단이고 hosts.allow에 입력하는 경우는 접속 가능하게 설정하는 것인데요.
이게 두개가 동일한 설정 값이 들어가 있는 경우 allow가 먼저 적용됩니다.
* 점검 방법
점검하는 방법은 간단한데요.
해당 파일에 어떻게 설정되어 있는지 확인하는데요.
일단 모두 설정이 없는 경우에는 모든 클라이언트에서 접속이 가능합니다.
그렇기에 해당 설정이 필요하기에 해당 파일을 확인하는데요.
cat /etc/hosts.deny 와 cat /etc/hosts.allow
파일을 확인하여 내용을 확인하는데요.
모두 비워 있거나 파일이 존재하지 않는 경우는 취약으로 판다하여야 하는데요.
그리고 hosts.allow 파일에 all:all 있는 경우도 모두 접속이 가능하기에 취약이라고 판단하여야 합니다.
그렇지 않은 경우 설정 값을 보고 판단하여야 하는데요.
너무 많은 IP가 오픈되어 있는 경우는 확인 요청이 필요합니다.
– 접속 IP 및 포트 제한 확인 방법 및 점검 테스트
실제 서버에서 확인해 보겠는데요.
우선 테스트 환경은 제가 작성하였던 VMware 다운로드 및 설치 방법(무료 설치)와 CentOS Linux Containers 설치하기!를 참조하시면 됩니다.
테스트 환경은 CentOS 7 버전에서 진행 됩니다.

etc 폴더에 이처럼 파일이 존재하는데요.
소유자 및 권한은 우선 root와 644로 되어 있습니다.

hosts.deny 파일을 열어보면 이렇게 되어 있는데요.
따로 설정이 되어 있지는 않습니다.

역시 allow 파일에도 아무 내용이 존재하지 않은데요.
저는 현재 테스트 서버이기 때문에 따로 설정하지 않는데요.
설정할때는 vi 편집기를 이용하여 수정하면 되는데요.
이때 IP를 등록하는 경우 영향도를 잘 파악하여 설정하여야 합니다.
연결되어야 하는 서버 IP가 누락되는 경우에는 장애가 발생할 수 있기에 영향도 파악이 반드시 필요합니다.
– 마무리
“접속 IP 및 포트 제한”에 대해서 알아봤는데요.
예전에는 주요하지 않은 파일로 구분되기도 하였습니다.
일단 외부에서 방화벽을 통해 접근제어를 하고 있기에 서버에서 직접 설정하는게 큰 의미가 없다고 생각하였는데요.
하지만 최근에는 서버간의 접속을 차단하여야 하기에 다시 해당 파일의 중요성이 높아지고 있는데요.
그렇기에 해당 파일을 주기적으로 확인하여 관리가 필요합니다.
