ICT 정보통신기술

221024 정보보안(관리자 비밀번호 변경, 재설정 방법) / (명령 기록 확인, vi(vim)편집기 본문

ICT 정보보안/정보보안 수업

221024 정보보안(관리자 비밀번호 변경, 재설정 방법) / (명령 기록 확인, vi(vim)편집기

ict 이재형 2022. 10. 26. 00:13

init 0 / 6 --> 시스템 강제종료 / 시스템 재부팅
Ipconfig --> 게이트 웨이 그대로
1970 UNIX (서버를 관리하는 운영체재) 운영체재 --> 교육용 MINIX
1981 Win
1991 Linux (=UNIX + 리누스 토발즈 / 리눅스 마스코트 펭귄 : TUX) : 오픈소스 (누구나 자유롭게 사용가능)
조건 : 오픈소스로 개발시 개발한 프로그램도 오픈소스로 제공해야함

* 멀티 부팅
: 컴퓨터 에서 2개 이상의 여러 운영 체제를 설치하는 행위
-기본조건 : 윈도우 선 설치 후 리눅스 설치
* 부트 로더
: 여러 개의 운영 체제로 시동할 수 있게 만드는 프로그램

@현재 전 세계 화두는 오픈소스(GNU 선언문)와 가상화@
* GNU(GNU is not UNIX)란?
: 자유 소프트웨어 재단에서 만든 오픈 소스 소프트웨어에 대한 라이선스 계약서 -- 리차드 스톨먼에 의해 제창
: GNU 선언문이 명시되는 한, 어떠한 정보 매체에 의한 본문의 전재나 발췌 허용



* PW 변경할 수 있는 사람
1.관리자 (root)
2.유저 : 자신의 PW만 변경 가능
관리자 PW 복구하기 ---> 메모참조

Export LANG=en_us --> 글자 깨질시 영문
Export LANG=en_kor --> 글자 깨질시 한글

* 매크로 지정 명령어
-alias 지정할명령어=’ telnet 192.168.20.120’
==> alias 120 ='telnet 192.168.20.120'
alias 120 입력시 telnet 실행됨
* 텍스트 편집기 실행하기
-gedit /디렉터리이름/문서이름 : 메모장 생성 열기
원격 상태에선 gedit 으로 파일 못열어봄 --> 이때 vi(vim) 명령어로 파일 확인가능


첫번째 검점 화면 부트로더 동작

Win -> BOOT.MGR / NRLDR (XP이전)
Linux -> GRUB / LILO (XP이전)

부트로더에 암호걸기

* 부팅 10단계 (221020 remind)

-운영체제 상관 X
1. 메인보드 + cpu + 파워 서플라이
2. 그래픽카드
3. RAM
4. BIOS -> 하드웨어를 점검 -> POST (Power ON Self Test) :전원 켜지면 입.출력 장치를 자동으로 점검 > Post List 작성 (컴퓨터 부팅시 1초정도만 살아있음)
--------------------------------------------------------------------------------------------------------------------------------------------------------------
-운영체제 상관 O
5. MBR(Master Boot Record(Boot Sector)) : 하드에 첫번째 방에 MBR 저장되어 있음, 하드디스크 어디에 OS 가 설치되어 있는지 정보를 저장
하드에 마지막 방에 저장된 방엔 DATA 가 저장되어 있는데 이 데이터는 덮어쓰기 방식으로 저장됨
- 어떤 운영체제를 어디에 저장할지
6. BOOT LOADER -> OS 시동
7. BOOT.INI -> OS 메뉴판 (단 OS가 1개 뿐이면 보여주지 않음)
8. NTOSKRN -> OS 로고 보여짐
9. 로그인
(9.5 단계 : Post list에서 작성한 하드웨어를 사용자 환경에 맞추어 세팅한다.)
10. 바탕화면


<리눅스 서버 관리자 패스워드 복구하기 방법>

part 1~3 파일 참조

1. GRUB_PASS 와 ROOT_PASS 의 PW를 다르게 설정해놓고 주기적으로 비밀번호 관리함(2중 보안)
GRUB_PASS 설정법 // ※ 보안 취약점 : 이 암호 설정로그 해커가 접근가능

[root@c7-11 ~]# cd /etc/grub.d --> grub.d 파일로 이동
[root@c7-11 grub.d]# ls --> 파일 리스트 출력
00_header 01_users 20_linux_xen 30_os-prober 41_custom
00_tuned 10_linux 20_ppc_terminfo 40_custom README
[root@c7-11 grub.d]#
[root@c7-11 grub.d]# gedit 00_header --> 00_header 파일 열림

* grub_pass 설정
cat << EOF
set superusers="name"
password csb 123456 -----> grub_pass 설정
EOF

[root@c7-11 grub.d]#
[root@c7-11 grub.d]# grub2-mkconfig -o /boot/grub2/grub.cfg ---> 컴파일 (새로운 값 지정지 매번 해주어야함)
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0512be68f5de48d7b61b253733b527e9
Found initrd image: /boot/initramfs-0-rescue-0512be68f5de48d7b61b253733b527e9.img
done

==============================================================

<Tip>

alias 매크로 지정할 문자='telnet 192.168.20.120'
매크로 지정할 문자 ==> telnet 명령 실행
--> alias 명령어는 재접속시 없어짐

https://www.security.org/how-secure-is-my-password/
--> 패스워드가 얼마나 안전한지 체크해주는 사이트


* 명령 기록 확인 --> history 입력 1부터 내가 입력한 명령어 차례대로 출력
원하는 명령어 실행하려면 --> !원하는 명령어 숫자

*작성 명령어 좌우 끝 이동 Ctrl + A / E

*yum install -y vim --> vim install yes * GUI : 마우스 지원 O --> init 5
* CLI : 도스창 (검정 화면) -> 마우스 지원 X --> inti 3 (실제 서버 부팅모드 --> 바이러스 위협 방지) @ 리눅스 편집기 @ : vi (vim), emacs, pico, nano <--> gedit (그래픽 차이) * vi (vim) 편집기
1) 명령모드 : vi 에 처음 진입했을때 의 모드 ( 특징 : 수정 X // 단축키 : esc )
number + G
1G
shift + G
shift + G --> 이동
숫자 입력후 shift + G --> 입력한 숫자 해당 줄로 이동

2) 수정(입력)모드 : 파일을 수정할 수 있는 모드 ( 단축키 : i, l, a, A, o, O 중 하나 택)
3) 콜론(종료)모드 : 검색, 저장 및 종료할 수 있는 모드 ( 단축키 : : )
-콜론 모드는 명령모드 에서만 진입 가능
-종료는 콜론모드 에서만 종료 가능
:set number
:/superusers
:q --> 종료 / :q! : 강제 종료 --> 뭔가 이상할 경우 저장 말고 나오기
:w --> 저장
:wq --> 저장 후 / :wq!

*작업 전 백업
cp 00_header 00_header.bak --> 00_header 파일을 00_header.bak 으로 백업해놓기
이후 문제 발생시 00_header.bak 파일로 이름만 바꿔 사용 파일 지우는 명령어 --> rm -f 파일이름 —> rm -f 00_header.bak
폴더 및 파일 모두삭제 --> rm -rf 파일이름

리다이렉션 사용법
> : 새로 덮어쓰기
>> : 붙어쓰기 D:\>ipconfig > ip.txt

D:\>ping 8.8.8.8 >> ip.txt
/etc/.passwd.swp
D:\>ping 8.8.8.8 > ip.txt

D:\>ipconfig >> ip.txt

※패스워드 지정할 시 이미 지정되어 있던 패스워드는 삭제해야 함※

============================================

grub2-mkpasswd-pbkdf2 >> /etc/grub.d/40_custom
패스워드 지정 2번 입력

Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.5822495575D956488BD0570B7699ED8CC3320A29D67A9AD27D518636FA397A513D88744316B4E45DD3319D75E956BC43274FC95367D33011FADB7816F62D24B9.E89AEBDF997944BC2DBDD74D445FF36DCC69CF1623E46B293907B0060FD7E5E7A23E6C9BFDBA6EFF3C25620F533567B2B44674807412695D038A323F76D172D1

gedit /etc/grub.d/40_custom --> 터미널 열어 확인
grub2-mkconfig -o /boot/grub2/grub.cfg --> 컴파일링
재부팅 후 e 키 눌러 로그인 확인

============================================

gedit /etc/grub.d/40_custom --> 40custom grub.~ 부터 이전 지운뒤 명령어 입력

password pbkdf2 banana
set superusers="banana"
password pbkdf2 bananagrub.pbkdf2.sha512.10000.3A664C863A858511D6DC9064676B9979D9E6E054DE61432DB638883D26775DC83C8111411ABB1E9A86D52F78B8BA4E4B941BC6394F58D85260FC5DE2B3FA4786.6959BA8B731A29ADCCFA930648F72369E6974C29BA75BA6DF42EC4E7B603B2FFA5202A16FFD82AA97C32035670A0B1E14B0876B545F7AAAA147402580ED5E7B6

grub2-mkconfig -o /boot/grub2/grub.cfg --> 컴파일링
재부팅 후 e 키 눌러 로그인 확인

============================================

grub2-setpassword --> 패스워드 지정 --> 패스워드 지정할 시 이미 지정되어 있던 패스워드는 삭제해야 함
grub2-mkconfig -o /boot/grub2/grub.cfg --> 컴파일링(상관 X)
재부팅 후 e 키 눌러 로그인 확인 ============================================


cat /etc/passwd --> 관리자 및 생성된 유저 정보 출력
문서에서 Ctrl + F 기능 --> grep 찾을 내용 /경로

grep user /etc/passwd --> 생성되어 있는 계정 목록 출력

tail -f /var/log/secuer | grep user5 --> user5 의 정보만 출력해줌

gedit /etc/login.defs --> etc 파일 밑에 login.defs 파일 열기
gedit /etc/default/useradd --> etc 파일 밑 default 밑에 useradd 파일 열기

[root@c7-11 ~]# grep guest1 /etc/passwd
[root@c7-11 ~]#
[root@c7-11 ~]# useradd guest1
[root@c7-11 ~]#
[root@c7-11 ~]# grep guest1 /etc/passwd
guest1:x:1007:1007::/home/guest1:/bin/bash
[root@c7-11 ~]#

[root@c7-11 ~]# ls /home
guest1 user1 user10 user11 user2 user3 user4 user5

리눅스는 필드와 필드를 : 으로 구분

[root@c7-11 ~]# grep guest1 /etc/shadow
guest1:!!:19289:0:99999:7::: --> 비밀번호 설정 안했을시 2번째 필드가 !! (부정문) 으로 나옴
[root@c7-11 ~]# grep user11 /etc/shadow
user11:$6$WemwgDcQN4BC4aXL$AZP/7uDwgbfkMBQfCVDIMbWh8Lcu0Dabxkl278IdG8YXpt4b3s9UaTTjio3bTx7yRA/tz1LTFJIRkQ0wmH9ik0::0:99999:7::
--> 비밀번호 설정 했을시

로그아웃 단축키 : Ctrl + D

패스워드가 설정된 상태에서 패스워드를 지울 시 로그인 가능

[root@c7-11 ~]# gedit /etc/shadow

user10:$6$UY3yq7jF$QjUf8IaEcXGbPeHtXzZIJgI0PNguVaY0xfeSB1BC1Y2JJBbK6Q8UvdzYYv7cyDSNIbCvQkLS5XFxp0FlNUVRz:19285:0:99999:7:::
아래 처럼 지워줌
user10::19285:0:99999:7:::

passwd -l user10 --> user10 의 패스워드를 잠굼
passwd -u user10 --> user10 의 패스워드 언락

gedit /etc/shadow --> 비밀번호와 관련있는 파일
ㄴ 로그인 되어 있는 계정 비밀번호 암호화 상태로 확인 가능

vi 편집기 읽어보기