공격 대상 서비스 설치

포트 스캐닝 실습을 진행하기 전에, 사전 실습 환경을 설정하도록 한다. KALI 리눅스에서 Rocky 리눅스의 서비스 포트들을 스캐닝할 예정이기에, Rocky 에서 다음과 같은 서비스 데몬들을 설치한다. (서버 측 데몬 설치)

 

- httpd : 웹 서버 데몬 => 80 TCP

- vsftpd : 파일 전송 프로토콜 FTP 서비스 데몬 => 21 TCP

- bind : DNS 서버 구축을 위한 데몬 => 53 UDP / TCP

- net-snmp : 네트워크 관리를 위한 SNMP 서비스 데몬 => 161 ~ 162 UDP

- telnet-server : 원격 접속을 위한 Telnet 서비스 데몬 (평문) => 23 TCP

 

netstat 명령어로 22번 port 의 상태를 확인해보면, SSH 서비스 데몬이 활성화되어있는 것을 확인할 수 있다.

 

dnf install -y telnet-server*

 

대표적으로, telnet-server 서비스 데몬을 설치 과정을 살펴보도록 한다.

 

rpm -qa | grep telnet
rpm -qa | grep [서비스명]

 

정상적으로 설치가 완료되면, rpm -qa 명령을 통해 설치된 패키지의 목록을 확인할 수 있다.

 

rpm -ql telnet-server
rpm -ql [패키지명]

 

또한 rpm -ql 명령을 통해 패키지 내의 파일 목록을 확인해보면, /usr/lib/systemd/system 디렉토리 하위에 위치한 파일서비스 데몬 파일인 것을 확인할 수 있다. 서비스 데몬의 환경설정 파일은 대게 /etc 디렉토리 하위에 데몬 이름으로 위치한다.

 

service telnet.socket restart

 

서비스 설치가 완료된 후 데몬을 재구동하면, 해당 서비스가 활성화되어 대기 상태에 있는 것을 확인할 수 있다.

 

systemctl list-unit-files |grep telnet
systemctl list-unit-files |grep [서비스명]

 

다음으로는 서비스 활성화 상태를 살펴보자. enable 로 설정되어있으면 부팅 시 자동 활성화된다는 의미이다. 현재 telnet 서비스는 disable 된 상태이므로 enable 상태로 변경한다.

 

systemctl enable telnet.socket
systemctl enable [서비스 데몬명]

 

부팅 시 자동 활성화되도록 설정하게되면, enable 상태로 변경되는 것을 확인할 수 있다.

 

단, telnet 서비스를 설치했음에도 cmd 에서 원격 접속이 불가능하다. 해당 서비스에 대한 방화벽이 해제되지 않았기 때문이다.

 

firewall-cmd --list-all

 

설치된 서비스들에 대한 방화벽 설정을 확인해보도록 하자. 현재는 ssh 서비스 포트만 열려있는 것을 확인할 수 있다.

 

firewall-cmd --permanent --add-port 23/tcp
firewall-cmd --permanent --add-port [포트]

 

영구적으로 23 / tcp 포트를 public (active) 정책에 추가하여 해당 서비스 포트에 대한 방화벽을 해제한다.

 

firewall-cmd --permanent --add-service ftp
firewall-cmd --permanent --add-service [서비스명]

 

서비스명으로도 추가가 가능하다.

 

netstat -lntup | grep -P "snmp|vsftpd|httpd|named|init"

 

다른 서비스들도 위와 같은 과정으로 설치하며, init 6 명령어를 통해 재부팅한 후 서비스 활성화 상태를 확인한다.

 

--permanent 옵션을 통해, 영구 설정을 한 방화벽 정책도 다음과 같이 유지된 것을 확인한다.

 

firewall-cmd --permanent --remove-port [포트]
firewall-cmd --permanent --remove-service [서비스명]

 

방화벽 정책에서의 포트 삭제 및 서비스 삭제는 다음과 같이 설정한다.

 

ssh 서비스만을 남기고 모든 포트와 서비스가 정책에서 사라진 것을 확인할 수 있다.

 

 

방화벽 ON / OFF

1) 방화벽 OFF

 

service firewalld stop

 

방화벽을 끄게 되면, 방화벽 상태 확인 명령어를 사용할 수 없는 것을 확인할 수 있다.

 

2) 방화벽 ON 

 

service firewalld restart

 

방화벽을 활성화 하면, 방화벽 상태 확인 명령어를 사용할 수 있음을 확인할 수 있다.

 

 

 

 

공부하면서 정리한 내용을 글로 작성하였습니다.

혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)

COMMENT