애플리케이션 - 인터넷

Ryu·2021년 9월 27일
0

정보보안기사

목록 보기
10/16

FTP(fcpd, wget)

전송모드

  • Active Mode = 클라이언트가 포트 선택, 명령어:21Port, 데이터:20Port, 응답성공=230
  • Passive Mode = 서버가 포트 선택, 명령어:21Port, 데이터:1024Port 이후 → 변경=PASV

종류 -FTP(TCP사용), -tFTP(인증없이 UDP), -sFTP(암호화 기법)

접근통제 -ftpusers = FTP 접근관리, -xferlog = 로그파일

보안 취약점

  • Bounce Attack = 포트 스캔 후 Fake mail 발송, nmap -b IP, 어나니머스 계정 삭제 필요
  • Anonymous FTP Attack = 익명 사용자

※ TCPWrapper = IP로 접근통제
inetd → tcpd(host.allow → any:any = 서비스:IP, host.deny) → FTP(TCP)


전자우편(opt-in, opt-out)

프로토콜

  • SMTP = 25Port, 메일 발송, MUA, MDA, MTA
  • POP3 = 110Port, 메일 읽기, MBOX 삭제
  • IMAP/IMAP4 = 143Port, 메일 읽기, MBOX 삭제 안함

보안 기법

  • PGP = 분산 키 관리, RSA, IDEA, MD5 사용
  • PEM = 중앙 집중 키 관리, DES-CBC, MD5 사용
  • S/MIME = RSA가 개발, 서명가능, Yara, Inflex

스팸 차단

  • RBL = KISA에 IP 등록
  • SPF = DNS에 발신 IP 등록(Sender Policy Framwork)
  • Spamassain = Score 기반 차단
  • Inflex = 첨부파일 필터링

웹 서버(Apach/Tomcat)

httpd = root로 기동(TCP 80Port), 실행 파일 = bin, 설정 파일 = conf

httpd.conf

  • 접근 통제 = Order Deny/Allow, Deny from all, Allow from IP
  • FollowSymLinks = 심볼릭 링크 차단
  • Indexes = 디렉터리 리스팅 on 차단
  • Server Signature = Apach 정보 노출 = off
  • Server Token = 최소한 정보 노출, Full. OS, Prod

로그파일

  • access.log = IP, 요청일, 시간, HTTP 메소드, HTTP 상태코드, 전송 바이트, 시간 기록, User-Agent
  • error.log = error level → Emerg, Alert, Crit, Error, Warn, Notice, Info, Debug

※ 관리자 페이지 = 관리자 페이지 보호, 2-factor 인증(MFA), IAM = 계정관리

※ web shell = Server Side Script → 업로드 취약점을 이용하여 실행되는 스크립트
→ 대응방안 = 화이트 리스트 확장자 검사, 파일명을 임의의 난수로, 확장자 제거, 업로드 디렉터리와 다운로드 디렉터리 분리, www 밖에 저장


HTTP

TCP 기반 80 port, Request/Response 구조

Request header 구조 (Message)

  • Request Method = 호출되는 메소드
    • GET = URL에 입력 파라미터 넣어서 요청
    • POST = 요청 파라미터를 body에 넣어서 전송
    • HEAD = 응답 메세지 없이 ssh
    • PUT, DELETE, TRACE
  • Accept = 미디어 타입을 의미 text/*, text/html 등
  • Accept-Language
  • User-Agent = 브라우저 정보
  • Accept-Encoding
  • Host = 웹 서버의 기본 URL
  • Connection = Keep Alive or Cloes
    → 전부 뒤에 개행문자 /r/n

Response header 구조 (Message)

  • Status Code = HTTP 응답코드
  • Server = 서버 프로그램 이름과 버전 전송
  • Expires
  • Cache Controll = no cache → 항상 최신 페이지로 가져와라(리퀘스트 날라감)
  • Pragma = Cache Controll과 같이 캐시 사용 여부
  • Content-Encoding
  • Content-Length = 바이트 단위
  • Keep-Alive = 연결 유지 시간
  • Connection = Keep-Alive 사용 유무
  • Content-Type = 응답되는 미디어 타입
    → 전부 뒤에 개행문자 /r/n

오류 코드
100 = continue, 200 = OK, 300 = Forbiden, 400 = Not Found


URL

특수문자 + = 공백, & = 파라메타 구분자, % = 16진수 표시, : = 프로토콜 구분자, ? = 질의 구분자


DNS

URL을 주면 IP를 주는것, UDP 53Port, TCP, nslookup, dig<trace 옵션>

Query

  • Recursive = Local DNS에 Query 보내고 답을 요청
  • Iterative = 다른 DNS 서버에 Query를 보냄

Record = 응답 포멧 설정
A = IPv4, AAAA = IPv6, NS = DNS 서버, ANY = All→DNS 증폭공격
MX = 메일, SoA, CNAME = 호스트의 다른 이름, PTR = 특수 이름 도메인, 역방향

DNSSEC = root DNS에서 사용, 전자서명을 사용한 DNS 보안 기술

공격기법 = ①host 파일변조 ② cache table ③host.ics ④도메인 쉐도잉 ⑤Zone transfer
DNS Spoofing = DNS cache 테이블 변조, dnsspoof = 가짜 Response를 계속 보내는 것, fdns-net
도메인 쉐도잉 = 몰래 많은 서브 도메인을 등록 시켜 놓는 기법

※ DNS 리솔브 = 이름을 푸는 과정 → 방법을 정리한 파일 = Zone 파일

  • 절차
    • ① Client Cache(ifconfig/displydns, ifconfig/flusdns)
    • ② hosts 파일(URL/IP)
    • ③ Recursive = 순환 커리, 프로세스 = named
    • ④ Iterative

※ 메세지 인증코드 = MAC → 블록 암호, 해시, 부인 방지 기능 ・ 재사용 기능 X
※ OAuth 2.0 = 보안 위협 → 중간자 공격, 웹서버, 이용자 단말, 파밍, 클릭재킹 등

Can Do It
brb

profile
Let me start

0개의 댓글