Linux29

접근제어[사용자] 1. ACL(Access Control List)1) ACL이란? ▶ 기존 퍼미션 접근제어에서 조금 더 세밀하게 접근제어를 하는 방식을 말한다. 2) 명령어 [1] setfacl ▶ set file access control list의 약자이다. ▶ -m 옵션은 추가 및 변경 시에 사용한다. ▶ -x 옵션은 삭제 시에 사용한다. ▶ --remove-all 옵션은 ACL전체 삭제 시 사용한다. ▶ 항목에는 user(u), group(g), other(o) 를 사용하며 약자를 사용해도 된다. ▶ setfacl [옵션] [대상타입] : [대상] : [부여할 권한] [파일경로] 방식으로 사용한다. [2] getfacl ▶ getfacl [파일명] 방식으로 사용한다. ▶ 파일의 ACL을 확인할 수 있다. 3) 시.. 2018. 11. 11.
접근권한[퍼미션] 1. 접근권한 1) chmod(Change Mode) 명령어 - 접근권한을 부여 혹은 제거할 수 있는 명령어이다. # chmod [퍼미션] [파일 및 디렉터리] # chmod [대상][조작][종류] [1] 옵션 ▶ -R = 해당 디렉터리의 모든 하위 파일에 대한 접근권한 [2] 대상 ▶ u = 소유자 ▶ g = 소유자 그룹 ▶ o = 기타 사용자 ▶ a = 모든 사용자 [3] 조작 ▶ + : 권한추가 ▶ - : 권한삭제 ▶ = : 권한지정 [4] 종류 ▶ r : 읽기 ▶ w : 쓰기 ▶ x : 실행 ▶ s : SUID or SGID ▶ t : 스틱키 비트 [5] 사용 예 ▶ chmod go+w test.txt - 소유자 그룹과 기타사용자에게 test.txt 파일의 쓰기 권한을 부여한다. 2) SUID(S.. 2018. 10. 27.
SSH의 SCP 기능 1. SSH(Secure SHell)의 SCP(Secure Copy Protocol) - SSH서버는 원격접속도 가능하지만 아래에 파일을 전송하는 서버(SCP)도 포함한다. 1) 시연 - 시연 내용은 클라이언트에서 WinSCP를 통해 바이러스 시그니처를 가진 파일을 서버에 전송하고, 서버에서는 백신을 설치하여 들어온 바이러스 파일을 삭제할 수 있어야 한다. [1] 서버의 IP주소 확인 - # ifconfig 명령어를 사용하여 서버의 ip를 확인한다. [2] WinSCP - WInSCP를 다운로드 받아 [1]에서 확인한 IP주소로 접속을 시도한다. - 단, sshd 데몬 접근이 차단된 경우 사용할 수 없다. [3] 동기화 - 접속을 시도한 곳과 서버가 연동된 것을 확인할 수 있다. [4] 리눅스 서버 백신.. 2018. 10. 9.
TCP Wrapper 1. TCP Wrapper(TCP 래퍼) 1) TCP Wrapper의 특징 [1] 호스트 기반의 ACL(Access Control List) 기술로 네트워크의 접근을 필터링하기 위해 사용한다. [2] TCP Wrapper는 libwrap이라는 라이브러리를 포함한다. [3] 그래서 libwrap에 링크되어 있는 프로그램만 사용이 가능하다. [4] 링크여부는 ldd명령어를 사용해서 확인이 가능하다. - # ldd [서비스데몬의 파일] | grep libwrap [5] 초기에는 inetd 같은 슈퍼서버에서 생성된 서비스만 래핑되었다. [6] 현재는 대부분의 네트워크 시스템 데몬들은 직접적으로 libwrap와 연결되어 사용이 가능하다. [7] TCP와 UDP 서비스를 보호하기 위해 만들어졌지만 'pingd'와 .. 2018. 10. 9.
데몬관리 ※ 시작 전.. - 데몬은 서비스를 하는 서버를 의미한다. 1. 서비스관리 1) 서비스 관리원칙 [1] 서비스는 필요한 최소한의 서비스만 가동되도록 한다. [2] 불필요한 서비스는 작동하지 않도록 한다. [3] 만약 불필요한 서비스가 가동되고 있으며, 서비스에 취약점이 존재한다면 서버의 침해사고 확률이 올라간다. [4] 트로이목마가 백도어를 통해 포트를 오픈할 수 있으므로 서버관리자가 자신이 제공하는 서비스를 알고 있으면 모니터링이 용이하다. 2) 서비스 관련 명령어 [1] service [서비스명] [start | stop | restart | status] - 특정 서비스를 시작하거나 멈추거나 재시작하거나 상태를 확인하는 명령어이다. - reboot을 하지 않고 restart를 하는 이유는 다른 서비.. 2018. 10. 4.
패스워드 기간 관리 1. 패스워드 설정 - 패스워드는 Guessing과 Brute force attack을 당할 수 있으므로 어느정도의 복잡도를 가지도록 해야한다. - 주기적인 변경을 요구하는 정책도 필요하다. 1) chage 명령어 [1] change age의 약자로 계정의 패스워드 변경에 대한 정책을 세우는 명령어이다. [2] Minimum Password Age - 패스워드 최소사용기간으로 패스워드를 변경 후 7일 동안 패스워드 변경이 불가능하다. [3] Maximum Password Age - 패스워드 변경 후 60일 내에 다른 패스워드로 변경하여야 한다. [4] Last Password Change - 마지막으로 패스워드를 변경한 날짜이다. - 이 날짜부터 Maximum Password Age 까지가 패스워드를 사.. 2018. 9. 30.
시스템 시간관리 1. 시스템 시간 - 확인할 수 있는 시간의 종류에는 운영체제 시간, 바이오스 시간, 하드웨어 시간이 있다. 1) date - 현재 운영체제의 시간을 알려준다. [1] [date -s "년-월-일"] 명령어 양식으로 날짜를 변경할 수 있다. - [date -s "2011-1-1"] 명령어로 현재 날짜를 변경하고 [date] 명령어로 현재 날짜를 확인하였다. 2) clock - 현재 바이오스의 시간을 알려준다. [1] clock -w - 현재 운영체제 시간으로 바이오스 시간을 동기화하는 명령어이다. [2] clock -s - 현재 바이오스 시간으로 운영체제 시간을 동기화하는 명령어이다. 3) hwclock - 하드웨어의 시간을 알려준다. [1] hwclock -w - 현재 운영체제 시간으로 하드웨어 시간을.. 2018. 9. 23.
사용자 계정관리 1. 사용자 계정 관리 원칙 1) 시스템에서 현재 사용하지 않는 계정 [1] 실수 혹은 악의로 로그인하여 시스템에 접근할 수 있으므로 삭제해야한다. [2] 그러나 계정을 삭제해야할지 말아야할지 애매할 경우는 계정을 잠궈야 한다. - [useradd user1] 명령어로 새 계정을 생성한다. - [passwd user1] 명령어로 user1의 계정의 비밀번호를 설정한다. - [usermod -L user1] 명령어로 user1 계정의 상태를 Lock 시킨다. - 런레벨 3으로 부팅하면 [Alt+F?] 키를 이용하여 여러 개의 창을 띄울 수 있다. - 나의 경우는 [Alt + F2] 키를 이용하여 새 화면을 만들었다. - user1 계정으로 로그인을 시도한다. - 잠겨있어서 접근이 불가능한 것을 확인할 수 .. 2018. 9. 23.
프로세스와 명령어 모니터링 1. 프로세스 모니터링 1) ps [1] 사용자가 접속한 단말에서 실행되고 있는 프로세스를 보여준다. [2] ps옵션 - a : 모든 프로세스에 대해 - u : 실행한 유저명을 포함하고 - x : 제어 단말이 없는 프로세스까지 보여준다. - 위 그림은 ps -aux 명령어를 사용한 결과이다. [3] 확인방법 - VSZ는 프로세스가 메모리의 총 사용량이다. - RSS는 프로세스가 현재 사용 중인 메모리양이다. - TTY는 제어단말명을 말한다. - STAT는 프로세스 상태를 의미한다 ① S : 슬립상태 ② D : 인터럽트가 불가능한 슬립상태 ③ R : 실행상태 ④ T : 트레이스 혹은 정지상태 ⑤ Z : 소멸한 프로세스 ⑥ W : 스왑 아웃한 프로세스 2) top [1] CPU 및 메모리 사용률, 시스템 부.. 2018. 9. 16.
패키지 설치 1. 패키지 인스톨 프로그램 1) RPM(Redhat Package Manage) [1] RPM 패키지는 배포자의 전자서명이 들어있다. - GPG공개키를 가져와서 확인해야 한다. - cd /etc/pki/rpm-gpg/ 경로의 RPM-GPG-KEY-CentOS-6 을 열어 GPG 공개키를 확인할 수 있다. [2] RPM 패키지 설치를 위해서는 그 패키지의 요소를 전부 각각 다운로드 해야한다. - 의존성 문제가 있다. ※ 의존성 = 설치 시 다른 바이너리에 의존하는 성질을 말한다. 2) YUM(Yellodog Updater Modified) [1] YUM은 RPM의 패키지 의존성문제를 해결해준다. - 즉, RPM은 알아서 각각 설치해야 하지만, YUM은 의존성이 있는 다른 패키지를 먼저 설치한다. [2] .. 2018. 9. 15.
서버 부팅과정 1. 부트로더 - 부팅될 때 운영체제를 올리는 것을 말한다.(하드웨어와 운영체제를 연결하는 것) 1) 메인보드의 펌웨어 - 펌웨어가 운영체제와 연결되기 위한 규약 - 하드디스크 or SSD 등에서 부트로더를 메모리로 읽어와 실행시킨다. [1] BIOS란? - 운영체제에 포함되지 않고 운영체제를 올리기 위한 것이다. [2] BIOS의 발전사 BIOS(Basic Input Output System) - EFI(Extensible Firmware Interface) - UEFI(Unified Extensible Firmware Interface) (a) BIOS : 회색 창에 글씨 (b) EFI : 텍스트에 칼라 (c) UEFI : 마우스 지원 [3] Device Driver - 메인보드의 펌웨어는 Devic.. 2018. 9. 9.
서비스관리 1. 기본적으로 실행되는 서비스 1) auditid - 로그 남기는 서비스 2) lvm2-monitor - 파일 통합관리(장애 모니터링) 서비스 3) cron - 특정시간에 트정 서비스 가능하도록하는 서비스 - 예) 오늘 밤 이번주 접속내역 만들어서 메일로 전송 등.. 4) iptables - 방화벽 서비스 5) kdump - 프로세스 이상 시 다운되면 현재 메모리 상태를 저장하는 서비스 - 예) c소스를 컴파일 시 core라는 파일이 생성 6) mdmonitor - 파일을 두 개 만들어서 가용성을 높이는 서비스 7) netfs - 공유폴더의 파일관련 서비스 8) network - 네트워크 서비스 9) postfix - 메일서버 서비스 10) sshd - 외부접속가능 서비스 11) rsyslog - 시스.. 2018. 9. 9.