런 레벨 시스템 관리의 용이함을 위하여 서비스의 실행을 단계별로 구분하여 적용하는 것입니다. 저사양의 PC나 사냥이 좋은 PC를 사용하는경우에도 간단하게 runlevel을 변경하는 것만으로도 메모리 사용률이 줄어들며, 쾌적하게 사용할 수 있습니다. 또한, runlevel의 변경은 root사용자의 경우만 가능합니다. 우분투의 LTS 버전이 16.04로 올라가면서 init이 아닌 systemd가 PID 1번을 부여받게 되었습니다. 따라서 아무리 init 설정을 변경해 run-level을 바꿔도 소용이 없습니다. level 0(halt, DO NOT SET initdefault to this) 시스템 종료를 의미합니다. 즉, 런레벨 0으로 변경하라는 명령을 내리면 시스템을 종료하라는 것입니다. level 1(..
데몬 데몬(daemon)이란 시스템에 관련된 작업을 하는 후위 프로세스(background process)를 말합니다. 대부분의 데몬들은 시스템이 부팅되면서 시작되고 데몬들에는 우리가 자주 듣고 접하는 telnet, ftp, http, sendmail 등이 있습니다. 대부분의 데몬은 시스템에 관련된 작업을 하게 되는데, 서비스 요청이 없을 때는 후위 프로세스로서 유휴(idle)상태에 들어가 있게 되어 시스템의 CPU를 차지하지 않지만 메모리와 기타 자원을 상당수 차지하게 됩니다. 그렇기에 많은 데몬을 띄울려면 그 만큼 시스템에 자원을 많이 가지고 있어야 합니다. 인터넷 슈퍼 데몬(Internet Super Daemon) xinetd(커널 2.4 이전 버전은 inetd, xinetd는 eXtended In..
확률 일정한 조건 아래서 어떤 사상이나 사상이 일어날 가능성의 정도. 또는 그 수치입니다. 수학적으로는 1을 넘을 수 없고 음이 될 수도 없습니다. 확률 1은 항상 일어남을 의미하고, 확률 0을 절대로 일어나지 않음을 의미합니다. 종속성과 독립성 사건 A의 발생 여부가 사건 B의 발생 여부에 대한 정보(condition, 조건부 확률)를 제공한다면 두 사건 A와 B는 종속사건으로 볼 수 있습니다. 그렇지 않다면 독립사건입니다. 수학적으로, 사건 E와 F가 동시에 발생할 확률이 각각 사건이 발생할 확률의 곱과 같다면(joint, 결합 확률) 두 사건은 독립사건을 의미한다. P(A,B) = P(A)P(B) -> 독립사건 조건부 확률 조건부 확률(conditional probability)은 어떤 사건 B가 ..
HTTP HTTP는 웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜입니다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송합니다. 이 때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용합니다. 이 HTTP 메소드 중 GET과 POST의 특징과 차이점을 알아보겠습니다. GET HTTP/1.1 스펙인 RFC2616의 Section9.3에 따르면 GET은 서버로부터 정보를 조회하기 위해 설계된 메소드입니다. GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다. URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요..
Backdoor 시스템 접근에 대한 사용자 인증 등 정상적인 절차를 거치지 않고 응용프로그램 또는 시스템에 접근할 수 있도록 하는 프로그램입니다. 해킹이 아닌 해킹 성공 후의 후속조치라고도 합니다. local backdoor 시스템에 로그인한 뒤에 관리자로 권한 상승을 시키기 위한 백도어입니다. 공격자는 실행하기 위한 일반 계정이 적어도 하나 필요합니다. 단순히 실행하면 관리자 권한으로 상승합니다. 전에 알아보았던 SUID로 만들 수 있습니다. remote backdoor(Port Bind) 원격에서 관리자로 계정과 패스워드를 입력하고 로그인한 것처럼 바로 시스템의 관리자 계정을 얻을 수 있는 백도어입니다. 네트워크에 자신의 포트를 항상 열어 놓은 경우가 많습니다. 일종의 서비스를 제공하는 데몬처럼 동작..