자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[보안] 1장 보안이란 무엇인가 - Security

728x90

1️⃣ 보안(Security)이란?

보안은 정보(information), 시스템(System), 네트워크(NetWork), 데이터(Data)등을 보호하는 활동과 기술로 보안의 목표는 크게 세가지로 구분할 수 있습니다.

요소 설명
기밀성(Confidentiality) 권한이 없는 사람이 접근하지 못하도록 보호함
무결성(Integerity) 데이터가 위조, 변조되지 않도록 보호
가용성(Availability) 정당한 사용자가 필요할 때 시스템과 데이터에 접근 가능 보장
  • 보안의 추가 요소
    • 인증(Authentication): 사용자가 누구인지 확인하는 요소(ex.로그인)
    • 인가(Authorization): 사용자가 무엇을 할 수 있는 지 권한을 확인
    • 부인방지(Non-repudiation): 행위자가 책임을 회피하지 못하게 보장
  • 웹/서버 보안의 필요성
    • 해킹, 악성코드, 데이터 유출, 렌섬웨어 등 보안의 위험이 존재
    • 웹 서비스, 모바일 앱, IoT 등 디지털 시스템들이 주로 공격 대상임

2️⃣ 보안(Security) 공부를 하기위한 기본 환경 세팅(윈도우 기준)

  • 가상화 환경을 통한 환경 구축(추천)
    • 목적: 공격/실습 환경을 안전하게 분리하기 위함
    • 사용전 Windows 기능 켜기 -> Hyper-V 비활성화
    • 도구:
  • 설치 단계
    • VirtualBox 설치 - 설치 파일을 실행하여 단계에 따라 설치
    • Kali Linux ISO 다운로드 - Kail Linux ISO 페이지로 이동해 설치
    • 설치: 위 가상화 환경에 ISO를 연결 후 설치(설치법 링크)
  • 학습 내용 정리
    • 목표:  정보 보안 3대요소(CIA: 기밀성, 무결성, 가용성)
    • 인증(Authentication), 인가(Authorization), 부인방지(Non-repudiation)
    • HTTP/HTTPS, REST API, 클라이언트-서버 구조
  • 학습 방법 
    • 보안 관련 서적, 블로그, 유튜브 강의 참고 
    • 네트워크 OS, 기본 구조 학습
  • 실습용 웹 환경 세팅
    • 기본 도구
      • 패키지 매니저: apt, brew
      • 코드 편집기: VSCode 
      • 터미널: Git Bash, Linux Terminal
# Ubuntu 예시
sudo apt update
sudo apt install build-essential git curl wget
  • 실습용 서버 설치 
    • Node.js + Express or Python + Flask
    • 목적: 웹 취약점 실습, 서버/클라이언트 동작 이해
    • HTTP GET/POST 요청 실습
    • 간단한 CRUD 기능 구현
# Node.js 설치
https://nodejs.org 를 통해 LTS 버전 다운로드 설치

# Express 설치 예시
npm install -g express-generator 
express myapp
cd myapp
npm install
npm start
  • 브라우저에서 http://localhost:3000에 접속 가능
  • 웹 취약점 실습 도구
    • OWASP Juice Shop: 웹 취약점 학습 앱
sudo apt install juice-shop
juice-shop
  • 브라우저 접속: http://localhost:42000
  • 실습 내용: XSS, SQL Injection, CSRF 등 웹 취약점
  • DV/DW(선택)
    • PHP/MySQL 기반 취약점 학습
    • 목적: 다양한 공격 시나리오 경험
  • 보안 분석 테스트 도구 
    • Burp Suite: 웹 트래픽 분석, 요청 변조, 취약점 테스트
    • Wireshark: 네트워크 패킷 캡쳐/분석
    • Nmap: 네트워크 스캔, 포트 금지
    • Metasploit: 침투 테스트 실습

3️⃣ 학습 순서

  • Kali Linux 설치 -> 기본 명령어와 환경 적응
  • Node.js 웹 서버 구축 -> HTTP 요청/응답 이해
  • OWASP Juice Shop -> 웹 취약점 실습
  • Burp Suite -> 트래픽 분석 및 공격 시뮬레이션
  • Wireshark, Nmap -> 네트워크 분석
  • Metasploit -> 침투 테스트 학습
  • 암호화, JWT, 인증/인가 등 보안 기술 학습

✅ 학습 전 참고 사항 !!!! (중요)

  • 항상 가상 환경에서 실습하기 -> 실제 시스템 상 공격 금지!!!(정보 통신망 침해 행위 처벌 가능!!! 🚫)
  • 실습 후 Snapshop 복원을 통해 환경 초기화
  • 개발 블로그에 단계별 설치법, 명령어, 스크린샷 추가로 정리하기 좋음

 

728x90
LIST