반응형

정보보안 44

FTP(File Transfer Protocol) - 응용 계층 프로토콜

응용 계층 프로토콜(FTP) FTP(File Transfer Protocol, 20, 21)- 파일 전송을 위한 가장 기본 프로토콜 - 대화형으로 클라이언트와 서버가 통신이 가능하다- 아이디와 패스워드를입력하여 클라이언트를 인증한다 * FTP 연결 설정(컨트롤 연결 - 데이터 연결) 컨트롤 연결 - FTP 서버가 21번 포트를 열고 클라이언트의 요청을 기다린다(수동적 포트 오픈) - 클라이언트에서 임의의 포트를 설정하여 FTP 요청을 보낼 수 있다.(능동적 포트 오픈) - 데이터 연결은 서버측에서 20번 포트를 이용하고 연결 과정은 다음과 같다 1. 클라이언트에서 임의의 포트를 열고 수동적 오픈 상태를 설정한다 2. 클라이언트에서 PORT 명령어를 사용하여 열고 있는 포트 번호를 서버에 전달한다 3. 서..

Network 2017.12.04

네트워크 - ICMP 프로토콜(Internet Control Message Protocol)

ICMP 프로토콜(Internet Control Message Protocol) ICMP 프로토콜 - 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜 - IP 데이터그램을 사용하지만, 메시지는 TCP/IP 소프트웨어에 의해 처리 - 대표적인 툴 ping ** ICMP의 필요성- IP는 비연결 지향형 프로토콜로, 패킷이 확실히 전송된다는 보장이 없다- 라우터나 노드등에서 오류가 생겨 목적지까지 도달하지 못하기도 한다.- 이런 경우를 대비하여 송신측의 상태를 알려주는 것이 ICMP Quench : 억제 ** ICMP는 크게 오류 통지를 위한 오류 메시지와 진단용 문답 메시지 두 종류로 구분 ** ICMP Echo Request 메시지 - 송신측의 전송 패킷이 목적지 노드나..

Network 2017.11.19

Xss(Cross-Site Scripting)

Xss(Cross-Site Scripting) * 스크립트 구문을 제한하지 않는 곳에 악의적인 스크립트를 삽입함으로써 희생자에게 타격을 주는 공격 * 공격자가 HTML 페이지에 의도적으로 스크립트를 삽입해서 사용자를 공격하는 기법입니다. XSS 공격은 stored XSS와 Reflected XSS로 나눌 수 있습니다. - Stored XSS : 게시판, 방명록, 댓글 등을 통해 공격 스크립트를 웹 서버에 저장합니다. 일반 사용자가 공격자가 올린 글을 확인할 경우, 웹 브라우저에 공격자가 의도한 스크립트가 실행됩니다. - Reflected XSS : 취약한 URL 인자에 스크립트를 삽입하는 방법입니다. 공격자가 공격 스크립트가 포함된 URL 링크를 희생자에게 보냅니다. 희생자가 링크를 클릭하면, 공격자의 ..

IT Security 2017.10.29

리눅스 로그파일

리눅스 로그파일출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1. acct/pacct 로그 파일(Linux/Unix) - acct/pacct 로그 파일은 시스템에 로그인한 모든 사용자가 로그아웃할 때까지 입력한 명령어와 터미널의 종류, 프로세스 시작 시간 등을 저장한 로그이다. - binary 파일로 되어 있으며 그 내용을 확인하기 위해서 "lastcomm" 명령을 사용한다. - linux : /var/account/pacct, 기본으로 생성되는 로그 파일x, accton /var/account/pacct 명령 실행 필요 - lastcomm 명령 - 실행한 명령어, 플래그, 실행한 사용자명, 터미널 타입, 프로세스 시작시간 정보를 보여줌 - 플래그 정보 - s(슈퍼유저), F(fork에 의해 실행..

C & Docker & LINUX 2017.10.29

리눅스 접근 통제(tcpwrapper), PAM

리눅스 접근 통제 (Tcpwrapper), PAM출처: 알기사 정보보안기사/산업기사 실기 대비 1권 접근 통제 1. tcpwrapper는 외부에서 들어오는 클라이언트에 대해 접근통제 기능을 제공한다. - 클라이언트의 ip 주소를 확인하여 시스템 관리자가 접근을 허용한 호스트들에 대해서만 서비스를 허용하기 때문에 외부의 해킹으로부터 시스템을 보호할 수 있다. 2. 접근허용 및 차단에 대한 판단은 /etc/hosts.allow와 /etc/hosts.deny 파일에 정의된 호스트 정보(IP 정보)를 기준으로 한다. - 접근 순서가 중요하다. 먼저 /etc/hosts.allow 파일을 참조하여 해당 호스트 정보가 있다면 접근을 허용하고, 없다면 /etc/hosts.deny를 확인하여 접근을 차단한다. 만약 de..

C & Docker & LINUX 2017.10.28

리눅스 - 프로세스 실행권한

리눅스 - 프로세스 실행권한출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 * 리눅스 시스템에서 프로세스의 자원에 대한 접근권한을 판단하기 위해 부여하는 ID로 RUID, RGID, EUID, EGID가 있다. - RUID : 프로세스를 실행시킨 사용자의 UID - RGID : 프로세스를 실행시킨 사용자의 GID - EUID : 프로세스가 실행중인 동안에만 부여되는 UID로 자원 접근권한을 판단하기 위한 UID - EGID : 프로세스가 실행중인 동안에만 부여되는 GID로 자원 접권권한을 판단하기 위한 GID * SUID, SGID는 프로세스가 실행중인 동안에 해당 실행파일의 소유자, 소유그룹의 권한으로 자원에 접근할 수 있도록 하는 권한 설정 - S아이디가 설정되지 않은 프로세스는 R아이디와 동일..

C & Docker & LINUX 2017.10.28

리눅스 시스템 보안 - 패스워드

리눅스 시스템 보안 출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 패스워드 - /etc/passwd 파일은 리눅스 시스템에 등록된 사용자 정보가 담겨있다. - 과거에는 사용자의 패스워드를 /etc/passwd 파일의 두 번째 필드에 저장하였다. - 하지만 최근에는 /etc/shadow파일에 암호화된 패스워드만 저장하고 있다. /etc/passwd 파일의 필드 [사용자 계정] : [패스워드(X표시 - /etc/shadow저장)] : [uid] : [gid] : [comment] : [홈디렉터리] : [로그인 쉘] 1. 사용자 계정 : 시스템에 대한 총괄 권한을 가지고 있어 보안상의 문제로 원격접속을 제한한다 2. 패스워드 : X /etc/shadow에 저장된다는 뜻 3. uid : 사용자 id..

C & Docker & LINUX 2017.10.28

리눅스 사용자, 파일 시스템 관리

리눅스 사용자, 파일 시스템 관리 출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 사용자 계정 추가(useradd) 1. 유닉스 시스템에 새로운 사용자 계정을 추가하기 위해서는 다음 과정을 거친다. - 사용자 계정정보를 저장하는 /etc/passwd와 암호화된 비밀번호를 저장한 /etc/shadow에 사용자 정보 추가 - 그룹 정보 /etc/group에 추가 - 새 사용자를 위한 홈 디렉터리를 생성하고 접근 권한을 부여한다. - 사용자 로그인 시 필요한 몇 가지 시작 파일을 홈 디렉터리에 생성한다. ex) useradd [옵션] 생성이름 - useradd test1 (root 계정일때만 생성가능) ** passwd 사용자계정 - 패스워드 변경시 2) 사용자 게정 삭제(userdel) 1. 사용..

C & Docker & LINUX 2017.10.25

리눅스 시스템 관리 명령어

리눅스 시스템 관리 명령어출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 부팅 관련 용어 - 런 레벨 1. 시스템의 운영 상태를 숫자 혹은 문자로 표현한 것이다 2. init 프로세스는 /etc/inittab 파일에 정의된 런 레벨에 따라 시스템 운영 상태를 구성한다. 3. 0 - PROM 모드, s- 시스템 싱글 유저 모드, 1- 로컬 파일 시스템 마운트 상태, 5- 시스템 power off 6 - 시스템 리부팅 4. 서버용 unix 시스템은 일반적으로 3 또는 5의 런 레벨로 운영된다. (who -r (unix) , runlevel (linux) - 운영 중인 시스템의 런레벨을 알고 싶을 때) - INIT 상태 1. INIT 상태는 런 레벨과 같은 의미, 런 레벨을 이동할 때, init 명..

C & Docker & LINUX 2017.10.25

정보보안 - Blind SQL Injection

정보보안 - Blind SQL Injection Blind는 눈이 먼, 장님이라는 뜻을 가지고 있습니다. 장님이 길을 찾을 때, 지팡이로 더듬더듬 확인하면서, 가듯이 퀴리가 true, false인지만 가지고 원하는 결과를 찾아내는 방법입니다. Blind SQL Injection은 보통 쿼리의 결과를 직접적으로 눈으로 확인할 수 없을 때 사용합니다. SQL Injection의 결과가 페이지에 직접적으로 나타나지 않을 때, 쿼리의 결과가 참, 거짓만을 판별하여, 원하는 결과를 추출해 나가는 기법입니다. 출처 : 어서 와 해킹은 처음이지 칼리리눅스로 배우는 해킹과 보안 ** 비슷한 예제 로그인 창에 id를 ' or (SELECT length(username) FROM users Limit 0,1) = 8#로 ..

IT Security 2017.10.11
반응형