lsblk 시스템에 연결된 모든 블록 장치(하드 디스크, SSD, USB 드라이브 등)의 목록을 볼 수 있다.sda5_crypt으로 암호화 된 파티션 수도 파악도 가능하다.
*LVM : LVM(Logical Volume Manager)는 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이다.
apt & aptitude 게시물을 통해 apt에 대해 알아보고 aptitude와 다른점을 알아 보았다.
AppArmor는 리눅스 보안 프레임워크로 , 응용 프로그램별로 프로파일을 작성하여 해당 프로그램이 접근할 수 있는 리소스를 제한한다.
AppArmor는 Debian에서 기본으로 지원하며, SELinux보다 상대적으로 설정이 간단하고 Debian에 최적화 되어있다.
(SELinux는 매우 세부적인 제어가 가능하나 초기 설정과 정책 관리가 복잡하다고도 볼 수 있다.)
AppArmor의 사용법을 알아보고 Debian 시작 시 AppArmor가 활성화 되게 한다.
활성화 정보 확인
sudo aa-status 명령어를 통해 활성화 정보를 볼 수 있다.apparmor module is loaded. 메시지로 AppAromor의 활성화가 된 것을 알 수 있다.X profiles are in enforce mode. 를 통해 위협 보호가 되는 프로파일 수(X)를 확인할 수 있다.SSH 설정 방법을 보고 Port 변경 및 root계정의 접속을 차단한다.
sudo systemctl status ssh 명령어로 활성화 상태, port 정보 확인 할 수 있다.ssh user(id)@192.168.56.1 -p 4242 포트 4242를 통해 연결 확인하는데 id 부분에 root로 입력하여 root계정의 접속 확인을 하면 된다.sudo adduser 사용자 이름 명령어를 이용하여 계정을 생성한다.
사용자 이름이 user id가 되고 넘어가면 password, name 등 추가 항목들이 나오는데 입력하고 넘어가면 계정이 생성 된다.
이상태로 연결 설정은 위 ssh user(id)@192.168.56.1 -p 4242를 이용하여 확인하였다.
UFW 방화벽 설정을 한다.
sudo ufw status verbose 명령어로 현재 상태 정보 확인할 수 있다.hostnamectl현재 호스트 네임이 출력된다.sudo hostnamectl set-hostname <myserver> 명령어에서 <myserver>부분에 변경될 hostname 을 넣으면 hostname이 변경된다.sudo nano /etc/hosts열어127.0.0.1 localhost
127.0.0.1 myserver
127.0.0.1 아랫줄에 hostname을 변경된 이름으로 변경 해준다.
sudo usermod -aG sudo 사용자 이름groups 사용자 이름sudo nano /etc/login.defssudo nano /etc/pam.d/common-passwordsudo nano /etc/pam.d/passwd에서 @include common-password로 common-password 파일에서 설정한 내용을 참조하고 있는지 확인 필요함.sudo passwd rootpasswd usernamesudo passwd username으로 sudo로 root 권한을 주어 비밀번호를 변경하면 root 계정 비밀번호와 같은 정책만 적용받게 되어 일부 정책이 무시될 수 있다.visudo/ect/sudoers 파일을 수정한다.passwd_tries : sudo 명령어 사용 시 잘못된 비밀번호를 입력할 수 있는 횟수를 제한한다.uthfail_message : 인증 시도가 실패했을 때 표시될 메시지를 설정한다.badpass_message : 잘못된 비밀번호를 입력했을 때 표시될 메시지를 설정한다.iolog_dir : 입출력 로그를 저장할 디렉토리를 지정한다.log_input, log_output : sudo 세션의 입력과 출력을 모두 기록한다.requiretty : sudo가 실제(터미널)TTY를 사용하도록 설정하여 보안을 강화한다.secure_path : sudo에서 사용할 수 있는 경로 제한한다.Cron은 유닉스 계열의 컴퓨터 운영체제에서 사용되는 시간 기반 작업 스케줄러이다.
사용자가 지정한 시간에 자동으로 명령이나 스크립트를 실행할 수 있도록 해준다.
monitoring.sh 스크립트를 작성한다.chmod +x monitoring.shchmod +x를 이용하여 monitoring.sh스크립트에 실행 권한을 부여한다.+로 권한 추가, x는 실행권한을 말한다.crontab -e-e옵션은 등록, 편집 등을 하는 옵션이다.*/10 * * * * /root/monitoring.sh | wall|를 통해 wall로 출력을 전달한다.cronta -lcrontab -e로 편집한다.*/10 * * * * /root/monitoring.sh | wall 이 코드 앞에 #을 붙여 이 코드를 주석 처리한다.sha1sum <가상 디스크 파일 경로>
vdi 파일을 넣으면 사진과 같이 나온다.
head -n 2 /etc/os-releaseaa-statusss -tunlp-t : TCP 소켓만 표시-u : UDP 소켓만 표시-n : 포트를 이름 대신 숫자로 표시 (예: http 대신 80)-l : 수신 대기(Listening) 중인 소켓만 표시-p : 해당 소켓을 사용하는 프로세스와 PID를 표시ufw status