본문 바로가기
Others/42Seoul

born2beroot : user

by tonyhan18 2022. 1. 16.
728x90

사용자 기억하십시오: 확인하는 데 도움이 필요할 때마다 평가 대상 학생이 귀하를 도울 수 있어야 합니다. 대상은 평가되는 학생의 로그인을 가진 사용자가 가상 머신에 존재하도록 요청합니다. 추가되었고 "sudo" 및 "user42" 그룹에 속하는지 확인하십시오. 다음 단계에 따라 비밀번호 정책과 관련하여 주제에 부과된 규칙이 적용되었는지 확인하십시오. 먼저 새 사용자를 만듭니다. 주제 규칙을 존중하여 선택한 암호를 할당하십시오. 평가 중인 학생은 이제 가상 머신에서 주제에서 요청한 규칙을 설정할 수 있었던 방법을 설명해야 합니다. 일반적으로 하나 또는 두 개의 수정된 파일이 있어야 합니다. 문제가 있으면 여기에서 평가가 중지됩니다.

  • 이제 새 사용자가 생겼으므로 평가 중인 학생에게 "evaluating"이라는 그룹을 만들고 이 사용자에게 할당하도록 요청하십시오. 마지막으로 이 사용자가 "evaluating" 그룹에 속하는지 확인합니다.
  • 마지막으로 평가 대상 학생에게 이 암호 정책의 장점과 구현의 장점과 단점을 설명하도록 요청합니다. 물론 피험자가 요구하기 때문이라고 답하는 것은 포함하지 않는다. 무언가가 예상대로 작동하지 않거나 명확하게 설명되지 않으면 평가가 여기서 중지됩니다.

피평가자가 가상머신에 존재하는지 확인

평가표 : 이 과제에서는 피평가자로 로그인한 유저가 가상머신 속에 존재할 것을 요구합니다.

lslogins # 전체 사용자 보고 피평가자 존재하는지 확인(chahan)

<실행 결과>

chahan이 있는 것을 확인할 수 있다.

  • lslogins→ 피평가자 존재하는지 확인
  • → 시스템 전체 사용자의 정보를 출력

참고

users ⇒ 현재 호스트에 로그인되어 있는 모든 사용자 출력

who ⇒ 현재 로그인되어 있는 모든 사용자의 정보 출력

 

sudo 및 user42그룹에 속하는지 확인

평가표 : 유저가 추가되었는지, 그리고 그 유저가 sudo와 user42 그룹에 속하는지 살펴보세요.

<그룹 추가 및 유저를 그룹에 속하게 하는 법> (실행 x)

sudo groupadd user42 # user42그룹 만들기 (user42 그룹이 존재하지 않을 때)
cat /etc/group | grep user42# 현재 존재하는 그룹의 목록 확인
sudo usermod -G sudo, user42 chahan #chahan을 sudo와 user42 그룹에 속하게 함

usermod -G옵션과 -aG옵션의 차이 : 추가되는 것의 차이. 뒤에서 sudo에서는 a옵션까지 붙일 것이다.

<소속 그룹 확인 방법>

id chahan # chahan의 UID, PID, 그룹 등을 확인

위와 같이 user42와 sudo에 chahan이 속하는 것 확인 가능

 

새로운 사용자(평가자) 만들기 (다음 평가지에서 그룹을 할당할 것이고, 포트포워딩 할 것)

평가표 : 새로운 유저를 생성하여 과제에 제시된 규칙에 맞춰 임의로 그 비밀번호를 만든다.

  • su - ⇒ root로 이동
  • useradd [평가자명] ⇒ 유저 추가 ⇒ 이거 사용하지 말기!!
  • adduser [평가자명] ⇒ 유저추가(home 디렉토리 등 자동생성됨)→ 단, adduser가 home 디렉토리가 자동생성되어 좀 더 편하다.
  • → 포트포워딩했을 때 adduser로 만든 사용자는 윈도우cmd에서 초록색으로 변하여서 연결된걸 한눈에 파악 가능하다. 하지만 useradd는 초록색으로 변하진 않는다.(ssh 파일 참고)
  • → 명령어 둘 중 하나 아무거나 사용해도 상관없음.

제시된 규칙에 맞게 비밀번호 생성하기.

 

4.  규칙에 따라서 비밀번호 할당하기 - 이때 규칙 설정 방법 설명(수정된 비밀번호 정책 보여주면서 설명하기)

평가표 : 평가자는 어떻게 과제에 제시된 규칙들을 설정했는지 설명해야 한다. 보통 1개 혹은 2개의 수정된 파일이 있어야 한다. (/etc/login.defs 변경하기)

  • passwd [평가자명] ⇒ 비밀번호 추가. 그러나 이는 useradd로 유저 생성 시 비밀번호 생성하는 것. 앞서 adduser로 유저 생성했다면 그 때 비밀번호도 같이 치게 되어있음. 따라서 adduser일 때는 할 필요 x
  • 패스워드 정책
    • sudo vi /etc/login.defs
      • PASS_MAX_DAYS : 비밀번호 만료기간
      • PASS_WARN_AGE : 비밀번호 만료 경고까지 기
    • 설정 후
      •  
    • PASS_MIN_DAYS : 비밀번호 변경까지의 최소기간
    • → 아래와 같이 변경해준다
    • sudo apt install libpam-pwquality ⇒ 패키지 설치 (이 가상머신은 이미 설치되어 있음)
    • sudo vi /etc/pam.d/common-password ⇒ 여기서 비밀번호 정책 수정retry=3         : 암호 입력 3회까지 minlen=10    : 암호 최소 길이 10 difok=7         : 기존 암호와 달라야 하는 문자 수 7  ucredit=-1    : 대문자 1개 이상 dcredit=-1    : 숫자 1개 이상 maxrepeat=3 : 3개 이상 반복문자 안됨. reject_username  : username이 그대로 또는 뒤집혀서 패스워드에 들어있는지 검사, 들어있으면 거부 enforce_for_root   : root 계정도 위의 조건들 적용
    • → 여기에 아래 내용을 입력한다

 

 

5. evaluating 이라는 그룹을 만들고 평가자를 이 그룹에 넣는다. 그 뒤 확인

평가표 : 이제 당신의 새로운 유저가 추가된 상태에서, 피평가자가 evaluating이라는 그룹을 생성하도록 합니다. 그리곡 그 그룹을 이 유저에게 할당하도록 합니다. 최종적으로, 이 유저가 정말 evaluating 그룹에 속하게 되었는지 확인하세요.

비밀번호는 만들기 어려워서 B01383138hsh@ 로 만들것이다.

su -
adduser [평가자명]# 한 상태에서 비번 생성.

cat /etc/group # 기존에 해당 그룹 없는 것을 확인
groupadd evaluating # evaluating 그룹 추가
cat /etc/group # evaluating 추가된 것 확인
usermod -G evaluating [평가자명] # -G옵션 : 명령어에 명시한 그룹에만 사용자 포함시킴
id [평가자명] # 평가자 그룹 확인
#<평가 끝난 후>
userdel [평가자명] # user지우기
groupdel [그룹명] # evaluating 그룹 지우기

<실행 결과>

example42라는 유저를 생성하였고, evaluating그룹 생성 후 이 유저에 할당.

 

평가자가 evaluating이라는 그룹에 속하는지 확인

  • id [평가자명] ⇒ 그룹이 나옴. evaluating 있는지 확인하면 됨

✔ 다음 평가를 위해 추가한 사용자를 제거해준다. ⇒ 평가가 끝난 후에!!

→ 이때 root 계정에서 제거 가능!!

  • sudo deluser [사용자명] [그룹명] : 그룹에서 사용자 제거
  • sudo deluser -r [사용자명] : 사용자 제거
  • sudo groupdel [그룹명] : 그룹을 제거
  • → 이때 그룹에 사용자가 없어야지 제거 가능하다

 

 

7. 암호 정책의 장점과 단점을 설명

평가표 : 피평가자가 이러한 비밀번호 정책의 장점을 설명하도록 하세요. 그리고 그것의 구현에서의 장점과 단점도 설명할 수 있어야 합니다.

  • 패스워드 복잡성 설정이 되어있지 않은 사용자 계정 패스워드 존재 시 무작위 대입 공격, 사전 대입 공격 등을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 수 있는 위험이 존재한다
  • 따라서 암호정책을 만들어서 사용자가 암호를 복잡하게 만들 수 있도록 한다

 

  • 암호 정책의 장점더 많은 요구 사항을 적용할수록 가능한 문자, 숫자 및 문자 조합의 수가 높아진다.→ 크랙하는 데 시간이 너무 오래 걸리면 일부 공격자는 이를 포기하고 더 쉬운 대상을 노리려고 한다.→ 암호를 만들 때 목표는 해독할 수 없는 암호를 만드는 것이 아니다.(그런 것이 존재하지 않음)→ 목표는 공격자가 암호에 시간을 낭비하지 않도록 해독하기 어려운 암호를 만드는 것이다.
  • → 충분한 시간과 컴퓨팅 능력이 있으면 모든 암호를 해독할 수 있다.
  • → 이것이 암호 크래킹의 핵심
  • → 이것은 암호를 해독하기 위해 컴퓨터가 해야 하는 작업의 양을 증가시켜 암호를 해독하는 데 걸리는 시간을 증가시킨다.
  • → 해독하기 어려운 고유한 암호를 사용하도록 강제한다는 것이다.

 

  • 암호 정책의 단점→ 요구 사항이 복잡해짐에 따라 사용자의 암호 위생이 악화된다는 사실이 있다.→ 사용자에게 숫자와 특수 문자를 추가하도록 요청하면 기존의 기억하기 쉬운 암호를 변경하고 1개 또는 2개의 추가 문자로 유사한 암호 생성할 가능성이 높다.aSDfgjkl 이런식으로 일부만 바꿀 가능성 높음→ 보통 기본 단어 앞이나 뒤에 숫자와 문자를 추가하는 식으로 암호를 정한다.asdfghjkl3 이런식으로 바꾸는 패턴을 많이 사용함.
  • 이는 그러게 복잡성이 많이 증가하진 않는다.
728x90

'Others > 42Seoul' 카테고리의 다른 글

born2beroot : partitions  (0) 2022.01.16
born2beroot : hostname  (0) 2022.01.16
born2beroot : General Instructions  (0) 2022.01.16
born2beroot : password policy configuration - 2022  (0) 2022.01.15
born2beroot bonus : install progession, - 2022  (0) 2022.01.15