2023.10.30
개인 기록용 입니다 :) 오타, 수정 등 피드백 환영
지난 시간에 네트워크 설정으로
각 가상머신 두 개에 설치된 리눅스를
NAT 로 연결해주었고
정적 IP를 할당해 주었다
LINUX 네트워크 설정
그리고 이제는 CentOS에 Apache를 설치하고
다른 리눅스 가상머신에서
해당 서버의 웹으로 접속하는 방법을 알아보자
CentOS에 Apache 설치
CentOS에서는 우분투와 다르게
apt-get을 통해 패키지 설치하는 것을
권장하지 않는다고 한다
만일 apt가 깔려 있는 것을 확인하고 싶다면
$ yum list apt
해당 명령어를 통해 확인해보자
약간의 시간이 소요된 뒤
목록과 일치하는 꾸러미가 없다고 나온다
CentOS 에서는 yum을 활용해
패키지를 설치하면 된다
$ yum install httpd
y를 눌러 설치를 진행하면
설치 완료 메세지가 나온다
$ sudo systemctl start httpd
를 통해 Apache 서버를 실행시켜주고
$ sudo systemctl status httpd
를 통해 현재 Apache 서버가 어떤 상태인지 확인한다
이미지와 같이 active가 뜬다면
정상적으로 서버 작동이 완료되었다
방화벽 커맨드
CentOS 에는 기본적으로 firewalld 가 방화벽으로 작동한다
$ sudo firewall-cmd ~
의 커맨드로 여러가지 방화벽 설정을 할 수 있다
다른 리눅스에서 NAT로 네트워크가 연결된 곳으로
웹 접속을 하기 위해선
방화벽 설정에서 딱히 건드릴 것이 없다
CentOS 방화벽 firewalld 에는 Zone이란 것이 있다
$ sudo firewall-cmd --get-zones
명령어로 현재 어떤 Zone이 존재하는지 확인해보면
block / dmz / external / home
internal / nm-shared / public
trusted / work
등의 존의 종류들이 나온다
지금까지 공부한 것은
public : 공개적인 존
drop : 특정 ip 차단을 위한 존
두 가지이며 이것으로도 활용이 가능하니
나머지 명령어 및 개념은 추후 차차 정리하도록 하자
우선 아무 행동하지 않아도
서버에 활성화되고 있는 존은 public 이다
이 존에 대해 갖가지 행동을 취하거나
정책을 부여할 수도 있는데
--add-source={특정 IP 주소}
를 통해 특정 IP만 접속할 수 있도록,
--add-service={특정 정책}
을 통해 ssh, ssl 등 정책 부여,
--add-port={특정 포트 넘버}
를 통해 특정 포트의 접속 허용
등의 명령을 내릴 수 있고
존에 국한되지 않더라도
방화벽 자체에 이러한 명령을 추가할 수 있다
ex)
$ sudo firewall-cmd --zone=public --add-source=192.168.100.1/24 // 특정 IP 접속 가능 $ sudo firewall-cmd --zone=public --add-service=ssh // ssh 추가 정책 $ sudo firewall-cmd --zone=public --add-port=80/tcp // 80/tcp 포트 추가
$ sudo firewall-cmd --zone=drop --add-source=192.168.100.1 // 192.168.100.1 IP 차단
$ sudo firewall-cmd --zone=drop --add-port=80/tcp // 80번 포트 차단
이러한 명령어들을 활용하여 갖가지 정책 부여
혹은 특정 행동을 취할 수 있게 하고
기본적으로 NAT로 연결되어 있기 때문에
kali linux 에서 CentOS로 부여한 IP로 접속을 해보면
웹 접속을 잘 할수 있음을 알 수 있다
리눅스 명령어 모음