Security_방화벽

방화벽

방화벽은 서버 간 통신 데이터 패킷에 대한 정책을 설정하여, 패킷을 허가하거나 거부하는 방식으로 작동함.

리눅스 방홥겨은 리눅스 커널을 제어해 실제 패킷을 필터링하는 방화벽 처리부, 패킷 필터링 정책을 추가/제거하는 방화벽 제어부로 구성됨.

 

 

방화벽 정책 설정 확인

 

1. 방화벽 설정을 확인하기 위해선 먼저 sudo ufw status 명령어를 통해 방화벽 활성화 여부를 확인

방화벽이 비활성화(inactive) 상태

2. 방화벽이 비활성화인 경우 sudo ufw enable 명령어를 통해 방화벽을 활성화

 

3. sudo ufw status verbos 명령어를 통해 현재 사용중인 방화벽 상태 확인

(상세한 세부 정책을 보고싶을 경우 sudo ufw show raw 명령어 사용)

 

상태 요약

  • Status: active
    방화벽이 현재 활성화된 상태입니다. ufw enable 명령을 실행하여 방화벽이 실행 중임을 나타냄.
  • Logging: on (low)
    방화벽의 로그 기록이 활성화되어 있으며, 로깅 수준이 "low"로 설정
    • "low"는 기본적인 연결 정보만 기록. (예: 패킷 승인/거부 정보 등)
    • 로깅 수준은 필요에 따라 low, medium, high로 조정 가능
  • Default: deny (incoming), allow (outgoing), disabled (routed)
    기본 방화벽 정책(디폴트 규칙)을 설명:
    1. deny (incoming): 외부에서 들어오는 모든 연결은 기본적으로 차단
    2. allow (outgoing): 내부에서 외부로 나가는 모든 연결은 기본적으로 허용
    3. disabled (routed): 라우팅된 트래픽에 대한 규칙은 현재 비활성화 상태
  • New profiles: skip
    새로 설치된 애플리케이션 프로파일에 대해 기본적으로 **무시(skip)**하도록 설정

 

방화벽 정책 추가

 

1. sudo ufw allow ssh 명령어를 통해 방화벽 SSH 서비스 정책 추가(allow)

(위와 같은 방법으로 직접 포트나 주소값을 넣지 않고 이미 정해져 있는 서비스를 이용하여 방화벽 추가 가능)

 

2. sudo ufw deny ssh 명령어를 통해 ssh 정책을 차단(deny) 

 

3. sudo ufw delete deny ssh 명령어를 통해 ssh 정책 삭제 

 

4. sudo ufw [허용/차단] [포트번호]/[tcp/udp] 명령어를 통해 포트번호로 정책을 추가/삭제 

 

5. sudo ufw delete [허용/차단] [포트번호]/[tcp/udp] 명령어를 통해 포트번호로 정책을 삭제

(정책의 상태에 따라 허용/차단 부분을 작성하여 해당 정책을 삭제하면 됨)

 

6. sudo ufw allow from [IP 주소] to any [포트|서비스] 명령어를 통해 특정 IP 주소에 대한 방화벽 설정

 

 

웹 서비스를 위한 방화벽 정책 설정

 

1.  sudo apt install apache2 명령어를 통해 apache2를 설치하여 웹 페이지에서 해당 리눅스 서버 ip주소를 확인

(apache2 설치 후, http://192.168.100.11[우분투리눅스 IP] 입력하여 서버 IP 주소 웹페이지 확인)

 

2. 다른 서버에서 위 우분투 리눅스 서버 IP 웹페이지에 접속이 가능한지 확인을 위해 칼리 리눅스를 켜서 실행

다른 서버(칼리 리눅스)에서 우분투 리눅스 서버 IP 웹페이지에 접속 불가

 

3. 다시 우분투 리눅스로 돌아와 방화벽 정책을 확인.

  • sudo systemctl start apache2 명령어를 통해 apache2(웹 서버) 서비스 시작
  • sudo ufw allow http 명령어를 통해 HTTP를 허용

80번 tcp 포트 허용

 

 

4. 칼리 리눅스 서버에서 우분투 리눅스 IP 주소 웹페이지로 접속이 되는지 확인

칼리 서버에서 우분투 리눅스 서버 IP 웹페이지로 접근 성공

 

위 과정을 통해 방화벽의 역할을 확인 할 수 있으며,

방화벽을 잘 설정하여 허용된 패킷과 사용자만 서버에 접근 할 수 있도록 해야함