320x100

구성 환경

 


 

환경 구축 상세 계획 (이미지 구축 및 환경설정(네트워크))

 

1. Vmware 설치 후 Ubuntu 가상 환경 구축 및 Splunk 설치

  • Ubuntu VM 생성 후 Splunk 설치
  • Splunk 구성 후 로그 수집 설정

2. Metasploitable 가상 환경 및 웹 서버 구축

  • Metasploitable VM 생성
  • Victim 환경 구성

3. Kali Linux 가상 환경 구축 및 네트워크 설정

  • Kali VM 생성 후 네트워크 설정 완료

4. Pfsense를 통한 방화벽 설정

  • 방화벽 설정 및 네트워크 보안 강화

 

환경 구축 화면

 

  • 네트워크 설정

 

 

 

  • 각 OS 에 위에서 설정한 네트워크를 설정해준다.  

  • pfsense Assign interfaces & set interface IP address 

 

 

pfsense 웹 화면(방화벽)
공격자 화면
victim 웹 화면
splunk 화면

 

  • 각 OS의 라우팅 테이블에서 pfSense 설정 IP를 기반으로 기본 게이트웨이를 설정하여 상호간 포트를 개방합니다.

 

  • pfSense에 Snort 설치 후, 규칙을 다운로드하고 활성화하여 네트워크 트래픽을 모니터링 테스트합니다.

 

  • syslog-ng 설정 파일을 수정하여 Splunk를 통해 Snort 경고를 효과적으로 읽을 수 있도록 구성합니다.

  • 결과화면

 

 

 

 

 

참고링크 : https://osintteam.blog/intrusion-detection-lab-with-pf-sense-snort-splunk-953460530d86

300x250
320x100

OS,DBMS 수동진단

1. world writable

U-15 world writable 파일 점검 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 악의적인 사용자가 해당 파일을 마음대로 파일을 덧붙이거나 지울 수 있게 되어 시스템의 무단 접근 및 시스템 장애를 유발할 수 있습니다. 이를 방지하기 위해 world writable 파일을 이용한 시스템 접근 및 악의적인 코드 실행 권한을 변경하거나 제거해야 합니다.
  • 기타 사용자에게 권한을 주면 안된다. 타 사용자가 수정하거나 공격 대상이 될 수 있으므로

 

## U-15 (시험문제)

- 불필요한 world writable 파일 존재 여부 점검

- world writable : 타사용자에게 쓰기권한이 부여된 파일 

-  find / -type f -perm -2 -exec ls -l {} \;

    - 너무 많은 파일 검색, 절대 \ 금지

    - 실재 존재하는 파일이 아님

- proc, fs, usr/local : 반드시 분석에서 제외해야 하는 파일

- find / ! \( -path '/proc*' -o -path '/sys/fs*' -o -path '/usr/local*' -prune \) -perm -2 -type f -exec ls -al {} \;

```sh

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/member

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/user

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/relabel

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/create

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/access

-rw-rw-rw-. 1 root root 0 2024-08-28 14:16 /selinux/context

```

- 인터뷰 필요

-

- prune : 제외

 

 

2. 계정인증 (패스워드), 명령어(어떤걸 하기 위해 무슨 명령어를 사용해야하는지) - 객관식

U-04 패스워드 파일 보호 사용자 계정의 패스워드 암호화를 관장하는 대표적인 파일은 “/etc/shadow”로써 해당 파일의 존재 유무와 실제 모든 계정이 기록되어 있는 “passwd” 파일 내 로그인이 가능한 모든 사용자 계정이 암호화 되어 있는지 확인해야 합니다.
U-03 계정 잠금 임계값 설정 "/etc/pam.d/system-auth" 설정 파일 내 임계값이 5회, 잠금 시간이 60분(3600초)으로 설정되어 있는지 확인해야 합니다. 패스워드 복잡도의 기준은 각각의 회사마다 관리하고 있는 정보보호정책  정보보호지침 의거해서 기준이 상이 할 수 있습니다.
U-02 패스워드 복잡성 설정 "/etc/pam.d/system-auth" 설정 파일 내 패스워드 복잡도가 “영문, 숫자, 특수문자”를 조합하여 최소 8자리 이상으로 설정되어 있는지 확인해야 합니다. 패스워드 복잡도의 기준은 각각의 회사마다 관리하고 있는 정보보호정책  정보보호지침 의거해서 기준이 상이 할 수 있습니다.
항목 기본 기준 : 패스워드 복잡도(영문 /소문자, 숫자, 특수문자 채택 여부), 최소 자리수
U-46 패스워드 최소 길이 설정 "/etc/login.defs" 설정 파일 내 패스워드 길이가 8자리 이상으로 설정되어 있는지 확인해야 합니다. 패스워드 복잡도의 기준은 각각의 회사마다 관리하고 있는 정보보호정책  정보보호지침 의거해서 기준이 상이 할 수 있습니다.
U-47 패스워드 최대 사용기간 설정 "/etc/login.defs" 설정 파일 내 패스워드 최대 사용기간이 90 이하로 설정되어 있는지 확인해야 합니다. 패스워드 복잡도의 기준은 각각의 회사마다 관리하고 있는 정보보호정책  정보보호지침 의거해서 기준이 상이 할 수 있습니다.
U-48 패스워드 최소 사용기간 설정 "/etc/login.defs" 설정 파일 내 패스워드 최소 사용기간이 1 이상으로 설정되어 있는지 확인해야 합니다. 패스워드 복잡도의 기준은 각각의 회사마다 관리하고 있는 정보보호정책  정보보호지침 의거해서 기준이 상이 할 수 있습니다.

passwd 파일

  • Unix/Linux 시스템에서 사용자 계정 정보와 관련된 파일
  • 이 파일에는 각 사용자의 계정 이름, 암호화된 비밀번호, 사용자 ID (UID), 그룹 ID (GID), 사용자 정보(예: 이름), 홈 디렉토리 경로, 기본 셸 등이 포함되어 있습니다.
  • 일반적으로 이 파일은 /etc/passwd 경로에 위치하며, 시스템의 사용자 관리에 중요한 역할을 합니다.
  • 보안상의 이유로 암호는 일반적으로 /etc/shadow 파일에 저장 -> 패스워드 암호화를 관장

 

주요정보통신기반시설 보고서에 따르면 passwd 권한 644 이하 일 경우 "취약" 이다.

하지만, 타 사용자도 읽기 권한이 있지만 변경을 할 수 없기 떄문에 양호 처리한다.

 

 

로그인 가능계정 리스트업

cat /etc/passwd | grep bash

 

 

U-04
bash를 입력하는 이유는 최초 로그인을 시도했다는 증거 - 실제 로그인이 가능한 계정에 대해 암호화 처리가 되어있는지 확인한다.

 

3. 파일 및 디렉토리관리 에서 특정 키워드 놓고 뭔지 권한확인 문제 - 객관식

  • 읽기 권한 (Read) : 4
  • 쓰기 권한 (Write) : 2
  • 실행 권한 (Execute) : 1
U-56 UMASK 설정 관리 잘못된 UMASK 값으로 인해 시스템 내 신규 생성 파일에 대하여 과도한 권한이 부여될 수 있으며, 이로 인한 파일의 시스템 악용 우려가 있습니다. 이를 방지하기 위해 UMASK 값을 안전한 값으로 설정해야 합니다.
UMASK 022로 설정되어 있는지 확인해야 합니다.

 

기본 권한

  1. 파일의 기본 권한: 일반적으로 새로 생성된 파일의 기본 권한은 666 (읽기 및 쓰기 권한)입니다. 실행 권한은 기본적으로 포함되지 않습니다.
  2. 디렉토리의 기본 권한: 새로 생성된 디렉토리의 기본 권한은 777 (읽기, 쓰기, 실행 권한)입니다. 이는 디렉토리의 내용을 나열하고, 파일을 추가하거나 삭제할 수 있도록 하기 위해 실행 권한이 필요하기 때문입니다.

umask

하지만 실제로 사용자가 생성하는 파일이나 디렉토리의 권한은 umask 값에 따라 영향을 받습니다. umask는 기본 권한에서 제한할 권한을 지정하는 값입니다. 예를 들어, umask가 002라면:

  • 새로 생성된 파일 권한: 666 - 002 = 664
  • 새로 생성된 디렉토리 권한: 777 - 002 = 775

 

U-05 root , 패스 디렉토리 권한 및 패스 설정 OS에서 환경변수는 시스템 환경변수“, “사용자 환경변수로 구분되어 집니다. “시스템 환경변수 OS가 부팅되어 자동으로 실행해야하는 시스템 서비스를 구동합니다. “시스템 환경변수는 운영 및 관리자가 서비스를 구현하는 과정에서 추가 Middleware 및 서비스를 구동해야하는 경우 추가로 작성하는 변수입니다. 이번 항목에서는 시스템 환경변수 전체 내용에서 맨 앞과, 중간에 “.”이 포함되어 있는지 확인해야 합니다.
echo $PATH
U-06 파일 및 디렉토리 소유자 설정 삭제된 소유자의 UID와 동일한 사용자가 해당 파일, 디렉토리에 접근 가능하여 사용자 정보 등 중요 정보가 노출될 위험이 있습니다. 추가로 소유자가 존재하지 않는 파일 및 디렉토리를 삭제 및 관리하여 임의의 사용자에 의한 불법적 행위를 사전에 차단하기 위합입니다.
U-07 /etc/passwd 파일 소유자 및 권한 설정 관리자(root) 외 사용자가 "/etc/passwd" 파일의 변조가 가능할 경우 shell 변조, 사용자 추가/삭제, root 를 포함한 사용자 권한 획득 시도 등 악의적인 행위가 가능하며, /etc/passwd 파일 변경을 통한 비인가자의 권한 상승을 막기 위함입니다
U-08 /etc/shadow 파일 소유자 및 권한 설정 /etc/shadow” 파일을 관리자(소유자 root)만 제어(400)할 수 있게 하여 비인가자들의 접근을 제한하도록 shadow 파일 소유자 및 권한을 관리해야 하며 해당 파일에 대한 권한 관리가 이루어지지 않을 시 ID 및 패스워드 정보가 외부로 노출될 수 있습니다.
U-09 /etc/hosts 파일 소유자 및 권한 설정 hosts 파일에 비인가자 쓰기 권한이 부여된 경우, 공격자는 hosts(IP, hostname)파일에 악의적인 시스템을 등록하여, 이를 통해 정상적인 DNS를 우회하여 악성사이트로의 접속을 유도하는 파밍(Pharming) 공격 등에 악용될 수 있으며, /etc/hosts 파일을 관리자(600)만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지하기 위함입니다.
U-10 /etc/(x)inetd.conf 파일 소유자 및 권한 설정 (x)inetd.conf 파일에 비인가자의 쓰기 권한이 부여되어 있을 경우, 비인가자가 악의적인 프로그램을 등록하여 root 권한으로 불법적인 서비스를 실행할 수 있습니다. 이는 방지하기 위해서는 /etc/(x)inetd.conf 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지해야 합니다.
xinetd/inetd : 인터넷슈퍼데몬(서버 내부에 xinetd 경로 내 데몬이 등록되어 있을 경우 원격지(Public망) Client가 이를 호출할 수 있게 함
U-11 /etc/syslog.conf 파일 소유자 및 권한 설정 syslog.conf 파일의 접근 권한이 적절하지 않을 경우, 임의적인 파일 변조로 인해 침입자의 흔적 또는 시스템 오류 사항을 분석하기 위해 반드시 필요한 시스템 로그가 정상적으로 기록 되지 않을 수 있습니다. 이를 방지하기 위해서/etc/syslog.conf 파일의 권한 적절성(640)을 점검하여 관리자 외 비인가자의 임의적인 syslog.conf 파일 변조를 방지해야 합니다.
U-12 /etc/services 파일 소유자 및 권한 설정 services 파일의 접근 권한이 적절하지 않을 경우 비인가 사용자가 운영 포트번호를 변경하여 정상적인 서비스를 제한하거나, 허용되지 않은 포트를 오픈하여 악성 서비스를 의도적으로 실행할 수 있습니다. 이를 방지하기 위해서 /etc/services 파일을 관리자만 제어(600)할 수 있게 해야 합니다.

U-13 SUID, SGID, Sticky bit 설정 및 권한 설정 이를 방지하기 위해서 불필요한 SUID, SGID 설정을 제거해야 합니다. (확인 필요 파일 : /sbin/dump, /sbin/restore, /sbin/unix_chkpwd, /usr/bin/at, /usr/bin/lpq, /usr/bin/lpq-lpd, /usr/bin/lpr, /usr/bin/lpr-lpd, /usr/bin/lprm, /usr/bin/lprm-lpd, /usr/bin/newgrp, /usr/sbin/lpc, /usr/sbin/lpc-lpd, /usr/sbin/traceroute)
* SUID(Set User-ID) : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨.
* SGID(Set Group-ID) : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨.
U-14 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 홈 디렉토리 내의 사용자 파일 및 사용자 별 시스템 시작파일 등과 같은 환경변수 파일의 접근권한 설정이 적절하지 않을 경우, 비인가자가 환경변수 파일을 변조하여 정상 사용중인 사용자의 서비스가 제한 될 수 있습니다. 이를 방지하기 위해비인가자의 환경변수 조작을 통제해야 합니다. .*_history, profile, logout, bashrc 등의 권한이 확인이 필요함
U-15 world writable 파일 점검 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 악의적인 사용자가 해당 파일을 마음대로 파일을 덧붙이거나 지울 수 있게 되어 시스템의 무단 접근 및 시스템 장애를 유발할 수 있습니다. 이를 방지하기 위해 world writable 파일을 이용한 시스템 접근 및 악의적인 코드 실행 권한을 변경하거나 제거해야 합니다.
U-16 /dev에 존재하지 않는 device 파일 점검 공격자는 rootkit 설정파일들을 서버 관리자가 쉽게 발견하지 못하도록 /dev  device 파일인 것처럼 위장하는 수법을 많이 사용합니다. 이를 방지하기 위해서 실제 존재하지 않는 디바이스를 찾아 제거해야 합니다.
find /dev -type f -exec ls -al {} \;
U-17 $HOME/.rhosts, hosts.equiv 사용 금지 rlogin, rsh 등과 같은 'r'command의 보안 설정이 적용되지 않은 경우, 원격지의 공격자가 관리자 권한으로 목표 시스템상의 임의의 명령을 수행시킬 수 있습니다. 이를 방지하기 위해 'r'command 사용을 통한 원격 접속은 인증 없이 관리자 원격 접속이 가능하므로 서비스 포트를 차단해야 합니다. rexec, rsh, rlogin” – 인터넷 슈퍼 데몬에서 확인 필요
U-18 접속 IP 및 포트 제한 허용할 호스트에 대한 IP  포트제한이 적용되지 않은 경우, Telnet, FTP같은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해사고가 발생할 수 있습니다. 이를 방지하기 위해 허용한 호스트만 서비스를 사용하게 해야 합니다. /etc/hosts.deny에서는 “ALL:ALL” 설정해서 전체를 차단하고 /etc/hosts.allow에서는 호용이 필요한 사용자의 hostname, IP주소가 설정되어 있는지 확인해야 합니다.
U-55 hosts.lpd 파일 소유자 및 권한 설정 hosts.lpd 파일의 접근권한이 적절하지 않을 경우 비인가자가 /etc/hosts.lpd 파일을 수정하여 허용된 사용자의 서비스를 방해할 수 있으며, 호스트 정보를 획득 할 수 있습니다. 이를 방지하기 위해 비인가자의 임의적인 hosts.lpd 변조를 막기 위해 hosts.lpd 파일 삭제 또는 소유자 및 권한 관리를 해야 합니다.
U-56 UMASK 설정 관리 잘못된 UMASK 값으로 인해 시스템 내 신규 생성 파일에 대하여 과도한 권한이 부여될 수 있으며, 이로 인한 파일의 시스템 악용 우려가 있습니다. 이를 방지하기 위해 UMASK 값을 안전한 값으로 설정해야 합니다.
UMASK 022로 설정되어 있는지 확인해야 합니다.
U-57 홈디렉토리 소유자 및 권한 설정 홈 디렉토리 내 설정파일 변조 시 정상적인 서비스 이용이 제한될 우려가 존재합니다. 이를 방지하기 위해 사용자 홈 디렉토리 소유자 및 권한 설정을 점검해야 합니다.
소유자가 자기 자신으로 설정되어 있는지 타사용자 권한이 부여되어 있는지 확인해야 합니다.
U-58 홈디렉토리로 지정한 디렉토리의 존재 관리 사용자에게 지정된 디렉토리가 아닌 곳이 홈 디렉토리로 설정될 경우 해당 디렉토리 내 명령어 사용이 가능하며 이에 따라 시스템 관리 및 보안상 문제가 발생할 수 있습니다. 이를 방지하기 위해 /home 이외 사용자의 홈 디렉토리 존재 여부를 점검해야 합니다.

 

## U-06

- 파일 및 디렉토리 소유자 설정

- 소유자가 불분명한 파일이나 디렉토리가 존재하는지 여부를 점검

- find / -nouser -print

    - 하면 너무 많이 나옴

 

## U-09

- 파일 및 디렉토리 관리 /etc/hosts/ 파일 소유자 권한

- 소유자가 root, 권한 600

 

 

 

4. 서비스관리 안에 있는 항목 중에 아파치 문제 (난이도 중) - 객관식

U-35 Apache 디렉토리 리스팅 제거 디렉토리 검색 기능이 활성화 되어 있을 경우, WEB 서버 구조 노출뿐만 아니라 백업 파일이나 소스파일, 공개되어서는 안되는 파일 등이 노출이 가능합니다. 이를 방지하기 위해 외부에서 디렉토리 내의 모든 파일에 대한 접근 및 열람을 제한해야 합니다.
U-36 Apache 웹 프로세스 권한 제한 웹 프로세스 취약점 공격으로 Apache 권한이 탈취 당할 경우 Apache 프로세스의 권한이 root이면 시스템 전체의 제어권을 탈취 당해 피해범위가 확산될 가능성이 있습니다. 이를 방지하기 위해 Apache 데몬을 root 권한으로 구동하지 않고 별도의 권한으로 서비스하도록 설정해야 합니다.
U-37 Apache 상위 디렉토리 접근 금지 상위 경로로 이동하는 것이 가능할 경우 접근하고자 하는 디렉토리의 하위 경로에 접속하여 상위 경로로 이동함으로써 악의적인 목적을 가진 사용자의 접근이 가능하게 됩니다. 이를 방지하기 위해 상위 경로 이동 명령으로 비인가자의 특정 디렉토리에 대한 접근 및 열람을 제한해야 합니다.
U-38 Apache 불필요한 파일 제거 Apache 설치 시 htdocs 디렉토리 내에 매뉴얼 파일은 시스템 관련정보를 노출하거나 해킹에 악용될 수 있습니다. 이를 방지하기 위해 Apache 설치 시 디폴트로 설치되는 불필요한 파일을 제거해야 합니다.
U-39 Apache 링크 사용 금지 시스템 자체의 root 디렉토리(/)에 링크를 걸게 되면 웹 서버 구동 사용자 권한(nobody)으로 모든 파일 시스템의 파일에 접근할 수 있게 되어 "/etc/passwd" 파일과 같은 민감한 파일을 누구나 열람할 수 있습니다. 이를 방지하기 위해 무분별한 심볼릭 링크, aliases 사용을 제한해야 합니다.
U-40 Apache 파일 업로드 및 다운로드 제한 악의적 목적을 가진 사용자가 반복 업로드 및 웹 쉘 공격 등으로 시스템 권한을 탈취하거나 대용량 파일의 반복 업로드로 서버자원을 고갈시키는 공격의 위험이 있습니다. 이를 방지하기 위해 파일 업로드 및 다운로드를 제한해야 하지만 불가피하게 필요시 용량 사이즈를 제한해야 합니다.
U-41 Apache 웹 서비스 영역의 분리 웹 서버의 루트 디렉토리와 OS의 루트 디렉토리를 다르게 지정하지 않았을 경우, 비인가자가 웹 서비스를 통해 해킹이 성공할 경우 시스템 영역까지 접근이 가능하여 피해가 확장될 수 있습니다. 이를 방지하기 위해 웹 서비스 영역과 시스템 영역을 분리시켜야 합니다.
U-71 Apache 웹 서비스 정보 숨김 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집할 수 있습니다. 이를 방지하기 위해 HTTP 헤더, 에러페이지에서 웹 서버 버전 및 종류, OS 정보 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 설정해야 합니다.

## U-36
```
[root@localhost ~]# ps -ef | grep "httpd"
root      2171     1  0 Aug28 ?        00:00:09 /usr/sbin/httpd
apache    2736  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2737  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2738  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2739  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2740  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2741  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2742  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
apache    2743  2171  0 Aug28 ?        00:00:00 /usr/sbin/httpd
root      8116  8053  0 00:54 pts/0    00:00:00 grep httpd
```

- 불특정 다수가 서비스를 핸들링 함은 위험
- 필요한 권한만 허용
- root 계정은 booting script 때문에 먼저 구동

cat /etc/httpd/conf/httpd.conf | grep "User\|Group"| grep -v "#"
- 로그인이 불가능하도록 쉘 제한이 필수라는 항목에 대하여
    - cat /etc/passwd | grep apache
        - apache:x:48:48:Apache:/var/www:/sbin/nologin
        - 로그인 비허용

 

 

5. 샌드 메일 (주관식)

 

U-30 Sendmail 버전 점검 취약점이 발견된 Sendmail 버전의 경우 버퍼 오버플로우(Buffer Overflow) 공격에 의한 시스템 권한 획득 및 주요 정보 유출 가능성이 있습니다. 이를 방지하기 위해 Sendmail 서비스 사용 목적 검토 및 취약점이 없는 버전의 사용 유무를 점검해야 합니다. rpm qa | grep sendmail
U-31 스팸 메일 릴레이 제한 SMTP 서버의 릴레이 기능을 제한하지 않는 경우, 악의적인 사용목적을 가진 사용자들이 스팸메일 서버로 사용하거나 DoS공격의 대상이 될 수 있습니다. ps -ef | grep sendmail
U-32 일반사용자의 Sendmail 실행 방지 일반사용자가 q 옵션을 이용해서 메일큐, Sendmail 설정을 보거나 메일큐를 강제적으로 drop 시킬 수 있어 악의적으로 SMTP 서버의 오류를 발생시킬 수 있습니다. 일반사용자의 q 옵션을 제한하여 Sendmail 설정 및 메일큐를 강제적으로 drop 시킬 수 없게 하여 비인가자에 의한 SMTP 서비스 오류를 방지해야 합니다.
ps -ef | grep sendmail
U-68 로그온 시 경고 메시지 제공 로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 취약점을 이용하여 공격을 시도할 수 있습니다. 이를 방지하기 위해 서버 접속 시 관계자만 접속해야 한다는 경고 메시지를 설정해야 합니다.
Banner 설정이 필요한 서비스 : ssh, telnet, named, sendmail, ftp (로그인이 가능한 데몬)
U-70 expn, vrfy 명령어 제한 VRFY, EXPN 명령어를 통하여 특정 사용자 계정의 존재유무를 알 수 있고, 사용자의 정보를 외부로 유출 할 수 있습니다. 이를 방지하기 위해 SMTP 서비스의 expn, vrfy 명령을 사용하지 못하게 옵션을 설정해야 합니다.
ps -ef | grep sendmail

 

## U-68
- 저희는 이걸 배너라고 해요
로그인을 할 때 위험성을 알려주는 것
- 목적
  - 버전정보, 어떤 플랫폼 사용하는지 노출 X
  - 사회공학적 기법 : 경고가 붙어있는데 출입한 경우는 처벌의 수위가 달라집니다.
### 로그인이 가능한 서비스
- Telnet, ssh, sendmail, postfix
- ps -ef | grep "telnet\|ssh\|sendmail\|named\|ftp"
```shell
[root@localhost ~]# ps -ef | grep "telnet\|ssh\|sendmail\|named\|ftp"
root      1887     1  0 Aug28 ?        00:00:00 /usr/sbin/sshd
root      8049  1887  0 00:43 ?        00:00:04 sshd: root@pts/0
root      8584  8053  0 04:10 pts/0    00:00:00 grep telnet\|ssh\|sendmail\|named\|ftp
[root@localhost ~]# cat /etc/motd
TEST Server 접근시 허용된 계정만 접근이 가능하며
그외 비인가된 계정은 접근하실 수 없습니다.
```
- named는 DNS 

 

## U-70
- smtp 서비스 사용시 crfy, expn 명령어 사용 금지 설정 여부 점검
- /etc/mail/sendmail.cf
  - O PrivacyOptions - (noexpn,novrfy 또는 goaway)

 

## U-42
- 시스템에서 최신 패치가 적용되어 있는지 점검
- 주요하게 CV취약점이 발생되는 데몬을추려서 버전확인 필요
### 
- openssh
- bash
- named
  - bind 취약점 발생 가능
- glibc
- 로그인 가능(인증 인가 서비스 거부 공격 가능)
  - ftp
  - sendmail
  - openssl
    - 인증서 적용을 하기 위해 필수로 필요한 패킷
    - https
###
- 현재 구성된 서버의 OS가 "CentOS 6.9" 버전으로 "XXXX년 XX월 XX일" 기준으로 EOS(End Of Service)되어 CVE 주요 취약점이 발생될 수 있는 필수 데몬(openssh, glibc, openssl 등)의 최신 패치를 적용할 수 없는 상태입니다.
- major 버전, 6.9 _ 6 이 바뀌면 업데이트 못함
- 데이터 부분 다 백업하고 서버업데이트 후 migration해야 합니다
###
- ad : active directory
  - 사용자와 컴퓨터 그룹이 존재
###
- 언제까지 조치하겠다는 내용 필수
- 심사는 올해만 하고 끝이 아니라 최초진단을 3년 이내로 다시 받게 곧 변함
- 신규 서버의 구축 완료기간, Data Migration 완료 기간을 산정해서 보안담당자에게 확인을 받고 이를 결과보고서 내 Comment로 기입해야 함

 

6. 환경분석 (주관식 난이도 상)

 

 

 

주요통신기반시설점검(관리)

 

  1. 자산 관련 (자산 위협 취약성 ? )
  2. 위험평가는 안들어감

 

정보보호 전문가

정보보호 전문가로 “기관, 기업의 정보보호 문제점을 찾아 중요한 정보자산(시스템) 안전하게 유지될 수 있도록 도와주는 일”을 하는 사람

  • 보안 시스템 운영자/관리자
  • 보안 소프트웨어 개발자
  • 보안시스템 엔지니어
  • 보안관제(침해대응, 모니터링)

정보보호 컨설턴트

  • 침해대응 전문가
  • 모의해커(화이트해커)
  • 디지털 포렌식 전문가
  • 정보보호체계 설계

정보보호 컨설턴트의 역량 

  • 관련 분야에 대한 지식
  • 문제의 분석 및 진단 능력
  • 의사소통 기술
  • 해결 및 실행력

보안 컨설팅 프로젝트는 기업, 기관의 법률 준수 의무, 보안 사고 및 이슈, 상위기관 보안감사 등의 이유로 진행

 

 

컨설턴트 무엇을 먼저 알아두어야하나?

 

1. 정보보호체계/인증제도

  • KISA ISMS_P 기준
  • ISO27001 기준

2. 정부정책 규제 방향

  • 개인정보보호법
  • 정보통신망법
  • 전자금융거래법
  • 신용정보의 이용 및 보호에 관한 법률

3. 비즈니스 형태 이해

  • 금융회사
  • 공공기관
  • 온라인쇼핑
  • 비즈니스
  • 공공기관서비스

정보보호 컨설팅 서비스 영역

  • 취약점 진단
  • 모의해킹
  • 모바일앱
  • 정보보호 관리체계
  • ISMS인증
  • ISO27001인증
  • 개인정보보호 컨설팅
  • 법률 준거성 분석

 

인터뷰 준비 및 진행 -> 현황분석(분석 Framework 만들기) -> 체크리스트 만들기 -> 착수단계 -> 중간단계 -> 종료단계 

 

 

주요정보통신기반시설

  • 민간, 공공 시설을 불문하고 침해사고 등이 발생할 경우 국가안정보장과 경제사회에 미치는 피해규모 및 범위가 큰 시설 (예: IDC, ISP, 은행, 철도, 항만, 행정, 교육 등 )
  • 국가안전보장, 행정, 통신, 금융, 의료 등 국가·사회적으로 중요한 시설을 주요정보통신기반시설로 지정·관리

주요정보통신 기반시설 취약점 분석, 평가 관련 법령

  • 기반시설지정 기준
    1. 전자적 침해행위로부터 보호가 필요하다고 인정되는 정보통신기반시설을 주요정보통신기반시설로 지정
      1. 기관이 수행하는 업무의 국가사회적 중요성
      2. 기관이 수행하는 업무의 정보통신기반시설에 대한 의존도
      3. 다른 정보통신기반시설과의 상호연계성
      4. 피해규모 및 범위
      5. 침해사고의 발생가능성 또는 그 복구의 용이성
  • 취약점 진단반 구성 및 진단
    1. 취약점을 분석, 평가하는 전담반을 구성하여야 한다.
    2. 「정보보호산업의 진흥에 관한 법률」 제23조에 따라 지정된 정보보호 전문서비스 기업

 

 

 

1. 정보보호 컨설팅 서비스 영역 > 주요정보통신 기반시설 취약점 분석 및 평가

 

취약점 분석, 평가란?

취약점 분석 평가란, 악성코드 유포, 해킹 등 사이버 위협에 대한 주요정보통신 기반시설의 취약점을 종합적으로 분석 및 평가.개선하는 일련의 과정을 말함

 

수행 주체 : 관리기관, 외부기관

* 외부기관 : 한국인터넷진흥원, 정보공유분석센터, 한국전자통신연구원, 정보보호전문 서비스 기업 등

■ 수행주기 : 1년

■ 평가대상

주요정보통신기반시설의 세부시설로 정의된 정보보호 대상 자산(정보시스템, 제어시스템)

■분석,평가 절차

1단계 : 취약점 분석,평가 계획 수립

2단계 : 취약점 분석,평가 대상 선별

3단계 : 취약점 분석 수행

4단계 : 취약점 평가 수행

 

1. 위험의 구성 요소

자산(Asset) : 조직이 보호해야할 대상으로 정보, 하드웨어, 소프트웨어, 시설 등

위협(Threats) : 자산에 손실을 초래할 수 있는 원치 않는 사건의 잠재적 원인

취약성(Vulnerability) : 자산의 잠재적 속성으로서 위협의 이용 대상이 되는 것

 

 

악성코드 분석

 

시험문제 (악성코드 행위중)

 

 

1. 악성파일, 모든 파일에서 타임스탬프는 얼마든지 조작이 가능하다. → 신뢰할 수 없다.

타임스템프 영역은 악성코드 제작자가 분석을 방해하기 위해서, text 값을 가공할 수 있다.

 

 

2. 정보유출용 악성코드 중 개인정보 악성코드 명이 뭐인가?

정보 유출을 목적으로 하는 악성코드는 여러 가지가 있지만, 대표적인 예로는 "키로거(Keylogger)", "트로이목마(Trojan)", "스파이웨어(Spyware)" 등이 있습니다. 이들은 사용자의 개인정보를 수집하거나 유출하는 데 사용됩니다.

 

 

행위에 따른 분류

  1. 스파이웨어 : 사용자환경의 브라우저 정보, 시스템정보, 뱅킹정보 등을 탈취하는 악성코드
  2. 트로이목마 : 정상 프로그램으로 위장, 악의적인 공격코드의 실행을 유도하는 악성코드

 

목적에 따른 분류

  1. 인포스틸러
    1. 시스템 정보 및 뱅킹, 브라우저 등 감염된 시스템의 정보를 수집하는 악성코드
    2. 개인의 경우 정보탈취 및 금전피해 유발, 국가 및 조직의 경우 민간정보 탈취가 주요 목적
  2. 키로거
    1. 사용자가 입력한 키 값을 가로채서 행위의 기록을 탈취하는 악성코드
    2. 사용자가 직접 입력한 기록을 가져가기 떄문에 뱅킹정보와 같은 정보를 주로 목적으로 함
  3. 랜섬웨어
    1. 파일이나 드라이브를 암호화하여 복호화를 빌미로 금전을 요구하는 악성코드
    2. 초기에는 암호화 기능만 수행하였으나, 정보탈취 DDoS등 다중협박 전략으로 피해자를 압박해 협상금액을 높이는 형태로 발전

 

3. 악성코드, 정보유출 중 개인정보나 브라우저에 PC, 쿠키 정보를 수집하는 악성코드가 무엇인가

정보유출형 ~ 쿠키 캐시를 수집하는 악성코드 명

 

스파이웨어

 

 

 

보안관제 이론

 

시험 문제

난이도 하 2 중 1 ~ 2 상 1~2

SIEM

 

방화벽 (네트워크 트래픽을 필터링) = IP/PORT,Protocol 주소 기반의 접근 차단 위주의 방어 

• OSI 7 Layer 기준 3계층 기반에서 작동(수행 범위는 3~4계층)

 

TCP Wrapper = 서비스 기반의 방어

 

IDS의 등장

  • 트래픽을 실시간으로 모니터링(미러링)
  • 공격 패턴, 시그니처를 기반으로 공격 탐지
  • 호스트 또는 네트워크를 기반으로 침입 탐지
  • 정상 트래픽 및 동작을 학습한 후 비정상 행위 탐지
  • 차단X → 탐지
  • 신호로 오탐(False positive), 정탐(False Negative)을 구분지어 발생시킨다.
  • 비정상 행위를 탐지할 수 있는 시그니처, 즉 탐지정책의 필요성 증가
  • 탐지 이후의 대응은 IDS 장비를 통해 대응이 불가능
  • IDS와 방화벽을 통해 DDoS 방어 시도

IDS의 문제점

  • DDos 공격 대응 실패
  • 탐지만 하고 차단할지 결정은 사람이 하기 때문에 오탐(False positive) 발생
  • 직접적인 공격의 차단이 불가능하다(미러링)
  • 탐지 이후의 대응은 IDS 장비를 통해 대응이 불가능
  • 2000년대 기술의 발전과 공격방식의 발전에 따라 다음 단계의 보안장비가 필요

IPS의 등장(2000년대) - IDS + packet filtering system

  • IDS의 기능에 차단기능을 추가하여 실시간 위협 차단
  • DoS, DDoS 탐지 및 차단 가능(대규모 트래픽→전문 DDoS 장비 필요)
  • 자동으로 탐지와 차단이 가능해짐

IPS의 문제점

  • 웹 어플리케이션을 목표로 하는 공격(Injection, XSS…)을 탐지 및 차단하지 못함
  • 내부자 위협에 대한 방어 수단X
  • 클라우드 환경에서의 물리적 장비의 한계(2010년대)

WAF(Web Application F/W)의 등장

  • 어플리케이션 계층의 공격을 방어하는데 특화
  • SSL/TLS 트래픽을 복호화 하여 공격 차단

DLP(Data Loss Prevention)의 등장 

  • 데이터 유출을 방지하기 위하여 네트워크, 엔드포인트 모니터링
  • 비인가 행위를 차단하여 내부자 위협 방어

APT(Advanced Persistent Threat)장비 등장

  • 랜섬웨어, 크립토재킹 등 다양한 공격 방식과 지속적 공격을 방어하기위해 샌드박스 형식의 보안장비 개발

UTM장비 등장

  • 다양한 보안 장비를 하나의 장비로 통합(F/W, IDS/IPS, DLP, APT…)


샌드박스

  • 안전한 환경에서 프로그램이나 파일을 실행하여 악성 코드나 보안 위협을 분석하고 차단하는 기능을 가진 장비
  • 격리된 공간에서 실행되기 때문에, 실제 시스템에 영향을 미치지 않고 위험을 평가할 수 있습니다. 주로 악성코드 탐지, 네트워크 보안, 애플리케이션 테스트 등에서 사용되며, 사이버 공격에 대한 방어 수단으로 효과적입니다.

 

 

ESM(Enterprise Security Management)

  • 보안장비를 통합하여 중앙 집중 관리
  • F/W, IDS/IPS, VPN…
  • 보안 정책 수립, 시행에 맞는 보안, 관리적 목적
  • 보안관리체계에 집중한 방식

1. SIEM (보안 정보 및 사건 관리)

  • 조직의 보안 상태를 모니터링하고 관리하기 위한 솔루션입니다.
  • SIEM 시스템은 다양한 소스에서 로그와 이벤트 데이터를 수집하고, 이를 분석하여 보안 위협을 탐지하고 대응하는 데 도움을 줍니다.
  • 보안장비 및 모든 자원에서 발생한 로그 통합(빅데이터기반)
  • 관리되는 자원의 모든 로그를 통합하여 상관 분석
  • 실시간 위협 탐지와 연관성 분석이 가능
  • 시나리오를 통한 위협 분석이 가능

SOAR(보안 오케스트레이션, 자동화 및 대응)

  • 보안 팀이 보안 사건을 보다 효율적으로 관리하고 대응할 수 있도록 돕는 플랫폼입니다. SOAR의 주요 기능은 다음과 같습니다:
  • 사이버 위협에 대한 업무의 자동화
  • Playbook을 통한 보안 위협 유형에 따른 업무 자동화
  • AI 기반 지능형 보안관제 시스템
  • 빅데이터 기반의 SIEM과 연계 및 위협 인텔리전스 연동
  • 보안 전문 인력 부족 문제 해결
  • 오케스트레이션: 다양한 보안 도구와 시스템을 통합하여 서로 간의 작업을 조정하고 자동화합니다.
  • 자동화: 반복적인 보안 작업을 자동화하여 인적 오류를 줄이고, 보안 팀의 효율성을 높입니다.
  • 사건 대응: 보안 사건 발생 시 신속하게 대응할 수 있는 프로세스를 제공하여 사건 처리 시간을 단축합니다.
  • 협업 기능: 보안 팀 내에서 원활한 커뮤니케이션과 협업을 지원하여 사건 해결을 가속화합니다.
  • 보고 및 분석: 사건 대응 과정과 결과를 기록하고 분석하여 지속적인 개선을 도모합니다.

SOAR 플랫폼은 보안 운영을 최적화하고, 위협 탐지 및 대응 능력을 강화하는 데 중요한 역할을 합니다.

 

보안관제 유형

1. 원격관제

2. 파견과제

3. 하이브리드 관제

4. 클라우드 관제

 

 

  • DNS 포트번호 53
  • 400 클라이언트 오류 (Bad Request): 클라이언트의 요청이 잘못되어 서버가 이해할 수 없음을 나타냅니다.
  • 500 서버 오류 (Internal Server Error): 서버가 요청을 처리하는 중에 내부 오류가 발생하여 요청을 완료할 수 없음을 나타냅니다.
  • 300 여러 선택지 (Multiple Choices): 요청한 리소스에 대해 여러 가지 선택지가 존재함을 나타냅니다.
  • 301 영구 이동 (Moved Permanently): 요청한 리소스가 영구적으로 다른 URL로 이동했음을 나타냅니다. 클라이언트는 새로운 URL을 사용해야 합니다.
  • 302 임시 이동 (Found): 요청한 리소스가 임시적으로 다른 URL로 이동했음을 나타냅니다. 클라이언트는 원래 URL을 계속 사용해야 합니다.
  • 304 수정되지 않음 (Not Modified): 클라이언트가 요청한 리소스가 수정되지 않았음을 나타내며, 클라이언트는 캐시된 버전을 사용할 수 있습니다.

Snort

오픈 소스 네트워크 침입 탐지 시스템(NIDS) 및 침입 방지 시스템(NIPS)으로, 

네트워크 트래픽을 실시간으로 모니터링하고 분석하여 잠재적인 공격이나 악성 활동을 탐지하는 데 사용됩니다.

 

  • 패킷 캡처: 네트워크를 통해 흐르는 패킷을 캡처하여 분석합니다.
  • 침입 탐지: 미리 정의된 규칙에 따라 패킷을 분석하여 악성 코드나 공격 패턴을 탐지합니다.
  • 침입 방지: 탐지된 공격에 대해 자동으로 차단 조치를 취할 수 있습니다.
  • 로그 및 보고: 탐지된 이벤트에 대한 로그를 기록하고, 필요한 경우 경고를 생성합니다.
  • 유연한 규칙 설정: 사용자가 규칙을 정의하여 특정 트래픽을 필터링하거나 모니터링할 수 있습니다.

Snort는 강력하고 유연한 보안 솔루션으로, 다양한 환경에서 널리 사용되고 있습니다.

 

 

 

보안관제 실무

1. (시험)보안관제 구성요소 - 객관식 예상

  1. Process (관제 방법론)
    - 조직과 규모, 목표에 따른 절차
    - 위기대응 메뉴얼
    - 유관 부서간 역할 정의
  2. People (숙련된 인력)
    - 역할별 기능을 수행하기 위한 인력

    - 운영 방법
    - 직접운영 / 위탁운영
  3. System(모니터링 Tool/인프라)
    - 보안관제 모니터링
    - 침해사고 대응 관리 시스템
    -  다양한 분석 시스템

 

 

 

2. (시험)방화벽 NAT - (방화벽, NAT 개념 둘 다 알아야함)

 

사설 IP를 공인 IP에 필요한 주소 변환 서비스, 방화벽을 활용하여 다수의 사설 IP를 하나의 공인 IP주소로 변환하는 기술

  • 공인 IP 주소 절약 : 인터넷상의 공인 IP는 한정되어 있는데, 점점 그 수요가 많아 지고 있어서 공인 IP 주소가 고갈될 우려가 있음
  • 보안 강화 : 내부에서 사설 IP 사용을 통해 외부에서 서버나 인터넷 장비에 직접적인 접근을 하지 못하게 함

내부 -> 외부

내부 특정사설 IP가 특정공인 IP 또는 대역 으로 변경되어 나가는 형태

 

외부->내부

하나의 공인 IP에 내부서버로 1:1로 접속되는 형태

 

 

 

3.(시험) SQL Injection

  • 웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격 방법으로 웹 응용 프로그램이나 파라미터 값에 강제로 SQL 질의문을 삽입하여 응답값을 통해 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 공격기법
  • 웹 서버로 전달된 SQL 질의문은 데이터베이스 정보가 일치할 경우 질의문에 해당하는 'True' 값을 반환하고 일치하지 않을 경우 'False' 값을 반환, 이때 에러메시지를 통해 2차 공격을 시도할 수 있다.

 

공격 영향

  • 인증 절차 우회 가능
  • 데이터베이스에 저장된 데이터 값을 열람/삭제/수정 가능
  • 시스템 명령어 조작으로 운영 시스템에 영향

 

Webshell 공격

  • 웹페이지인 웹(Web)과 서버에 명령을 내려 실행하기 위한 인터페이스 역할의 쉘(Shell)의 합성어로써 웹 페이지에서 서버에게 명령을 실행하기 위해 만들어진 프로그램
  • 웹 서버(PHP, ASP, JSP 등)의 다양한 취약점 등을 타깃으로 공격하여 웹 서버에 Webshell을 업로드 한 후 웹 브라우저를 통해 업로드한 Webshell을 실행하여 침투한 서버상의 정보유출 및 변조, 악성코드 유포 등 웹 공격에 활용됨
  • 대표적인 공격형태로 확장자 우회공격, 자바스크립트 우회공격, MIMI Type 우회, 그림파일을 이용한 한 줄 웹쉘 등이 있다.

공격 영향

  • 관리자 권한 탈취 및 내부망 접근하여 내부 자료 및 개인정보 유출 가능
  • 웜 / 바이러스 배포서버로 악용

대응 방안

  • 확장자 제어: 허용된 확장자 외에는 업로드 금지, 정의된 확장자 차단
  • Directory List 취약점 제거 : 서버 내 파일 / 폴더 등을 확인하여 소스코드, 웹 페이지 구조가 노출 되는 것을 사전 제거

 

 

Command/Code Injection(Execution)

  • 시스템 명령어를 호출하는 어플리케이션의 인자 값을 조작하여 의도하지 않은 시스템 명령어를 실행시키는 공격 기법
  • 주로 취약한 함수를 사용하거나 변수 입력 값 미 검증으로 인해 발생되며 과거에 발생된 Bash Shell Shock가 대표적이다.

공격 영향

  • 해당 공격이 유효성이 있을 경우, 웹 어플리케이션을 구동하고 있는 시스템 계정의 Shell 권한(관리자 권한 등) 을 획득하는 것과 같음

대응 방안

  • 지정되어 있는 변수 입력 값 외에 다른 값들이 들어왔을 경우 차단
  • 운영체제의 시스템 명령어가 사용자 입력에 의해 존재하는지 확인하고 불필요한 요청 시 차단
  • 확인되지 않은 사용자 입력을 파이프라인, open() 명령 등으로 전달하지 않음

 

XSS(Cross Site Scripting)

  • 컨텐츠를 암호화/검증하는 절차 없이 사용자가 제공하는 데이터를 어플리케이션에서 받아들이거나 웹 브라우저로 보낼 때 발생되는 공격
  • JavaScript, VBScript 등과 같이 CSS(Client Side Script) 특징을 가진 언어로 작성된 악성 스크립트를 웹 페이지/게시판/메일 등에 포함시켜 사용자에게 전달하고 이를 사용자가 열람하였을 때 악성 스크립트가 실행됨

공격 영향

  • 악성 스크립트가 삽입된 게시판에 접근한 사용자를 대상으로 웜/바이러스 배포
  • 사용자의 세션 정보를 탈취하여 재사용 가능(사용자가 관리자일 경우 관리자 계정 탈취 기능)

대응 방안

  • 쿠키 값에 인증/권한 등의 중요 정보가 기록되지 않게 하거나 쿠키 인증 방식이 아닌 세션 인증 방식으로 변경
  • 스크립트 코드에 사용되는 특수문자에 대한 적절한 필터링
  • 사용자가 게시판에 사용할 수 있는 HTML 포맷만을 허용

 

 

4. (시험) SIEM 구성 및 이해

 

Manager

  • 경보 감사 데이터 발생 시, 다양한 알람 기능을 처리(Sound, Email, SMS, 스크립트, SNMP)
  • 감사 데이터 및 설정 데이터 저장을 위한 데이터베이스 백업 및 삭제관리를 스케쥴링 처리
  • 모든 자체 감사 데이터를 생성하고, 데이터베이스에 저장

Console

  • 사용자 및 에이전트 그룹 관리, 구성관리, 수집조건, 연관성 분석, 데이터베이스 백업 및 삭제 관리 등 모든 설정 화면을 제공

Agent

  • 관리대상 장비로부터 수집한 로그를 정해진 규칙에 따라 정규화하고, 수집조건 규칙과 비교하여 매니저로의 전송 여부를 결정
  • 매니저로 전송 전에 동일 패턴으로 구분되는 이벤트는 축약 처리하여 네트워크 및 데이터베이스 등의 부하를 최소화
  • Agent 방식 - Agent설치 됌

각 장비마다 Agent(데이터 수집 및 판단) 가 있어야함

  • Agentless 방식 - Agent설치가 안되고 sys로그만 던져주는 방식

SIEM 구성 3가지 요소

Agent - Manager(Back-end) - Console(front-end)

 

 

5. (시험)외부 침입으로부터의 방안

 

공격자

  • 1단계 대량트래픽차단시스템 (DDOS) → 패킷 많이 들어오면 네트워크 과부하, 시스템한테 가는거니까 서비스가 안되는 것

서비스 자원 고갈, 서비스 거부 공격방어

  • 2단계 침입방지시스템 IPS (In-line mode (IPS), sniffing (IDS) 미러링 떠서 데이터만 탐지할 수 있게 하는것)

비정상 패킷 차단

  • 3단계 침입차단시스템 (방화벽)

비정상 세션 차단, IP,PORT 제어

  • 4단계 악성메일차단 (URL, 악성 첨부파일을 차단)

스펨메일 차단, 악성 유포지 경로, 악성 첨부파일 차단

  • 5단계 웹 안전도 검사 시스템 (홈페이지 바탕화면 바꾸는것, 기존이랑 변경된 사항이 있는지 확인하고 차단한다. )

웹 서비스 위변조 대응 (문자, 이미지 크기 변경)

  • 6단계 웹방화벽 (WAF)

웹 공격, 정보유출 차단

  • 7단계 서버보안, 감사

자원/프로세스 접근제어, 사용자 계정 및 로그감사

  • 8단계 DB암호화, 접근제어

DB 중요정보 암호화, DB 사용자 인증 및 로그감사, 명령어 제어

 

정보시스템

 

 

 

 

 

 

AWS 클라우드 기초 및 구조 / 실습

강사가 확실하게 집어주지 않음 강의한 자료 한번 다 봐야함

 

클라우드 서비스의 형태는 어떤 것인가 IaaS , PaaS, SaaS

클라우드 컴퓨팅은 무엇인가

클라우드란 무엇인가

클라우드 서비스 보안강화를 위해 루트 계정에 추가하는 기능이 무엇인가

 

 

1. 클라우드 서비스의 형태는 어떤 것인가 IaaS , PaaS, SaaS

 

IaaS, PaaS, SaaS

  • Infrastructure as a Service(IaaS) : 서버/네트워크/스토리지 등의 리소스 제공
  • Platform as a Service(PaaS) : 애플리케이션이 작동하는데 필요한 플랫폼 제공
  • Software as a Service(SaaS) : 클라우드 제공자가 전용 애플리케이션까지 제공

 

2. 클라우드 컴퓨팅은 무엇인가

 

Cloud Service 예시

  • 개발자나 벤더는 비즈니스나 업무에 필요한 Applcation을 개발
  • 개발 된 Application은 AWS 인프라 위에 배포하여 서비스를 제공함

On-Premise vs Cloud

  • On premise : 서비스에 필요한 모든 리소스를 기업안에서 관리 → 초기투자 비용 높음
  • Cloud : 컴퓨터 리소스를 빌려주는 기업과 계약을 맺고 필요한 만큼만 리소스를 대여 → 초기투자 비용 낮음

(참고)

클라우드 컴퓨팅은 인터넷을 통해 데이터 저장, 관리, 처리 등의 컴퓨팅 자원을 제공하는 기술입니다. 사용자는 물리적인 서버나 하드웨어에 의존하지 않고, 필요한 만큼의 자원을 언제든지 필요에 따라 사용할 수 있습니다. 주요 특징은 다음과 같습니다.

  1. 유연성: 필요에 따라 자원을 쉽게 확장하거나 축소할 수 있습니다.
  2. 비용 효율성: 초기 투자 비용이 적고, 사용한 만큼만 지불하는 모델이 일반적입니다.
  3. 접근성: 인터넷만 있으면 언제 어디서나 데이터와 애플리케이션에 접근할 수 있습니다.
  4. 자동화: 시스템 관리와 유지 보수가 자동화되어 있어 사용자에게 편리함을 제공합니다.

주요 서비스 모델로는 IaaS(인프라 서비스), PaaS(플랫폼 서비스), SaaS(소프트웨어 서비스)가 있습니다.

 

 

3. 클라우드 서비스 보안강화를 위해 루트 계정에 추가하는 기능이 무엇인가

 

루트 사용자 보안 강화하는 법

  • MFA : 비밀번호 외에 추가적인 인증 수행
  • 대표적인 예시로 은행에서 사용하는 OTP가 있음

 

 4. 클라우드란 무엇인가

 

클라우드와 클라우드 컴퓨팅은 밀접하게 관련되어 있지만 약간의 차이가 있습니다.

  1. 클라우드:
    • 클라우드는 인터넷을 통해 제공되는 데이터 저장소, 서버, 네트워크 등 다양한 자원을 포괄하는 개념입니다.
    • 일반적으로 클라우드는 자원과 서비스의 집합체로 이해할 수 있습니다.
  2. 클라우드 컴퓨팅:

컴퓨팅, 스토리지, 소프트웨어, 네트워크와 같은 IT 자원들을 인터넷을 통해 필요한 만큼 빌려 쓰고 사용한 만큼 비용을 지불하는 서비스 

 

 

5. 제로트러스트 아키텍처 보안에 특징

Nothing is ever 100% secure

- given enough time, resources, and motivation, an attacker can break any system

6. 실습 → s3의 기능 서비스 이름 정도 어떤건지 구별 (버츄얼머신, 스토리지 등)

카테고리 서비스 설명
컴퓨팅 EC2 리눅스/윈도우 등을 운영 할 수 있는 서버
스토리지 S3 대량의 데이터를 저장하기 위한 저장소
관리 및 거버넌스 Cloud Watch AWS로 구축한 서비스 모니터링 수행
보안,자격 증명 및 규정 Identity and Access Management(IAM) AWS의 리소스를 사용하기 위한 사용자 및 권한 설정
네트워킹 및 컨텐츠 VPC 가상 네트워크 인프라스트럭쳐 구축
청구 및 비용 Billing and Cost Management 월별 운용 및 비용관리

7. 클라우드 네이티브라면 어떤 조건을 갖춰야하는가

클라우드네이티브는 태어났을때부터 클라우드여야한다.

Cloud Native (AWS native: 당근마켓, 배달의민족 등…)

 

 

Cloud Native Design

  • 클라우드의 이점을 최대로 활용할 수 있도록 애플리케이션을 구축하고 실행하는 방식

 

Cloud Native technologies

  • 클라우드 환경에서 확장성있는 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변 인프라, 선언형 API가 이러한 접근 방식의 예시들이다.
  • 이 기술은 회복성, 관리 편의성, 가시성을 갖춘 느슨하게 결합된 시스템을 가능하게 한다. 견고한 자동화 기능을 함께 사용하면, 엔지니어는 영향이 큰 변경을 최소한의 노력으로 자주, 예측 가능하게 수행할 수 있다.

8. 시스템 공유를 하면서 효율성을 증대시키는게 클라우드인데, 가상머신에 특성들, 어떤 걸 기반으로 만들어지고 작동되는지

가상 머신의 작동 기반

  1. 하이퍼바이저: 가상 머신을 생성하고 관리하는 소프트웨어로, 하드웨어와 VM 간의 중재 역할을 합니다. 타입 1(베어 메탈)과 타입 2(호스트 기반) 하이퍼바이저가 있습니다.
  2. 가상화 기술: VT(Intel Virtualization Technology)나 AMD-V와 같은 하드웨어 가상화 기술이 가상 머신의 성능을 향상시키고, 효율적인 자원 관리를 가능하게 합니다.
  3. 운영 체제: 각 가상 머신은 독립적인 운영 체제를 실행할 수 있으며, 이를 통해 다양한 환경에서의 애플리케이션 실행이 가능합니다.
  4. 클라우드 서비스 모델: IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)와 같은 다양한 클라우드 서비스 모델을 통해 가상 머신을 제공하고 관리합니다.

 

MSA(Microservice architecture)

  • independent development and deployment -> mixed technology stack
  • fault isolation : even if one service does not work, the system still works
  • granular scaling : individual components can scale as per need

MSA 문제점

  • SW복잡성에 따른 이슈
  • 시스템 보안성 이슈
    • 분산 소프트웨어의 구성 요소는 통신을 위해 별도의 API 및 포트를 사용하기 때문에 발생
    • 분산 소프트웨어 구성 요소 간 복잡한 의존성으로 인해, 개발팀 조차 전체 구조를 파악하기 어려움

 

VT(Virtualization Technology) 장점 및 단점

 

하이퍼바이저는 여러 운영 체제를 동시에 실행할 수 있도록 해주는 소프트웨어입니다. 물리적인 서버 위에 가상 머신을 생성하고 관리하는 역할을 하며, 두 가지 유형으로 나눌 수 있습니다:

  1. 타입 1 하이퍼바이저: 하드웨어 위에서 직접 실행되며, 성능이 뛰어나고 보안성이 높습니다. 예: VMware ESXi, Microsoft Hyper-V.
  2. 타입 2 하이퍼바이저: 기존 운영 체제 위에서 실행되며, 사용자 친화적입니다. 예: VMware Workstation, Oracle VirtualBox.

TYPE -2 Hypervisor

게스트 운영 체제(Guest OS)는 가상화 환경에서 하이퍼바이저 위에서 실행되는 운영 체제

 

https://brandonlog.tistory.com/category/Information%20Technology/Cyber%20security%20basic 

 

LXC (Linux Containers)

- Birth Background of LXC

OS레벨 가상화 기법을 통해 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템들을 구동하기 위한 환경 제공

- 완전한 가상머신 제공대신, 고유한 프로세스와 네트워크 스페이스를 가진 가상 환경을 제공

- cgroups와 namespace를 결합하여 애플리케이션을 위한 고립된 구동환경 제공

Docker또한 실행 드라이버의 하나로 LXC를 사용할 수 있으며, 이를 통해 이미지 관리와 개발 서비스를 제공 가능

 

 

 

cgroups(Control Groups) : Defend against DOS Attacks

 

namespace : Provide processes with their own view of the system

 

VPC(Virtual Private Cloud)는 클라우드 서비스 제공자가 제공하는 가상 네트워크

 

NAT : private subnet의 경우 인터넷에 접근할 수있지만, 인터넷에서는 접근 할 수 없어야함 (이와 같은 서비스 제공해주는 시스템이 NAT) 

 

로드밸런서

모의해킹

주관식

 

1. request 메소드 중에 get 과 post 웹서버 로그에서 어떤식으로 되는지

get 변수 파라미터가 url 에 포함되어 있어 메인 로그에 기록됨

post 변수 파라미터가 url상에 보이지 않고 바디에 보여서 웹로그에 파라미터 부분이 보이지 않음 / 해커입장에서는 post 방식을 사용함

 

2. xss , csrf 방식이 뭐가 다른지

xss 는 클라이언트에서 실행이 된다. csrf 는 서버에서 실행이 된다.

 

3. db 쿼리값을 조작해서 시스템에 접근하는 공격을 뭐라고 부를까요

퀴리나 db 가 들어가면 SQL injection 이다.

 

4. 취약점 분석 단계 , 정보수집단계부터 시작해서 취약점분석단계 → 공격 침투단계 → 전의단계 설명한 페이지 확인

 

5. 모의해킹 공격을 할때 웹방화벽에서 탐지가 잘 안되는 공격들이 무엇인가

패턴기반은 탐지가 되지 않는다. 공격 중에 패턴으로 탐지하기 어려운 공격들이 있음 (아래참조)

  • 파일업로드 공격(파일 내용을 다 까보지 못하니까, 확장자는 볼 수있음),
  • URL 변수 공격(정상적인 공격으로 판단하지 때문에 웹 방화벽에서 탐지 하기 힘듬),
  • 제로데이공격(패턴매칭 방식의 웹 방화벽 (알려진 패턴을 가지고 차단하기떄문에) 취약점은 발견은 됐지만, 패치가 안되어 웹방화벽에서 패턴을 패치하기 전 단계이기 떄문에 막기 힘들다.

 

300x250
320x100

책추천 : AWS구조와서비스

  1. 제로트러스트 아키텍처 보안에 특징
  2. 실습 → s3의 기능 서비스 이름 정도 어떤건지 구별 (버츄얼머신, 스토리지 등)
  3. 클라우드 네이티브라면 어떤 조건을 갖춰야하
  4. 시스템 공유를 하면서 효율성을 증대시키는게 클라우드인데, 가상머신에 특성들, 어떤 걸 기반으로 만들어지고 작동되는지
  5. 패스워드가 깨림찍해서 뭐해서다른거


클라우드패러다임

클라우드 네이티브

클라우드 기반 제로트러스트

복원력, 강인성, 안전성/보안성/안정성

Dirty-Cow

3. 클라우드 컴퓨팅을 이루는 핵심기술과 기술적 진보

TYPE -1 Hypervisor

TYPE -2 Hypervisor

Binary translation → VT

VT 기술의 출현으로 Binary translation에 따른 오버헤드보다 적은 오버헤드를 양산할 것이라 예상했지만, 현실은 그렇지 못했다!

  • VT Hardware 기술 → Trap & Emulation
  • Trap & Emulation → CPU cache, TLB, Branch Prediction Table Pollution 유발

Technical Issues in BT → VT

  • Binary Translation은 Context Switching을 유발하지 않기 때문에 VT보다 성능이 오히려 더 좋을 떄도 있었음
  • Type-1 Hypervisor는 Binary Translation을 성능 향상을 위해 일부 도입

Para-Virtualization (가상머신위에 잘 돌아갈 수 있게 튜닝해주는것)

  • Motivation
    • Type-1, Type-2 Hypervisor는 Guest OS의 도움 없이, 가상화를 위해 온 몸을 바침
  • Main Concept of Para-virtualization
    • Sensitive 명령어를 의도적으로 제거시간 OS를만들어보자 → Paravirtualized OS
      • 하드웨어 명령을 에뮬레이션하는 것은 즐겁지 않고 시간이 많이 걸린다.
      • Guest OS의 소스를 수정하여 Hypervisor에게 요청하자! → Hypervisor Call

True Virtualization vs Para-virtualization

  • True Virtualization
    • Sensitive 명령어 → Tram & Emulation → Return
  • Para-virtualization
    • Sensitive 명령어 없음
      • ex) I/O or 주요 내부 레지스터 변경 → Hypervisor Call 수행

Overall operation of container-based system

Docker(컨테이너) → packaging 기술

bt → type 1 → type 2- > para →

docker는 개발과 소통을 쉽게 만들었고

컨테이너의 벽

그 벽들은 cgroupsname space 가 벽을 얇게 만듬

근데 리눅스에서 제공되는거기때문에 리눅스에 취약점이 있다면 벽도 안전하지 않을 수 있다.

4. 클라우드에서 발생한 사건, 사고 분석

MITRE

D3.js

5. 사례분석 : Advancing Towards Secure Cloud

  1. 사이버훈련 - 추후에 클라우드 기반 훈련을 할 것이다.
  2. 자료를 숨겨야 하는것 뿐 아니라 인프라 자체가 중요해질거다
  3. moving target defense
300x250
320x100

주관식

클라우드 서비스의 형태는 어떤 것인가 IaaS , PaaS, SaaS

클라우드 컴퓨팅은 무엇인가

클라우드란 무엇인가

클라우드 서비스 보안강화를 위해 루트 계정에 추가하는 기능이 무엇인가

탈취하기 쉬워서 msa로 보안을 강화한다

 

 

.

Cloud Service 예시

  • 개발자나 벤더는 비즈니스나 업무에 필요한 Applcation을 개발
  • 개발 된 Application은 AWS 인프라 위에 배포하여 서비스를 제공함

On-Premise vs Cloud

  • On premise : 서비스에 필요한 모든 리소스를 기업안에서 관리 → 초기투자 비용 높음
  • Cloud : 컴퓨터 리소스를 빌려주는 기업과 계약을 맺고 필요한 만큼만 리소스를 대여 → 초기투자 비용 낮음

IaaS, PaaaS, SaaS

  • Infrastructure as a Service(IaaS) : 서버/네트워크/스토리지 등의 리소스 제공
  • Platform as a Service(PaaS) : 애플리케이션이 작동하는데 필요한 플랫폼 제공
  • Software as a Service(SaaS) : 클라우드 제공자가 전용 애플리케이션까지 제공

Amazon Web Service (AWS)

  • 최초의 AW는 IaaS와 같은 시간제 임대 서버 제공
  • 이후 서버리스 시스템 등의 서비스를 제공하였음
  • 최근에는 AI, 머신러닝 분야 등에서 활용 가능한 서비스 제공

카테고리 서비스 설명

컴퓨팅 EC2 리눅스/윈도우 등을 운영 할 수 있는 서버
보안, 자격 증명 및 규정 IAM (Identity and Access Management) AWS 리소스 접근에 대한 인증, 접근 허가 기능
네트워킹 및 컨텐츠 VPC 가상 네트워크 인프라스트럭처 구축

 

인증과 접근권한

  • 인증 : 사용자의 계쩡에 대한 신원을 검증
  • 접근권한 : 사용자 별 기능에 대한 접근 권한을 관리하고 허가

사용자 권한

  • 루트 사용자 : AWS의 모든 리소스에 접근할 수 있는 계정
  • 일반 사용자(IAM) : 루트사용자에 의해 부여 받은 권한만을 사용할 수 있는 계정

루트 사용자 보안 강화하는 법

  • MFA : 비밀번호 외에 추가적인 인증 수행
  • 대표적인 예시로 은행에서 사용하는 OTP가 있음

 

 

2. 안전한 클라우드 네트워크 환경 구축

Virtual Private Cloud (VPC)

가상의 네트워크 환경 이해

  • AWS에서 가상의 리소스를 관리 할 수 있는 영역

VPC : 가상의 서버, DB, 네트워크 장비 등 다양한 장치를 연결 및 관리할 수 있는 공간

  • 일반적으로 VPC는 네트워크 기능을 갖은 에뮬레이션 소프트웨어를 의미
  • 즉, VPC를 통해 물리적인 기기를 이용하지 않고 가상의 네트워크 환경을 구축할 수 있음

VPC 설정 항목

  • IPv4 CIDR : VPC에서 사용하는 프라이빗 네트워크용 IP주소의 범위
  • VPC의 서브넷 마스크는 최대 16비트를 지원함
    • 65,536개의 IP 주소만 이용 할 수 있도록 하기 위함
    • 16비트 : 192.168.0.0 ~ 192.168.255.25

서브넷

  • VPC 안에는 하나이상의 서브넷을 만들어야 함
    • Subnet : VPC의 IP 주소 범위를 나누는 단위
  • IP 주소 범위를 나누는 대표적인 이유는 역할과 기기를 분리하기 위함
    • 역할 분리 : 외부에 공개하는 리소스 여부 구별
    • 기기 분리 : 클라우드 서비스 안에서 물리적인 이중화 수행 (

역할분리

  • 시스템을 구축할 때 다양한 리소스를 조합하게 됨
  • ex)로드 밸런스(아마존.com 같이 외부에 공개되어있는 것) 는 외부공개가 목적이기 떄문에 외부에서 접근 해야함
  • 하지만, DB 서버의 경우 VPC 내부 서버에서만 접근해야 하므로 외부에 공개되면 안됨

기기 분리

  • 내결함성을 높이기 위해 기기분리가 필요함
    • 내결함성 : 하드웨어 고장, 서버 장애 등 예측할 수 없는 장애가 발생하였을 때 서비스 정지되지 않도록 유지하는 역할
  • 클라우드에는 가용 영역이라는 개념이 존재하기 떄문에, 가용 영역을 다르게 설정하여 독립성을 보장 할 수 있다.
    • 가용영역별로 서브넷을 제공하여 내결함성을 보장할 수 있음

하나의 가용영역 안에 Public, Private 서브넷을 생성하여 보안성 강화

서브넷의 CIDR 설계

IPv4 CIDR 설계 방법

  • 서브넷은 한번 생성하고 나서 해당 서브넷을 이용하는 CIDR 블록을 변경 할 수 없음
  • 서브넷 설계 시 2가지 고려사항
    • 생성할 서브넷의 개수
    • 서브넷 안에 생성할 리소스의 수

VPC 라는 방안에 16비트를 만들고

서브넷을 분리하기 위해 4비트 사용하고

16개의 서브넷 마다 리소스 12비트 4096개를 만들 수 있다 → 4091 (AWS 에서 5개를 사용함)

 

실습에서는 공개용 / 비공개로 나눠서 만들 예정

 

 

 

 

인터넷 게이트웨이

  • 인터넷 게이트웨이는 VPC 에서 생성된 네트워크와 인터넷 사이의 통신을 가능하게 해줌
  • 인터넷 게이트웨이가 없다면 인터넷과 VPC 안에 리소스는 통신할 수 없음

NAT(Network Address Translation) 게이트웨이

  • 인터넷 게이트웨이의 역할은 VPC에서 생성한 네트워크와 인터넷 사이의 통신을 수행하는 것임
  • 이때, VPC에서 생성된 네트워크 안에 만들어지는 리소스들은 외부 네트워크와 직접 통신을 하므로, Public IP를 갖게 됨
  • Private subnet의 우 접근할 수 있지만, 인터넷에서는 접근 할 수있어야 함
    • 이와 같은 기능을 제공해주는 시스템이 NAT

라우팅 테이블 설정

  • 서브넷과 서브넷, 서브넷과 각 게이트웨이가 통신할 수 있는 경로에 관한 테이블 정보
    • 즉, 이 서버에 접속할 떄는 이곳을 경유한다 라는 규칙을 정의 할 수 있는 테이블

 

 

3.  클라우드 서비스 구축 및 마이그래이션

보안 그룹

  • VPC안의 리소스를 보호하기 위해 외부로부터의 접근을 제한 하는 것
  • AWS에서는 Security Group이라는 기능을 통해 제공 함

점프 서버 구축

점프서버

  • 모든 리소스에 접근 할 수 있는 입구를 점프서버 혹은 Bastion 서버라고 함
  • 클라우드 서비스 운영 시 해당 점프서버를 경유해야만 리소스에 접근 할 수 있는 방식을 많이 사용함

웹 서버

  • 브라우저나 애플리케이션으로부터 요청을 받아서 HTML 또는 JSON 등의 응답을 반환하는 역할

점프서버 vs 웹서버

  • 점프서버

시스템 관리자가 유지보수를 위해 이용

인터넷에 직접 연결

  • 웹서버

웹 서비스 사용자가 항상 연결을 시도함

로드 밸런서를 통해 간접 연결됨

강인한 웹 서버 운영을 위한 로드밸런서 구축

로드밸런서

  • 웹 서버 여러대를 구축하고, 처리를 분산하여 성능을 향상시키는 기능
  • 로드 밸런서의 주요 기능
    • 요청 분산
    • SSL 처리
    • 이상 요청 대응

 

4. 취약한 챗봇 서비스 구축 (취약한 웹 서버 구축)

9월24일 AWS 클라우드 기초(실습) 자료 참고

300x250
320x100

AWS icons

도면을 그릴때 쓰는 아키텍트이지만, 우리가 아이콘을 사용해서 활용할 수 있다.

https://aws.amazon.com/ko/architecture/icons/

aws well architected framework

https://aws.amazon.com/ko/architecture/?cards-all.sort-by=item.additionalFields.sortDate&cards-all.sort-order=desc&awsf.content-type=*all&awsf.methodology=*all&awsf.tech-category=*all&awsf.industries=*all&awsf.business-category=*all

강의교재 41 페이지

클라우드 패러다임

Cloud Native (AWS native: 당근마켓, 배달의민족 등…)

클라우드 시장은 코로나때 급성장하였다

클라우드 패러다임 → 클라우드 시장 급성장 → 클라우드 기술 성숙화(재투자를 하면서 성숙화됌) → Cloud Native

클라우드 패러다임 → Cloud transformation → Cloud Native

클라우드의 장점

  • 공유를 하기 때문에 효율성이 증대되고 가격이 저렴

컴퓨팅을 공유할 수도 있다.

“단, 다음 조건을 만족시킨다면”

  • 다른 사람이 나의 데이터를 볼 수 없다면 (System Isolation)
  • 다른 사람이 내가 무엇을 하는지 볼 수 없다면 (System Isolation)
  • 저렴하게 컴퓨팅 자원을 사용할 수 있다면 (System Performance)
  • 나 혼자 쓰는 것보다 속도가 많이 느려지지 않는다면 (System Performance)

자원 공유를 하기 위해서는 격리기술이 필요하다. → 격리기술 오버헤드가 크다(벽을 만들면서 차지하는 부피가 많다)

오버헤드는 시스템이나 프로세스가 특정 작업을 수행하기 위해 추가적으로 소모하는 자원이나 시간입니다. 즉, 실제로 필요한 작업 외에 발생하는 부가적인 비용이나 자원을 의미

요즘은

Docker(Container)

하나의 머신 위에 수백개가 있어도 잘 돌아간다. 하지만 수백개의 프로세스가 모여있기떄문에 “오케스트레이션”(kubernets)이 필요하다.

하지만 벽이 많아지면서 취약성이 증가하였다.

좋은점이 있으면 잃는 것이 생긴다.

VM ↔ overhead

Container ↔ security issues

Orchestration ↔ operational issues

Microservice architecture

  • Independent development and deployment → mixed technology stack
  • Fault isolation : even if one service does not work, the system still works
  • Granular scaling :Individual components can scale as per need

Cloud Native technologies

  • 클라우드 환겨ㅇ에서 확장성있는 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변 인프라, 선언형 API가 이러한 접근 방식의 예시들이다.
  • 이 기술은 회복성, 관리 편의성, 가시성을 갖춘 느슨하게 결합된 시스템을 가능하게 한다. 견고한 자동화 기능을 함께 사용하면, 엔지니어는 영향이 큰 변경을 최소한의 노력으로 자주, 예측 가능하게 수행할 수 있다.

ICT 트렌드와 클라우드 컴퓨팅 패러다임

공급망보안 → 보안뉴스에서 검색

공급망에 악성 칩을 유통을 시키는 것

 

 

 

경계 보안

경계 보안 기법은 정보 시스템 및 네트워크의 경계를 보호하기 위해 사용되는 다양한 기술과 방법을 의미합니다. 주요 기법에는 다음과 같은 것들이 있습니다:

 

방화벽: 외부와 내부 네트워크 간의 트래픽을 필터링하여 불법적인 접근을 차단합니다.침입 탐지 시스템(IDS): 네트워크 트래픽을 모니터링하여 비정상적인 활동이나 공격을 탐지합니다.

 

침입 방지 시스템(IPS): IDS의 기능을 포함하면서, 탐지된 공격을 차단하는 기능도 갖추고 있습니다.VPN(가상 사설망): 원격 사용자가 안전하게 내부 네트워크에 접근할 수 있도록 암호화된 연결을 제공합니다.

 

액세스 제어: 사용자나 장치의 접근 권한을 관리하여 민감한 데이터나 시스템에 대한 접근을 제한합니다.정기적인 보안 점

검: 취약점을 발견하고 수정하기 위해 시스템과 네트워크를 주기적으로 점검합니다.

  • 방화벽: 외부와 내부 네트워크 간의 트래픽을 필터링하여 불법적인 접근을 차단합니다.
  • 침입 탐지 시스템(IDS): 네트워크 트래픽을 모니터링하여 비정상적인 활동이나 공격을 탐지합니다.
  • 침입 방지 시스템(IPS): IDS의 기능을 포함하면서, 탐지된 공격을 차단하는 기능도 갖추고 있습니다.
  • VPN(가상 사설망): 원격 사용자가 안전하게 내부 네트워크에 접근할 수 있도록 암호화된 연결을 제공합니다.
  • 액세스 제어: 사용자나 장치의 접근 권한을 관리하여 민감한 데이터나 시스템에 대한 접근을 제한합니다.
  • 정기적인 보안 점검: 취약점을 발견하고 수정하기 위해 시스템과 네트워크를 주기적으로 점검합니다.
300x250
320x100

IDS ⇒ sniffing mode 로 쓴다.

IPS ⇒ InLine mode

IPS(Intrusion Prevention System)

다양한 방법의 보안기술을 이용하여 침입이 일어나기 전에 실시간으로 침입을 막고, 유해 트래픽을 차단하기 위한 능동형 보안 솔루션 IPS는 예방적이고 사전에 조치를 취하는 기술이며, 반면에 IDS 는 탐지적이고 사후에 조치를 취하는 기술이다. 또한 IPS는 기존의 트래픽 유통에 직접 관여하며이러한 방식을 InLine 방식

  • Signature Based IPS (지식기반)
  • 각각 공격에 대하여 정확한 Signature를 정의, 해당 공격 패턴에 매칭이 되어야만 차단 시행
  • 알려지지 않은 공격의 경우 정확한 Signature List가 업데이트 되어 있지 않으면 차단이 불가능한 단점이 있으나, 오탐 가능성은 적다.
  • Heuristics Based IPS (행위기반)
  • Anomaly Detection / Prevention 방식이라고도 한다.
  • 알려지지 않는 공격을 수집하여 정보를 이용하여 오탐을 줄이고 능동적으로 대처하는 방식

ZPS(Zero Trust Protection System)

제로 트러스트 보안 모델을 기반으로 하며, 네트워크 내의 모든 사용자와 기기를 신뢰하지 않고 기본적으로 의심하는 접근 방식을 취합니다.사용자 인증과 권한 검증을 강화하여, 내부와 외부의 위협 모두에 대응할 수 있도록 설계되었습니다.

SVA(Security Vulnerability Assessment)

보안 취약점 평가를 의미하며, 시스템이나 네트워크에서 잠재적인 취약점을 식별하고 분석하는 과정입니다.이를 통해 보안 위험을 사전에 발견하고, 적절한 대응 방안을 마련할 수 있습니다.

  • SVA는 보안 취약점을 평가하고 시스템의 보안 상태를 분석하는 과정

IPsec VPN (Internet Protocol Security Virtual Private Network) - (VPN은 터널링이라고 하는데 암호화 시켜서 데이터를 전송함)

인터넷을 통해 안전한 데이터 전송을 제공하는 기술입니다. IPsec은 IP(Internet Protocol) 패킷의 보안을 강화하기 위해 사용되는 프로토콜 모음

암호화: 전송되는 데이터를 암호화하여 외부에서 접근할 수 없도록 보호합니다. 이를 통해 기밀성을 유지할 수 있습니다.

인증: 데이터의 출처를 확인하고, 데이터가 전송 중에 변경되지 않았음을 보장합니다. 이를 통해 무결성을 유지할 수 있습니다.

  • 터널 모드: 전체 IP 패킷을 암호화하여 새로운 패킷으로 캡슐화합니다. 주로 VPN 게이트웨이 간의 연결에 사용됩니다.
  • 트랜스포트 모드: 패킷의 페이로드만 암호화하며, 헤더는 그대로 유지합니다. 주로 호스트 간의 통신에 사용됩니다.

IPsec VPN은 높은 보안성을 제공하여 기업의 데이터 통신을 안전하게 보호하는 데 중요한 역할을 합니다.

IDS/IPS 정책

  • 탐지 정책(Signature)이 등록되어 있는 경우에만 탐지하고, 그 이외의 패킷은 무시
  • 오탐율이 매우 높으므로 최적화 시키기 위해서 충분한 시간동안 커스터마이징이 필요
  • RawData 정책을 어떻게 사용하느냐가 승패를 좌우

웹 방화벽 이해

443 포트 들어올 수 있으니까 SVA 들어가야하고

다른 외부 기관까지 가야한다면 VPN 장비도 넣어야함

  • 인터넷을 통한 웹 기반 서비스가 발전하면서 항상 개방되어 있는 웹을 이용한 공격이 일반화, 집중화 되고 있는 상황에서 단순한 홈페이지 변조사고부터 웹 서버를 통한 악성코드 유표까지 사고가 발생하고 있다. 이와 같은 이유로 웹 전용 보안시스템 구축이 필요하게 되었으며, 그 시스템이 웹 방화벽이다.

이벤트 대응 및 분석

이벤트 대응처리 프로세스

  1. 보안장비 로그 수집
  2. 이벤트 탐지 : 공격 발생 시 경보 발생 및 관제 인원에게 Mail을 발송하여 탐지 할 수 있다.
  3. 이벤트 1차 분석
  4. 공격자 IP 차단 및 이벤트 탐지 보고서 작성
  5. 담당자 통보
  6. 침해사고 조치지원(CERT)

OSI 7 Layer별 이벤트 유형

FTP PASV

FTP PASV(패시브 모드)는 파일 전송 프로토콜(FTP)에서 클라이언트와 서버 간의 연결을 설정하는 방식 중 하나입니다. FTP는 두 가지 모드(액티브 모드와 패시브 모드)를 지원하는데, PASV 모드는 다음과 같은 방식으로 작동합니다:

PASV 모드의 작동 방식

클라이언트 연결: 클라이언트가 FTP 서버에 연결을 요청합니다.서버 응답: 서버는 클라이언트에게 패시브 모드로 전환할 것을 알리며, 사용할 포트 번호를 제공합니다.클라이언트 연결: 클라이언트는 서버가 제공한 포트 번호로 새로운 연결을 수립합니다.데이터 전송: 이 새로운 연결을 통해 파일 데이터가 전송됩니다.

PASV 모드의 장점

방화벽 우회: PASV 모드는 클라이언트가 서버에 연결을 요청하고, 서버가 클라이언트의 요청에 따라 데이터 전송을 위한 포트를 열기 때문에 방화벽을 우회하는 데 유리합니다.클라이언트의 IP 주소 노출 감소: 클라이언트가 서버에 연결을 요청하는 방식이므로, 클라이언트의 IP 주소가 서버에 직접적으로 노출되지 않습니다.

PASV 모드는 특히 클라이언트가 NAT(네트워크 주소 변환) 뒤에 있을 때 유용하게 사용됩니다.

 

 

(시험)주요 공격 이벤트 및 영향

SQL Injection

  • 웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격 방법으로 웹 응용 프로그램이나 파라미터 값에 강제로 SQL 질의문을 삽입하여 응답값을 통해 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 공격기법
  • 웹 서버로 전달된 SQL 질의문은 데이터베이스(DB) 정보가 일치할 경우 질의문에 해당하는 ‘True’ 값을 반환하고 일치하지 않을 경우 ‘False’ 값을 반환, 이때 에러메시지를 통해 2차 공격을 시도할 수 있다.

공격 영향

  • 인증절차 우회 기능
  • 데이터베이스(DB)에 저장된 데이터 값을 열람/삭제/수정 가능
  • 시스템 명령어 조작으로 운영 시스템에 영향

Webshell 공격

  • 웹페이지인 웹(Web)과 서버에 명령을 내려 실행하기 위한 인터페이스 역할의 쉘(Shell)의 합성어로써 웹 페이지에서 서버에게 명령을 실행하기 위해 만들어진 프로그램
  • 웹 서버(PHP, ASP, JSP 등)의 다양한 취약점 등을 타깃으로 공격하여 웹 서버에 Webshell을 업로드 한 후 웹 브라우저를 통해 업로드한 Webshell을 실행하여 침투한 서버상의 정보유출 및 변조, 악성코드 유포 등 웹 공격에 활용됨
  • 대표적인 공격형태로 확장자 우회공격, 자바스크립트 우회공격, MIMI Type 우회, 그림파일을 이용한 한 줄 웹쉘 등이 있다.

공격 영향

  • 관리자 권한 탈취 및 내부망 접근하여 내부 자료 및 개인정보 유출 가능
  • 웜 / 바이러스 배포서버로 악용

대응 방안

  • 확장자 제어: 허용된 확장자 외에는 업로드 금지, 정의된 확장자 차단
  • Directory List 취약점 제거 : 서버 내 파일 / 폴더 등을 확인하여 소스코드, 웹 페이지 구조가 노출 되는 것을 사전 제거

Command/Code Injection(Execution)

  • 시스템 명령어를 호출하는 어플리케이션의 인자 값을 조작하여 의도하지 않은 시스템 명령어를 실행시키는 공격 기법
  • 주로 취약한 함수를 사용하거나 변수 입력 값 미 검증으로 인해 발생되며 과거에 발생된 Bash Shell Shock가 대표적이다.

공격 영향

  • 해당 공격이 유효성이 있을 경우, 웹 어플리케이션을 구동하고 있는 시스템 계정의 Shell 권한(관리자 권한 등) 을 획득하는 것과 같음

대응 방안

  • 지정되어 있는 변수 입력 값 외에 다른 값들이 들어왔을 경우 차단
  • 운영체제의 시스템 명령어가 사용자 입력에 의해 존재하는지 확인하고 불필요한 요청 시 차단
  • 확인되지 않은 사용자 입력을 파이프라인, open() 명령 등으로 전달하지 않음

XSS(Cross Site Scripting)

  • 컨텐츠를 암호화/검증하는 절차 없이 사용자가 제공하는 데이터를 어플리에킹션에서 받아들이거나 웹 브라우저로 보낼 때 발생되는 공격
  • JavaScript, VBScript 등과 같이 CSS(Client Side Script) 특징을 가진 언어로 작성된 악성 스크립트를 웹 페이지/게시판/메일 등에 포함시켜 사용자에게 전달하고 이를 사용자가 열람하였을 때 악성 스크립트가 실행됨

공격 영향

  • 악성 스크립트가 삽입된 게시판에 접근한 사용자를 대상으로 웜/바이러스 배포
  • 사용자의 세션 정보를 탈취하여 재사용 가능(사용자가 관리자일 경우 관리자 계정 탈취 기능)

대응 방안

  • 쿠키 값에 인증/권한 등의 중요 정보가 기록되지 않게 하거나 쿠키 인증 방식이 아닌 세션 인증 방식으로 변경
  • 스크립트 코드에 사용되는 특수문자에 대한 적절한 필터링
  • 사용자가 게시판에 사용할 수 있는 HTML 포맷만을 허용

 

 

공격 이벤트 분석 방법

GET / POST 이벤트

GET

  • URL에 Query String 형식으로 전달

POST

  • BODY 에 포함해서 전송하는 방식

POST 방식 이벤트 분석

  • 주의할 사항 : 확인하려는 파라미터 값이 서버나 데이터베이스(DB)에 영향을 주려는 값이라면 테스트 보다는 담당자에게 통보를 하는 것이 나을 수 있음 - > 문제가 될 수 있다.

IBM AI 솔루션

IBM의 AI 솔루션은 다양한 산업과 용도에 맞춰 설계된 여러 제품과 서비스를 포함합니다. 주요 IBM AI 솔루션은 다음과 같습니다:

IBM Watson:IBM의 대표적인 AI 플랫폼으로, 자연어 처리(NLP), 머신러닝, 데이터 분석 등의 기능을 제공합니다.다양한 산업에 적용할 수 있는 API와 툴을 제공하여, 고객 맞춤형 AI 솔루션을 개발할 수 있게 합니다.

MSSQL 포트 1433


통합보안관제시스템의 이해

Web Servers

  • common mode
  • combine mode

웹 서버의 common mode와 combine mode는 웹 서버의 요청 처리 방식과 관련된 용어로 보입니다. 이 두 가지 모드의 차이를 간단히 설명하겠습니다.

Common Mode

정의: 일반적으로 사용되는 기본적인 요청 처리 방식입니다.특징: 클라이언트의 요청을 순차적으로 처리하며, 각 요청이 독립적으로 처리됩니다.장점: 구현이 간단하고, 상태 관리가 용이합니다.단점: 동시에 여러 요청을 처리하는 데 한계가 있어, 고부하 상황에서는 성능 저하가 발생할 수 있습니다.

Combine Mode

정의: 여러 요청을 결합하여 처리하는 방식입니다.특징: 여러 클라이언트의 요청을 하나의 처리 단위로 묶어서 효율적으로 처리합니다.장점: 서버 자원을 보다 효율적으로 사용할 수 있으며, 성능 향상에 기여합니다.단점: 구현이 복잡할 수 있으며, 상태 관리와 오류 처리에 더 많은 주의가 필요합니다.

이러한 모드는 서버의 목적과 요구 사항에 따라 선택될 수 있으며, 성능과 효율성을 고려하여 적절한 모드를 선택하는 것이 중요

300x250

+ Recent posts