라벨이 #Linux인 게시물 표시

[linux] 보안 관련 로그

이미지
[linux] 보안 관련 로그 리눅스의 보안을 책임지고 있는 로그들 SECURE 경로 : /var/log/secure 사용자들의 원격 로그인 정보를 저장하는 로그입니다. 서버 보안에 아주 민감하고 중요한 로그 파일 telnet, ssh, ftp 등 원격에서 접속한 사용자에 대한 기록이 남는다. 누가, 언제, 어떻게, 어디서 서버로 접속했는지 확인이 가능 wtmp 경로 : /var/log/wtmp 계정의 로그인 & 로그아웃 정보를 보여줍니다. lastlog와 마찬가지로 바이너리 파일이라 vi로 확인이 불가능합니다. last 명령어를 통해 확인이 가능합니다. 로그인, 로그아웃 히스토리가 계속 누적되며 시스템과 관련된 정보, 예를 들면 시스템 shutdown이나 reboot 기록이라던지 실질적인 로그인 프로세스를 거친 정보들이 저장됩니다. xferlog 경로 : /var/log/xferlog xferlog는 FTP 로그파일로써 proftpd 혹은 vsftpd 데몬이 수행한 서비스를 기록하는 파일입니다. 다시말하면, FTP를 이용해 접속한 사용자가 누군지, 어떤 파일을 업로드 하고 다운로드 했는지 등에 대한 상세한 내용 을 확인할 수 있습니다. 다른 로그들이랑은 다르게 생긴게 조금 어렵게 생겼습니다. xferlog가 포함하고 있는 정보 날짜와 시간 접속한 IP 파일사이즈 전송 파일 전송 바향 로그인한 사용자의 종류 파일 송수신 모드 message 경로 : /var/log/message 커널에서 보내주는 실시간 메시지 로그파일 중 가장 중요하고 기본적인 부분으로 시스템이 운영되는 전반적인 내용이 기록되는 파일입니다. 로그인 기록부터 디바이스 정보, 시스템 설정 오류, 파일 시스템, 네트워크 세션기록 등 주로 시스템 데몬들의 실행상황과 내역, 그리고 사용자들의 접속정보 등 정말 많은 정보를 가지고 있는 파일입니다. 출처 htt...

[정보보안] 리눅스 파일 시스템

[정보보안] 리눅스 파일 시스템 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 / 조직하는 체제 예를 들어 하드 디스크 - 도서관 파일 시스템 - 도서 검색대 파일 - 책 리눅스의 대표 파일 시스템 ext3, ext4, swap, xfs, iso9660, nfs CentOS 6.9버전에서 채택한 기본 파일 시스템 -> ext4 파일 시스템 종류 ext - 초기 리눅스에서 사용했던 종류로 현재는 사용하지 않음 ext2 - 현재도 사용하며, 긴 파일 시스템 이름을 지원하는 것이 특징 ext3 - 저널링 파닝 시스템, ext2보다 파일시스템의 복수/보안 기능이 크게 향상 ext4 - 16TB까지만 지원하던 ext3과는 달리 더 큰 용량을 지원하며, 삭제된 파일 복구, 파일 시스템 속도가 훨씬 빨라진 파일 시스템 swap - swap공간으로 사용되는 파일 시스템 xfs - 64bit 고성능 저널링 파일 시스템 iso9660 - DVD/CD-ROM을 위한 표준 파일 시스템으로 읽기만 가능 nfs - 원격 서버에서 파일 시스템 마운트 할 때 사용하는 시스템 Network File System 출처 https://neul-carpediem.tistory.com/98

[정보보안] PAM이란?

[정보보안] PAM이란? 옛날 리눅스가 좋은 시절에는 su, passwd, login, xlock와 같은 프로그램들은 사용자 인증이 필요한 경우 간단히 /etc/passwd 파일에서 정보를 읽었다. 만약에 사용자 패스워드를 변경할 필요가 있는 경우, 간단히 /etc/passwd를 편집했다. 이러한 간단하나 투박한 방법은 시스템관리와 응용프로그램 개발자들에게 많은 문제점을 제공했다. MD5와 쉐도우 패스워드가 굉장히 유행함에 따라 다른 방법을 다루고자 할 때 사용자 인증을 필요로 하는 각각의 프로그램 적절한 정보를 얻는 방법을 알아야 했다. PAM은 사용자정보의 저장방법과 관계없이 프로그램들이 투명하게 사용자를 인증하게 함으로써 이러한 혼잡함을 제거했다. PAM Pluggable Authentication Modules 시스템에 공통적인 인증 방법을 제공 손쉬운 인증 모듈의 교체 및 추가/삭제 응용프로그램(서비스)가 패스워드 파일을 읽지 않고 PAM에게 요청 개발자가 사용자 인증에 신경 쓰지 않아도 되고, 시스템 관리자가 직접 응용프로그램의 인증 동작을 세밀하게 제어할 수 있음 다양한 인증 모듈을 호출해서 사용자 인증 과정을 수행, 모듈 결과에 알맞은 행동 모듈의 종류가 다양해서 인증 절차에 확실한 개념이 필요 PAM은 윈도우즈 프로그램의 DDL과 같은 라이브러리 PAM 동작 원리 사용자나 프로세스가 접근 요청한다. 해당 app의 PAM 설정 파일을 확인한다. 스택의 PAM 모듈이 리스트 상 순서대로 호출된다. PAM 모듈은 성공, 실패 상태를 반환한다. 스택은 순서대로 확인되며, 실패 상태를 반환한다 해서 중단되지 않는다. 모든 PAM 모듈 상태 결과가 종합돼 전체 인증 과정의 성공, 실패 상태를 반환한다. 출처 https://m.blog.naver.com/PostView.nhn?blogId=jb8917&logNo=120178335127&proxyReferer=ht...

[Linux] File Descriptor(파일 디스크립터)란?

이미지
[Linux] File Descriptor(파일 디스크립터)란? 파일 디스크립터 시스템으로부터 할당 받은 파일을 대표하는 0이 아닌 정수 값 프로세스에서 특정 파일에 접근할 때 사용하는 추상적인 값 프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있다. 대게 보조기억장치에 저장되어 있다가 해당 파일이 열릴(Open) 때 주기억장치로 이동한다 파일을 관리하기 위해 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 갖고 있는 제어블록(FCB)이다 흔히 유닉스 시스템에서 모든 것은 파일 이라고 한다. 일반적인 정규파일(Regular File)에서부터 디렉토리(Directory), 소켓(Socket), 파이프(PIPE) 등등 모든 객체들은 파일로써 관리된다. 유닉스 시스템에서 프로세스가 이 파일들을 접근할 때에 파일 디스크립터라는 개념을 이용한다. 파일 디스크립터는 '0이 아닌 정수' 값이다. 즉, 음수가 아닌 0과 양수인 정수 값 을 갖는다. 프로세스가 실행 중에 파일을 Open 하면 커널은 해당 프로세스의 파일 디스크립터 숫자 중에 사용하지 않는 가장 작은 값을 할당해 준다. 그 다음 프로세스가 열려있는 파일에 시스템 콜을 이용해서 접근 할 때, FD 값을 이용해 파일을 지칭 할 수 있다. 프로그램이 프로세스로 메모리에서 실행을 시작 할 때, 기본적으로 할당되는 파일 디스크립터들이 있다. 바로 표준 입력, 표준 출력, 표준 에러이다. 이들에게 각각 0, 1, 2 라는 정수가 할당된다. 0이 아닌 정수로 표현되는 파일 디스크립터는 0 ~ OPEN_MAX까지의 값을 가질 수 있으며, OPEN_MAX 값은 플랫폼에 따라 다르다. 파일 디스크립터는 위 그림에서 볼 수 있듯이, 단순히 숫자인 이유는 프로세스가 유지하고 있는 FD 테이블의 인덱스이기 때문이다. FD 3번이라는 의미는 FD 테이블의 3번 항목이 가리키는 파일이라는 의미...

[System] 특정 포트를 사용중인 프로세스 확인/종료

이미지
[System] 특정 포트를 사용중인 프로세스 확인/종료 sudo lsof -i :"포트 번호" //해당 포트를 사용하고 있는 프로세스를 찾는다 sudo kill -9 "프로세스 번호" //깔끔하게 프로세스가 사라진다.

[Linux] netstate 명령어

이미지
[Linux] netstate 명령어 netstat는 시스템의 네트워크 연결 목록(tcp, udp, 소켓 연결) 을 보여주는 유틸리티 네트워크 연결 정보 외에도 라우팅 정보나 네트워크 인터페이스 상태, Masqurade 연결 상태 및 멀티캐스트 멤버 정보 등을 조회 가능 가장 기본적이고 간단한 명령으로 현재 연결을 모두 보여주는 것( 옵션으로 a 사용) 출처 https://sisiblog.tistory.com/12

[Linux] 마운트(mount)란?

[Linux] 마운트(mount)란? window에는 마운트라는 개념이 별로 사용되지 않지만, 윈도우 등은 장치들을 이름으로 식별하는 것과 달리, 리눅스는 그 위치로 장치들을 식별한다. 리눅스에서는 하드디스크의 파티션, CD/DVD, USB 메모리등을 사용하려면 특정한 위치에 연결을 해 줘야 한다.  이렇게 물리적인 장치를 특정한 위치(대게는 디렉토리)에 연결해주는 과정 을 마운트라고 한다 즉, 논리적으로 디스크와 디렉토리를 붙이는 것 유닉스에서 마운트 되어있는 상태에서는 CDROM 드라이브 eject버튼이 먹히지 않는다 그 이유는 아직 마운트 되어있기 때문이다. 언마운트 명령을 내려주어야 eject가 가능하다 출처 https://sksstar.tistory.com/7 http://www.terms.co.kr/mount.htm

[Linux] Nohup, & 이란?

[Linux] Nohup, & 이란? Nohup 리눅스, 유닉스에서 쉘스크립트파일 (*.sh)을 데몬형태로 실행시키는 프로그램 터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함 &만 붙여도 백그라운드에서 작업을 수행하기는 하지만, 사용자가 터미널 세션을 끊어버리면 백그라운드로 작업중인 작업도 같이 종료가 되어 추후 문제가 생길 소지가 다분하다. &이란? 프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어 요즘은 옵션설정으로 nohup과 같은 동작도 추가시킬수 있음 주의사항 nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 펴미션이 755이상 상태여야 함 chmod 755 shell.sh 실행방법 nohup shell.sh 1>/dev/null 2>&1 & 0 : 표준 입력 1 : 표준 출력 2 : 표준 에러 1>/dev/null : 1의 결과를 /dev/null(블랙홀)이라는 파일 속으로 넣는다. 즉, 사라진다 2>&1 : 표준 에러를 표준 출력으로 재지향 종료방법 "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행 "kill -9 PID번호" 명령으로 해당 프로세스 종료 팁  만약 nohup 명령어로 직접 만든 스크립트를 실행하고자 하는데 명령어를 입력 후 엔터를 치면 exit이 나온다면 스크립트에 에러가 있어 종료가 되는 것 출처 http://brownbears.tistory.com/164