가상 머신 동작 원리
가상머신이란?: 컴퓨팅 환경을 소프트웨어로 구현한 것으로, 컴퓨터 시스템을 가상화 한것이다. 또한 이곳에서 운영체제와 여러 응용 프로그램을 설치 및 실행시킬 수 있다.
동작 원리: 하이퍼바이저를 통해 하드웨어를 관리하며, 물리적 자원을 가상환경과 분리한다. 만약 가상머신이 실행중이며, 물리환경에서 자원을 추가로 요구한다면, 하이퍼바이저가 유동적으로 자원을 공유한다.
하이퍼바이저: 호스트 컴퓨터에서 다수의 운영체제를 동시에 운영하기위한 플랫폼 ex)vmware, virtual box
유형1: 하이퍼바이저형
유형2: 호스트형
선택한 운영체제 및 CentOS와 Debian의 차이
CentOS: Red Hat(레드햇 회사에서 배포한 리눅스로 2003년 이전까진 무료였다가 이후 상용화 됨)이 공개한 RHEL을 그대로 가져와 약간의 수정을 거친 것으로, 무료로 사용가능하지만 문제 발생 시 회사에서 지원이 되지 않아 패치가 다소 느림, 서버용 운영체제로 인기가 많다. yum 명령어를 통해 패키지 설치
Debian: 커뮤니티에서 제작하여 배포된 것으로, 무료이며, 개인 사용자 서버용으로 인기가 매우 높다. 패치도 지속적으로 되고 있기 때문에,레드햇 계열에 비해 뒤쳐지지 않는다. apt 명령어를 통해 패키지 설치
가상머신의 목적
APT vs APTITUDE
APT: 소프트웨어의 설치와 제거를 처리하는 패키지 관리 툴
Aptitude: 대화형으로 패키지를 검색해 설치, 제거하는 하이레벨의 패키지 관리 도구로 API보다 더 효율적으로 사용이 가능하다 ex) why, why-not 등의 명령어를 통해 해당 동작이 되고 안되는 이유를 알 수 있으며, 패키지 설치 및 제거 중 출돌 시 해결방법을 제시해줄 수도 있다. 또한 어떤 패키지를 삭제할 때, 사용되지 않는 패키지도 자동으로 삭제해줌 아무튼 훨씬 좋음, apt-get install aptitude 명령어로 설치 가능
AppArmor란?
우분투 내 백그라운드에서 실행되는 보안 기능으로, 보안적으로 취약한 프로세스가 야기시킬 수 있는 손상을 방지함
ex) 웹브라우저, 서버 소프트웨어
특정 프로그램에서 필요한 리눅스 기능, 네트워크 사용 여부, 파일 권한 등에 대한 접근을 허용하는 설정파일로 구성
상태 보기: sudo apparmor_status
기본 설정
sudo ufw status verbose
systemctl status ssh
uname -a or sh monitoring.sh
사용자
sudo adduser newUser
nano /etc/login.defs
PASS_MAX_DAYS 30 # 패스워드 만기일 설정
PASS_MIN_DAYS 2 # 패스워드 최소 변경일 설정
PASS_WARN_AGE 7 # 패스워드 경고 안내 기한 설정
nano /etc/pam.d/common-password
pam_pwquality.so
retry=3 패스워드 변경 시 실패횟수 제한 3회
minlen=10 최소 10글자 이상
ucredit=-1 대문자 포함
lcredit=-1 소문자 포함
dcredit=-1 숫자 포함
maxrepeat=3 같은 문자 연속해서 3글자 사용x
reject_username enforce_for_root difok=7
이전 패스워드와 최소 7글자 이상 달라야 함
sudo groupadd evaluating
sudo usesrmod -aG evaluating newUser
이러한 비밀번호 정책의 장점과, 그것을 구현할 때의 장단점을 설명할 수 있어야 한다.
호스트명과 파티션들
이 가상머신의 호스트명이 hyuncpar42인지 확인한다.
로그인 후, 원래의 호스트 명을 수정한 후 가상머신을 다시 실행하여 호스트 명이 업데이트 되었는지 확인한다.
호스트 명을 다시 원래대로 복원한다.
이 가상머신의 파티션들을 확인할 수 있는지 확인한다.
sudo hostnamectl set-hostname <변경할이름>
명령어 확인: lsblk
LVM이란?
Logical Volume Manager의 약자로, 논리적 공간 관리 프로그램이다.
파티션이란 디스크를 원하는 크기로 조각내어 사용하는 것인데, 사용하기에 애매한 여분의 파티션들을 합쳐서 하나의 공간을 만들어내는 것
LVM을 사용하는 이유
1. 여러개의 디스크 공간을 합쳐서 하나인 것처럼 사용하기 위해
2. 사용하기 애매한 공간의 파티션들을 활용하기 위해
3. 기존에 사용중인 디스크 공간을 확장하기 위해
Sudo
usermod -aG sudo <사용자이름>
id <사용자이름>
sudo visudo : sudo 설정파일 편집
# secure_path 끝에 :/snap/bin 추가
# 다음 설정 추가
Defaults authfail_message="Authentication faild."
Defaults badpass_message="The password is incorrect."
Defaults iolog_dir="/var/log/sudo/"
Defaults log_input
Defaults log_output
Defaults requiretty
Defaults passwd_tries=3
UFW
sudo ufw status verbose
UFW란?
데비안 계열을 비롯한 여러 리눅스 환경에서 작동하는 방화벽 관리 프로그램이다. 단순하고 사용자가 사용하기 쉬운 명령어로 구성되어있다.
방화벽은 데이터 패킷
sudo ufw allow 8080
sudo ufw delete allow 8080
SSH
systemctl status ssh
그것이 제대로 동작하는지 체크하세요.
SSH가 무엇인지, 그리고 그걸 사용할 때의 장점을 설명하세요.
Secure Shell Protocol의 약자로, 인터넷과 같은 public Network를 통해 컴퓨터간의 통신을 할 때, 보다 안전하게 통신을 하기 위해 사용하는 프로토콜이다. 주로 원격 제어를 할 때 많이 사용된다.
SSH 서비스가 4242포트만 사용하는지 확인하세요.
SSH를 통해 새로운 유저에 로그인하세요. 그리고 SSH로 root에 접근할 수 없어야합니다.
Script monitoring
unix 운영체제에서 어떤 작업을 특정 시간에 실행시키기 위한 데몬(백그라운드에서 작업을 하는)프로그램으로, crontab 파일을 통해 cron 작업을 설정할 수 있음
오호라