Mandatory part
이 프로젝트는 엄격한 규칙들을 통해 가상머신(virtual machine)을 생성하고 구성하는 것을 다루고 있습니다. 피평가자는 동료평가 내내 당신을 도와줘야 합니다. 앞으로 나올 모든 평가 항목들이 직접 확인되어야한다는 점을 명심하세요.
1. 프로젝트 개요
피평가자는 먼저 이것들을 간단히 설명해야합니다 :
- 가상 머신은 어떻게 동작하는가.
- 어떤 운영시스템을 선택했는가
- centOS와 Debian의 간단한 차이점들 (이 둘의 비교)
- 가상머신의 목적 (가상머신을 쓰는 이유)
- 만약 피평가자가 CentOS를 선택했을 경우 : SeLinux와 DNF가 무엇인가
- 만약 피평가자가 Debian을 선택했을 경우 : aptitude와 apt 사이의 차이점 / APPArmer이란 무엇인가 / 디팬스 동안에 스크립트가 10분마다 정보를 출력해야한다 (이 동작은 나중에 평가 중에 더 자세히 체크하게 될 것입니다)
- 만일 피평가자의 설명이 명확하지 않다면, 여기서 평가를 중단하십시오.
2. 기본 설정
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
- 처음 실행할 때, 그래픽 환경이 아닌 지 확인 이 가상머신에 연결하고자 할 때, 비밀번호가 요구될 것입니다. 그리고 가상머신 연결 이후에는, 피평가자의 도움으로 사용자(user)에 연결해야 합니다. - 포트포워딩이 아니라 자기꺼로 들어가는것. 이때 이 사용자는 root가 아니여아합니다. 또, 이용하고 있는 비밀번호를 유심히 살펴보세요. 그 비밀번호는 이 과제에 주어진 규칙들을 따라야만합니다.
- UFW 서비스가 시작되었는지(실행되었는지) 평가자의 도움으로 확인하기
- SSH 서비스가 시작되었는지 (평가자의 도움으로) 확인하기
- 사용되는 OS가 Debian인지 CentOS인지 (평가자의 도움으로) 확인하기
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
3. 사용자
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
이 과제에서는, 피평가자가 로그인한 유저가 가상머신 속에 존재할 것을 요구합니다. 유저가 추가되었는지, 그리고 그것이 "sudo"와 "user42" 그룹에 속하는 지 살펴보세요. 이 과제에는 비밀번호 정책에 관해 제시된 규칙들이 있습니다. 이 규칙들이 제대로 설정되었는지 다음 절차를 따라 확인해보세요. 먼저, 새로운 유저를 생성합니다. 과제에 제시된 규칙에 맞춰 임의로 그 비밀번호를 만듭니다. 이제 피평가자는 어떻게 자신들이 과제에 제시된 규칙들을 설정했는지 설명해야합니다. 보통 1개 혹은 2개의 수정된 파일들이 있어야 합니다. 만일 어떤 문제라도 생긴다면, 여기서 평가를 중단하십시오.
- 이제 당신의 새로운 유저가 추가된 상태에서, 피평가자가 "evaluating"이라는 그룹을 생성하도록 합니다. 그리고 그 그룹을 이 유저에게 할당하도록 합니다. 최종적으로, 이 유저가 정말 "evaluating" 그룹에 속하게 되었는 지 확인해보세요.
- 피평가자가 이러한 비밀번호 정책의 장점을 설명하도록 하세요. 그리고 그것의 구현에서의 장점과 단점도 설명할 수 있어야합니다. 물론 그걸 대답해야하는 건 이 과제가 그걸 요구하기 떄문입니다. 그건 중요하지 않습니다.
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
4. 호스트명과 파티션들
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
- 이 가상머신의 호스트명이 다음의 주어진 형식을 만족하는 지 체크하세요 : login42 (피평가자의 로그인)
- 당신의 로그인으로 대체해서 원래의 호스트명을 수정하세요. 그리고 가상머신을 다시 시작하세요. 만일 다시 시작했을 때, 호스트명이 업데이트 되어있지 않다면, 여기서 평가를 중단하십시오.
- 이제 가상머신을 다시 원래의 호스트명으로 복원할 수 있습니다.
- 피평가자에게 어떻게 이 가상머신의 파티션들을 확인할 수 있는 지 물어보세요.
- 과제에 주어진 예시와 출력 결과물을 비교하십시오
유의하세요 : 피평가자가 보너스 파트를 했다면, 꼭 보너스 예시에 대한 것도 확인해야합니다. 이 파트는 점수를 의논하기 위한 기회입니다. 피평가자는 당신에게 어떻게 LVM이 동작하는지와 그게 대체 무엇인지에 대해 간단히 설명해야합니다
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
5. SUDO
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
- "sudo" 프로그램이 가상머신에 제대로 설치되어있는지 체크하세요.
- 이제 피평가자는 당신의 새로운 유저를 "sudo" 그룹에 할당하는 것을 보여줘야합니다.
- 이 과제는 sudo에 대한 엄격한 규칙들을 강요합니다. 피평가자는 여러 예시를 통해 sudo의 가치(사용하는 이유)와 동작을 보여줘야합니다. 그 다음 단계에서는, 과제에서 강조하는 규칙들에 대한 구현을 보여주어야합니다.
- "/var/log/sudo/" 폴더가 존재하는 지, 그리고 그것이 최소한 한 개의 파일을 갖는 지 확인하세요. 이 폴더 속 파일들의 내용을 확인할 때, sudo와 함께 사용된 명령어들의 기록을 볼 수 있어야합니다. 최종적으로, sudo를 통해 명령어를 실행해보세요. 그리고 "/var/log/sudo/" 폴더 속 파일(들)이 업데이트되었는 지 확인합니다.
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
6. UFW
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
- "UFW" 프로그램이 가상머신에 제대로 설치되어있는 지 체크하세요.
- 그것이 제대로 동작하는 지 체크하세요
- 피평가자는 기본적으로 UFW가 무엇인지, 그리고 그걸 사용했을 때의 가치(좋은 점)을 설명할 수 있어야만 합니다.
- UFW의 활성된 규칙들을 나열하세요. 4242 포트에 대한 규칙도 있어야만합니다.
- 8080 포트를 열기 위한 새로운 규칙을 추가하세요. 그리고 이것이 활성된 규칙의 목록에 추가되었는 지 체크하세요.
- 최종적으로, 피평가자가 그 새로운 규칙을 삭제하도록 하세요.
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
7. SSH
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
- SSH 서비스가 가상머신에 제대로 설치되어있는 지 체크하세요.
- 그것이 제대로 동작하는 지 체크하세요
- 피평가자는 SSH가 무엇인지, 그리고 그걸 사용했을 때의 가치(좋은 점)을 설명할 수 있어야만 합니다.
- SSH 서비스가 4242 포트만을 사용하는 지 확인하세요.
- 피평가자는 당신이 새롭게 생성된 유저에 로그인하기 위해 SSH를 사용하는 것을 도와야합니다. 그렇게 하기 위해서는, 당신은 key나 간단한 비밀번호를 사용할 수 있습니다. 그건 피평가자에 따라 달라질 수 있습니다. 물론, 과제에 제시되었듯이, "root" 유저로 SSH를 사용할 수 없음을 확실히 확인해야합니다.
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
8. Script monitoring
명심하세요 : 만일 당신이 무언가를 체크하는데 도움이 필요하다면, 피평가자는 당신을 도울 수 있어야합니다.
피평가자는 당신에게 다음의 내용들을 간단히 설명해야합니다 :
- 스크립트가 어떻게 동작하는 지 당신에게 코드를 보여주기
- "cron"이란 무엇인지
- 피평가자가 어떻게 스크립트를 설정했길래 그게 (서버가 시작된 이후로) 10분마다 한번씩 실행되는지
일단 스크립트가 올바른 동작을 한다는 게 검증되고 나서는, 피평가자는 그 스크립트가 매분마다 실행되도록 해야합니다. 그 스크립트가 동적인 값들과 함께 올바르게 작동한다는 것을 보장하기 위해서, 당신은 원하는 무엇이든 실행시킬 수 있습니다. 최종적으로, 피평가자는 그 스크립트가 스스로를 수정하지 않고도 서버가 시작되면 실행을 멈추게끔 만들어야합니다. 이 점을 확인하기 위해서는, 당신은 마지막으로 한번 서버를 재시작해야 할 것 입니다. 막 시작되었을 때, 그 스크립트가 아직 같은 장소에 존재하는 지, 권리(권한)가 바뀌지 않은 채로 남아있는지, 그리고 수정되지 않았는 지 반드시 확인해야합니다.
만일 무언가가 예상한대로 작동하지 않거나 혹은 명확하게 설명되지 못한다면, 여기서 평가를 중단하십시오.
보너스 : Mandatory 파트가 전체적으로 완벽하게 끝났을 경우에만 보너스파트를 평가합니다. 그리고 에러 관리는 예상되지않은 안좋은 쓰임을 관리합니다. 만일 디팬스 도중 mandatory 부분을 전부 통과하지 못했다면, 보너스 점수는 전부 무시될 것입니다.
'Others > 42Seoul' 카테고리의 다른 글
BLIND CLONE CODING 2일차 (0) | 2022.01.23 |
---|---|
BLIND CLONE CODING 1일차 (0) | 2022.01.22 |
born2beroot : ssh (0) | 2022.01.16 |
born2beroot : ufw (0) | 2022.01.16 |
born2beroot : sudo configuration - 2022 (0) | 2022.01.16 |