분류 전체보기 103

[CentOS7] 리눅스 DNS 서버 구축

DNS 서버 설치 DNS 서버는 bind 패키지를 사용하며 패키지만 다운로드 받으면 됩니다. #yum -y install bind bind-utils DNS 설정 파일 개념 및 위치 /etc/named.conf 파일 구성 listen-on port 53 { 127.0.0.1; }; ----> listen-on port 53 { any; }; allow-query { localhost; }; -----> allow-query { any; }; listen-on port 53 { 127.0.0.1; }; → DNS port 53에 어떤 IP가 접근할 수 있는지 설정 합니다. 불특정 다수의 유저에게 서비스 할땐 listen-on port 53 { any; }; 으로 설정 하고, 사설 DNS 서버로 사용할때엔 ..

linux/CentOS 2021.01.05

C++ 정리

키워드 const의 의미 const int num = 10; // 변수 num을 상수화 const int * ptr1= &val // 포인터 ptr을 이용해서 val1의 값을 변경할 수 없다. int * const ptr2 = &val // 포인터 ptr2를 상수화 const int * const ptr3 = &val3 // 포인터 ptr3가 상수화 되었으며, ptr3을 이용해서 val3의 값을 변경 불가 const 함수 int GetX() const; // " 이 함수 내에서는 멤버 변수에 저장된 값을 변경하지 않겠다" int GetY() const; // " const 함수 내에서는 const가 아닌 함수의 호출을 제한한다" C언어에서는 없지만 C++에서는 있는 새로운 자료형 bool bool isT..

study/C++ 2020.10.22

IDS/IPS 란?

IDS (intrustion Detection System) 침입 탐지 시스템 공격 또는 위협이 되는 통신을 탐지/보고(Reporting)/기록(Logging) 탐지 된 통신을 통제하지는 않는다. 장/단점 장점 : 탐지를 하지만 보고만 하므로 차단을 못한다. 단점 : 네트워크에 영향을 미치지 않는다, 오탐이 발생해도 문제가 되지 않음 IPS(Intrusion prevention System) 침입 방지 시스템 공격 또는 위협이 되는 통신을 탐지/기록/통제 장/단점 장점 : 탐지와 동시에 차단까지 수행할 수 있다. 단점 : 네트워크 속도가 저하된다. 과부화 상태인 경우는 검사없이 bypass하는 경우가 많다. 탐지 룰(rule)을 작성할 때 정밀한 검사를 하도록 하기 어렵다.(즉, 확실한 공격만 탐지/차단..

IDS,IPS 2020.07.01

예외처리 (try catch)

예외처리란? 예외 상황 : 예외(Exception)는 언어상의 문법적인 오류가 아니라 내가 의도한, 구현한 프로그램의 논리의 맞지 않는 상황을 말합니다. ex) 나눗셈을 할 때 나누는 수가 0으로 입력되는 경우를 "예외 상황"이라 하고, 이에 대해 다시 입력을 받거나 프로그램을 종료하는 방법을 정의해주는 것을 "예외 처리"라고 할 수 있습니다. C++에서 예외 처리를 위해 제공하는 메커니즘은 try, throw, catch로 구성되어 있습니다. try - try내부에서 예외가 있는지 탐색을 하는 부분 throw - try에서 예외를 탐색하면 throw의 인자로 준 변수를 catch로 던집니다. catch - throw에서 던진 변수를 인자로 받아서 catch 내부에 프로그래머가 정의한 예외처리가 실시합니..

study/C++ 2020.06.30

포인터 배열과 배열 포인터에 대한 이해

포인터 배열이란? 포인터 들의 배열이다. 배열의 요소가 포인터들로 이루어져 있는 배열 선언 방법 char* arr [3]; 배열 요소의 자료형이 char* (포인터)인 배열 그 배열의 요소의 개수가 3개 arr [0], arr [1], arr [2]은 어떤 메모리를 가리키고 있다. char* arr [3]은 메모리 3곳을 가리키고 있는 배열입니다. 포인터 배열 예제 #include int main(void){ const char* arr[3]; //포인터 배열 선언. int i; arr[0] = "Block"; arr[1] = "someting"; arr[2] = "like"; for(i = 0; i %s\n", i, arr[i]); } return..

study/C언어 2020.06.29

define 매크로와 inline 함수

매크로(define)란? 여러 번 사용하게 될 상수를 문자로 표현하여 변경 시에도 편리하게 사용할 수 있도록 하는 것 매크로 상수는 컴파일 전에 전처리기에 의해서 숫자로 치환됩니다. #define [이름] [숫자] 매크로 사용 예시 #include #include #define MAX_LEN 20 int main(void) { int* arr = (int*)malloc(sizeof(int) * MAX_LEN); int i; for(i = 0; i < MAX_LEN; i++) { arr[i] = i+1; } for(i = 0; i < MAX_LEN; i++) { if(i % 5 == 0) printf("\n"); printf("%d ", arr[i]); } free(arr); return 0; } 매크로 ..

study/C언어 2020.06.29

동적 할당 정리(malloc, realloc, calloc, free 함수)

동적 할당이란? 프로그램 실행 중 필요한 메모리 공간을 할당 중요한 것은 동적으로 메모리를 할당할 대 Heap(힙) 영역에 할당을 하는 것입니다. 성공 : 할당한 메모리의 첫 번째 주소 리턴 실패 : NULL 리턴 헤더 파일 - 메모리 할당 함수 - malloc 메모리 할당 및 초기화 - calloc 메모리 추가 할당 - realloc 메모리 해제 함수 - free 2) 함수 원형 void *malloc(size_t size); 할당받을 메모리 크기를 인자로 받음 ex) int * arr = (int *) malloc(sizeof(int) * n ); * 인자의 개수가 n개의 배열을 동적 할당한다. void *calloc(size_t nelem, sizeo_t elsize); 첫 번째 인자 배열 요소 갯..

study/C언어 2020.06.29

가상호스트(virtual host)란?

가상 호스트 (virtual host)란? 기본적으로 웹서버에 존재하는 주 호스트 즉 예로 (aaa.com)이라는 도메인을 등록하여 사용하고 있지만 추가적으로 한 서버에 (bbb.com) / (ccc.com) 등 여러 도 메인을 등록하여 사용한다는 의미입니다. 가상 호스트에도 여러 종류의 방면으로 운용을 할 수 있지만 일반적으로 하나의 컴퓨터(서버)나 IP로 여러 이름의 도메인으로 각각 운용할 수 있다는 부분입니다. 일반적인 웹서버 (서버 3대) 가상호스트 웹서버 (서버 1대) aaa.com (IP : 111.111.111.111) aaa.com (IP : 111.111.111.111) bbb.com (IP : 222.222.222.222) bbb.com (IP : 111.111.111.111) ccc...

linux/CentOS 2020.06.16

[CentOS7 APM 설치]

1. 의존성 라이브러리 설치 아래는 라이브러리 설치되어있는지 확인해보는 부분이며 APM에 꼭 필요한 패키지가 있다. rpm 라이브러리가 설치되어 있는지 확인 rpm -qa libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel Yum으로 아래의 필요한 라이브러리를 한 번에 전부 설치 (한 번에 관련된 의존성도 같이 설치가 됨) yum install libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel 2. [APM] Apache, PHP, MariaDB 설치 [순서 : Apache, Maria, PHP 진행] (순서는 크게 상관은 없음) 아파치 설치 yum ..

linux/CentOS 2020.06.16