1. FTP(File Transfer Protocol)
인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜의 하나로, FTP 명령을 FTP 서버에 전송하기 위한 명령포트(21번 고정)와 실제 파일을 업로드 하거나 다운로드 하기 위한 데이터 포트를 사용한다.
1) FTP Active Mode와 Passive Mode
- 명령 포트는 고정되어 있지만, 데이터 포트는 전송 모드에 따라 변함
- Active Mode: 20번, Passive Mode: FTP 서버가 결정
- FTP 클라이언트의 데이터 포트는 클라이언트가 결정
전송 방식 | 내용 |
Active Mode | - FTP Client에서 FTP Server 21번 포트로 접속 - FTP Client는 FTP Server 20번 포트로 데이터 전송 |
Passive Mode | - FTP Client에서 FTP Server 21번 포트로 접속 - FTP Server가 FTP Client로 데이터 송수신을 위해 1024~65535 범위의 Random 포트 선택 - FTP Client에서 데이터 송수신을 위해서 Random 포트 사용 |
Cf) FTP 서비스 로그 기록
- FTP 서비스의 로그파일에는 xferlog 파일이 있으며, FTP 서비스 기동 시 '-l' 옵션을 부여하면 xferlog 파일을 기록
항목 | 설명 |
Thu May 17 11:54:41 2018 | 전송 날짜와 시간 |
6 | 전송 시간 (전송에 걸린 소요 시간, 초 단위) |
file.test.kr | 원격 호스트 주소 |
1234567 | 전송된 파일의 크기 (바이트 단위) |
/home/user/test1.mp3 | 전송 된 파일의 전체 경로 |
b | 전송 파일 유형으로, a=ascii(문자, 텍스트), b=binary(파일) |
_ | 액션 플래그 (어떤 동ㅈㄱ을 수행했는지 나타내는 플래그) _ : 행위가 일어나지 않음, C : 파일이 압축된 경우, U : 파일이 압축되지 않은 경우, T : tar로 묶여있음 |
i | 전송 방향으로, i=inbound, o=outbound, d=delete |
r | 액세스 모드로, 사용자가 접근한 방식이나 형태를 나타냄 r=시스템 사용자 계정, a=익명사용자, g=비밀번호가 있는 게스트 계정 |
itwiki | 로그인한 사용자명 |
ftp | 호출된 서비스를 나타냄 |
0 | 사용자의 인증 방법으로, 0은 없음을 나타내고 1은 RFC 931 |
* | 인증 사용자 ID로, 인증 메소드가 되돌려주는 사용자 ID를 뜻함 *은 인증된 사용자 ID를 사용할 수 없는 경우를 나타냄 |
c | 전송의 완료 상태를 나타내며, c=전송 완료, =전송 실패 |
2) FTP 보안 취약점
취약점 | 내용 |
Bounce Attack | - 익명 FTP 서버를 이용하여 공격 대상의 포트를 스캐닝하는 공격 기법 - FTP 서버의 전송 목적지 주소를 임의로 지정하여, 임의의 목적지로 메시지나 자료를 전송 - FTP Bounce Attack을 통해 전자메일을 보내는 공격을 Fake Mail이라고 함 |
tFTP Attack | - 인증 절차를 요구하지 않기 때문에 접근 제어가 되어있지 않으면 누구나 임의로 접근, 다운로드 가능 |
Anonymous FTP Attack | - 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용 - 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성 가능 |
FTP 서버 취약점 | - wuftp 포맷 스트링 취약점 및 각종 Buffer Overflow Attack |
Sniffing | - ID 및 Password 입력 후 접속 시도 시 암호화가 이뤄지지 않음 |
Brute Force Attack | - 무작위 대입법 사용 |
2. E-mail 보안
E-mail 전송 방법에는 SMTP, POP3, IMAP, IMAP4 등이 있으며, E-mail 보안 기법으로는 PGP, PEM, S/MIME이 있다.
1) PGP(Pretty Good Privacy)
- MIME(Multipurpose Internet Mail Extension) 객체에 암호화와 전자서명 기능을 추가한 암호화 프로토콜
* MIME: 전자우편을 위한 인터넷 표준 포맷 (출처:위키백과)
- 네트워크를 통해 주고받는 메시지에 대해 송수신자에게 보안 서비스를 제공하고 평문 메시지를 암호화
- 메시지 암호화, 서명, 압축, 분할, 전자 우편 호환성의 5가지 기능을 제공
Cf) PGP 특징
PGP 서비스 | 상세 내용 |
전자 서명 | DSS/SHA 또는 RSA/SHA로 전자 서명이 가능 |
메시지 암호화 | CAST-128, IDEA, 3DES로 메시지 암호화 |
1회용 세션키 생성 | Diffie-Hellman 혹은 RSA로 키 분배 |
이메일 호환 | RADIX-64로 바이너리를 ACS Code로 변환 |
세그먼테이션 | 메시지 최대 사이즈를 제한 |
2) PEM(Privacy Enhanced Mail)
- 인터넷에서 사용되는 이메일 보안 시스템의 하나로, 중앙집중화된 키 인증 방식으로 구현이 어렵고 높은 보안성을 제공 (군사, 은행 사용)
3) S/MIME(Secure MIME)
- 표준 보안 메일 규약으로, 송신자와 수신자를 인증, 메시지 무결성 증명, 첨부파일 보안
- 메시지 내용의 Privacy를 보증하는 표준 보안 메일 프로토콜로서 메일 전체를 암호화 (RSA 암호 사용)
- CA(인증기관)로부터 자신의 공개키를 보증하는 인증서를 받아야 함
3. Spam Mail 차단
스팸메일 차단 시스템은 광고성 메일 및 음란 메일과 같은 유해한 메일을 발송하는 IP를 차단하는 RBL과 SPF 방식이 있다.
1) RBL(Real time Blocking List)
- 이메일 수신 시 간편하게 스팸 여부를 확인하여 차단하는 것
- KISA의 RBL 서버에 특정 IP를 등록하고 차단
2) SPF(Sender Policy Framework)
3) SpamAssassin
- 점수를 이용하여 스팸 여부를 판단하는 방법으로 90% 이상의 높은 차단율을 보이며, Perl로 개발됨
- Rule 기반 하에 Header와 Body를 분석하여 실시간 차단 리스트(RBL)를 참고하여 각각의 Rule에 매칭될 경우 점수를 매기고 총 점수가 기준점을 초과하는지 여부에 따라 스팸 여부 결정
4. 웹 로그 분석
웹 서버를 관리하기 위해 시스템의 로그 정보를 파악하여 웹 서버의 에러로그, 접속로그, 에이전트로그, 참조로그의 정보를 확인할 수 있다.
웹 서버의 로그는 access.log에 기록되며, 에러로그는 ServerRoot/logs/error_log에 기록되며, access.log 파일을 분석하면 웹 서버를 대상으로 언제 어떤 IP에서 공격을 시도했는지 알 수 있다.
Cf) HTTP 상태 코드
5. 웹 방화벽(Web Firewall)
홈페이지 자체 및 웹 프로토콜을 기반으로 하는 모든 서비스와 애플리케이션 데이터 기반 정보 시스템에 보안 서비스를 제공한다.
웹 애플리케이션 취약점을 이용한 공격에 대응하며, 내부의 중요 데이터 유출을 방지한다.
1) 웹 방화벽 종류
종류 | 내용 |
네트워크 기반 방화벽 | - 방화벽이나 IDS 시스템과 유사하게 네트워크 구간에 인라인 Transparent 및 Proxy 방식으로 구성 - 웹 트래픽에 대한 분석 및 차단 기능 |
호스트 기반 방화벽 | - 웹 서버 에이전트의 해킹 시도 및 이상 징후를 탐지하고 보안 정책을 실행 |
Proxy Method | - 웹 서버 앞 단에서 클라이언트 요청을 받아 필터링 처리 후 웹 서버와 재접속하는 방식 |
Filtering Module Method | - 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식 - 보안 모듈에 필터링 처리된 후 정상 트래픽만 클라이언트에 응답 (웹 서버는 대기 상태) |
2) 웹 방화벽 주요 기능
주요 기능 | 내용 |
웹 공격 방지 | - 논리적 공격, Client Side 공격, 명령어 실행, 정보 유출 등의 공격에 보안 및 차단 |
Positive Security Model 지원 | - 강제 접근 및 알려지지 않은 공격 차단 |
SSL 지원 | - SSL 트래픽에 복호화 지원 |
애플리케이션 구조 변화에 대응 | - 서비스 지속성 보장 |
Cf) Watering Hole 공격
- 공격 대상이 방문할 가능성이 있는 웹사이트를 감염시킨 뒤 피해자가 접속하면 감염시키는 공격
- Wateing Hole 공격을 통해 보안이 강력한 공격 대상 기업의 멤버를 감염시키고, 매개체로 이용할 수 있음
6. DNS(Domain Name Service) 보안
DNS는 URL 주소에 대한 IP 주소를 알려주는 서비스를 말한다.
1) dnsspoof
- DNS Spoofing을 할 수 있는 공격도구로, 지정된 DNS 파일을 참조해서 DNS를 수행하게 함
- 특히 53번 포트로 전송되는 UDP 데이터를 모니터링 하고 있다가 지정된 URL에 대해 요청이 오면 특정 IP로 응답
2) DNSSEC
- DNS 캐시 포이즈닝과 DNS의 보안 취약점을 보완하기 위해 등장한 기술
- DNS 응답 정보에 전자서명 값을 첨부하여 보내고 수신측이 해당 서명 값을 검증하므로 DNS 위변조 방지
3) DNS Cache Poisoning Server Attack
- DNS Cache에 잘못된 정보를 저장하여 조작된 정보를 반환하고, 사용자가 의도하지 않은 사이트로 접속하도록 하는 공격 기법
- 공격자는 DNS Name Server를 가장하여 DNS Server에게 요청을 보낸 뒤, DNS Server가 쿼리 시 응답을 위조하여 DNS Cache를 감염
# 참고
해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.
'자격증 > 정보보안기사(필기)' 카테고리의 다른 글
정보보안기사(필기) - 애플리케이션 보안(기타) (0) | 2021.08.02 |
---|---|
정보보안기사(필기) - 애플리케이션 보안(전자상거래 보안) (0) | 2021.08.01 |
정보보안기사(필기) - 네트워크 보안(네트워크 대응 기술) (0) | 2021.07.30 |
정보보안기사(필기) - 네트워크 보안(네트워크 기반 공격 기술) (0) | 2021.07.29 |
정보보안기사(필기) - 네트워크 보안(네트워크 기초) (0) | 2021.07.22 |