정보보안(30회차) 노트


서버 접속 정보
모든 서버는 수업이 끝나면 초기화 됩니다.
ssh 125.242.95.11 22005 (영우)
http://125.242.95.11:8005
ftp 125.242.95.11 21005
125.242.95.11 22006 (워니)
125.242.95.11 22007 (kali / kali)
125.242.95.11
- 10.0.2.15(1)
- 10.0.2.15(2)
- 10.0.2.15(3)
- 10.0.2.15(4)
- 10.0.2.15(5) /영우(21005,22005,8005,33005)
- 10.0.2.15(6) /워니
- 10.0.2.15(7) /

오늘의 미션(모든 문제는 chatgpt를 통해 풀어보시면 됩니다.)
서버 환경 이해하기
cat /etc/*release
dnf -y install wget
dnf -y install tar
dnf -y install bzip2
웹서버를 구축하라!
- 기본 웹페이지를 변경하라!(/home/master)
FTP서버를 구축하라!
- ftp 접속을 하고 메인 페이지를 변경하라!
- anonymous를 활성화 해라!
백업스크립트를 완성하라! - cron을 이용해 특정 시간이 되면 자동으로 실행되도록 하라!
tripwire를 설치하라!
sudo dnf install epel-release
sudo dnf update
sudo dnf search tripwire
https://bban2.tistory.com/236에서 다운받아 설치하기
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y gcc gcc-c++ make openssl-devel zlib-devel perl wget bzip2
tar xvfj trip.tar.bz2
프로세스확인
top
ps
tar -czf big.tar.gz /data
nice -n 10 tar -czf big.tar.gz /data
nice -n 15 tar -czf big.tar.gz /data &
tar -czf big.tar.gz /data
Ctrl + Z
bg
ps -ef | grep tar
renice -n 15 -p 2345

실습 시나리오
당신은 서버 관리자이다.
대용량 백업 작업이 CPU를 많이 사용해 서버가 느려졌다.
서비스는 유지하면서 백업을 수행해야 한다.
CPU를 계속 사용하는 명령을 포그라운드로 실행하시오.
yes > /dev/null
yes가 무한 반복하면서 CPU를 쓰지만 출력은 모두 버린다.
CPU 부하 테스트
nice 실습
백그라운드 연습
프로세스 제어 실습
서버 성능 테스트
top
yes > /dev/null &
jobs
yes > /dev/null
Ctrl + Z
bg
CPU 사용을 줄여 실행하시오.
nice -n 15 yes > /dev/null &
top
이미 실행중인 프로세스의 nice 값을 변경하시오.
ps -ef | grep yes
renice -n 18 -p 3120
kill %번호
kill -9 %번호
ps -ef | grep tar
kill 2345

리눅스 파일 시스템의 논리적 계층 구조
cd /
afs --
boot --
etc --
lib --
media --
opt --
root --
sbin --
sys --
usr--
bin --
dev -- 가상의 디렉토리
home --
lib64--
mnt --
proc -- 가상의 디렉토리
run --
srv --
tmp --
var--

명령어
sudo su
nmtui
ip addr
ping
netstat
nslookup
arp
traceroute
lsblk
fdisk
du
df
mount
free
man free
mv cp find file 중요파일
nano /etc/fstab
nano /etc/crontab
nano /etc/resolv.conf
nano /etc/hosts
nano /etc/hostname
nano /etc/network/interfaces
프로그램설치
dnf -y install net-tools
dnf -y install httpd
dnf -y install vsftpd
dnf -y install lrzsz
서비스시작
systemctl start httpd
systemctl start vsftpd
부팅후 자동으로 서비스 시작
systemctl enable httpd
systemctl enable vsftpd
방화벽 해제 및 정책 내리기
getenforce
nano /etc/selinux/config
systemctl stop firewalld
일반사용자의 권한은 어디까지인가?
무엇을 변경해야하는가?


리눅스에서 사용되는 디스크 연결 방법이다.(하나의 디스크의 부담 줄이려고 하는일 분담하는 작업)
sda(첫번째 하드디스크)
sdb(두번째 하드디스크)
sdc
sdd
lsblk를 이용해서 연결된 하드디스크 확인
fdisk /dev/sdb (파티션 작업(sdX를 일부분 쪼개는 명령어))
n>p>enter>enter>enter>w (명령어 순서)
mkfs.ext4 /dev/sdb (파일시스템을 생성하라! (sdX 포멧하기))
cd /
mkdir HDD2
mount /dev/sdb1 /HDD2 (sdb1과 HDD2를 연결하기)
연결 되었을때 ls 하면 lost+found가 나온다!

퀴즈
시스템 관리자가 리눅스 서버에 Apache를 설치하고 웹 서비스를 시작하려 한다. 이때 반드시 실행해야 하는 데몬은?

Linux 서버에서 백업 스크립트를 매일 새벽 2시에 자동 실행하려 한다. 이를 위해 반드시 실행되어야 하는 데몬은?

다음 Linux 명령어 중에서 해당 사이트와의 통신 상태를 점검할 때 사용하는 명령어는?

파일의 허가 모드가 ′-rwxr---w-′이다. 다음 설명 중 옳지 않은 것은?

Linux 파일 시스템의 마운팅과 논리적 계층 구조에 관련된 내용이라 할 수 없는 것은?

Linux 시스템에서 ′/dev′ 디렉터리에 대한 설명으로 가장 적절하지 않은 것은?

전통적인 Linux 시스템에서, 시스템 부팅 시 가장 먼저 실행되어 PID 1번을 차지하고, ′/etc/inittab′ 파일을 읽어 실행 레벨(runlevel)을 결정한 뒤, 서비스들을 시작하는 등 시스템 초기화를 직접 수행하는 프로세스는?

다음 중 Linux의 커널이 직접적으로 수행하지 않는 기능은?

Linux 시스템에서 마운트된 각 파일시스템의 전체 용량, 사용 중인 용량, 남은 용량을 확인할 수 있는 명령어는?

관리자가 새로운 SSD 디스크 ′/dev/sdb′를 서버에 추가한 후, 파티션을 생성하기 위해 실행해야 할 명령어로 가장 적절한 것은?

시스템 성능 저하가 발생한 Linux 서버에서 관리자가′free -h′ 명령어를 실행하였다. 이 명령어를 사용하는 주요 목적으로 가장 적절한 것은?

한 시스템 관리자가 Apache 웹 서버의 보안을 강화하기 위해 ′httpd.conf′ 파일을 검토하고 있다. 다음 중 보안상 가장 바람직하지 않은 설정은?

Linux에서 IP 주소를 호스트 이름으로 직접 연결할 때 사용하는 파일은?

Linux 서버의 포트 상태 점검 결과, 다음과 같은 두 개의 포트가 열린 것이 확인되었다. 관리자는 보안 강화를 위해 이 중 하나의 서비스를 즉시 비활성화하려고 한다. 보안상 가장 우선적으로 종료해야 할 서비스의 설명으로 적절한 것은?

Linux에서 root 유저로 로그인 한 후 ′cp -rf /etc/* ~/temp′ 라는 명령으로 복사를 하였는데, 여기서 ′~′ 문자가 의미하는 뜻은?

시스템 관리자가 다음과 같은 명령어를 실행했다. 이 명령어에 대한 설명으로 가장 적절한 것은?

Linux 명령어 ′mv [옵션] file1 file2′에서, file2가 이미 존재하는 경우 덮어쓸 것인지 여부를 사용자에게 묻는 옵션은?

Linux 서버에서 파일의 권한 모드가 ′-rwxr---w-′로 설정되어 있다. 이 설정을 실무적으로 검토할 때, 가장 중요한 보안 점검 항목은?

Linux에서 특정한 파일을 찾고자 할 때 사용하는 명령어는?

Linux에서 ′ls -al′ 명령에 의하여 출력되는 정보로 옳지 않은 것은?

Linux 시스템의 shadow 파일 내용에 대한 설명으로 올바른 것은?