hio9_9
또바기잇
hio9_9

블로그 메뉴

  • 홈
  • Github
  • Tistory
  • All (57)
    • 코딩테스트 연습 (28)
    • CS (13)
      • 알고리즘 (4)
      • 자료구조 (2)
      • 운영체제 (7)
    • 42 (9)
    • iOS (2)
    • GIT (3)
    • TIL (2)
hELLO · Designed By 정상우.
hio9_9

또바기잇

42

[born2beroot] sudo 정책 설정

2023. 1. 16. 02:05

요구 사항

  • 암호 입력 최대 횟수 설정, 기본값 = 3
  • 잘못된 암호 입력 시 나오는 메시지 설정
  • 권한 획득 실패 시 나오는 메세지 설정
  • sudo를 사용하는 모든 동작(input output 모두)의 로그가 기록되어야 하며,  로그가 기록되는 위치를 사용자 정의 디렉토리로 지정
    ( 기본 I/O 로그 디렉토리는/var/log/sudo-io )
  • 보안 상의 이유로 tty 모드 활성화
  • 보안 경로 설정

 

How to configure

su -                 # root 계정으로 로그인
apt update           # 패키지 목록 업데이트
apt install sudo     # sudo 설치
visudo               # /etc/sudoers 설정
# set up strong configuration for your sudo group
# /etc/sudoers
Defaults    secure_path="설정하고자 하는 경로"            # 보안경로 설정
Defaults    authfail_message="Authentcation failed"  # 권한 획득 실패 시 나오는 메세지 설정
Defaults    badpass_message="Wrong password"         # 비밀번호 틀렸을 시 나오는 메세지 설정
Defaults    passwd_tries=3                           # 비밀번호 입력 횟수 제한
Defaults    log_input                                # input 로그 기록
Defaults    log_output                               # output 로그 기록
Defaults    iolog_dir="/var/log/sudo/"               # 로그 기록 저장 위치 설정
Defaults    requiretty                               # tty 모드 활성화

 

(+) visudo를 이용해 편집하는 이유

  • visudo: /etc/sudoers 파일을 관리를 하기 위한 application
  • /etc/sudoers 의 기본 파일은 쓰기 권한이 없음 → visudo를 이용해 편집
    ( vi 로 편집을 하려면 퍼미션을 변경해 주거나 저장할 때 강제 옵션(!)을 사용 )
  • 저장 시에 설정의 정합성 및 syntax 체크 → 직접 /etc/sudoers 파일을 편집하다가 실수를 해서, sudo 사용 에러를 방지

 

(+) tty mode 란?

  • tty: 리눅스의 터미널, 콘솔
  • sudo 명령을 실행 시 가상의 쉘을 생성하고 그 안에서 명령을 실행하는데 이때 tty가 그 가상의 쉘.
    만약 tty mode가 아닐 경우 sudo 명령어를 사용하기 위해서 따로 "tty"로 터미널을 할당해줘야 함
  • tty 모드가 보안에 도움이 되는 이유: 사람이 어떠한 목적을 가지고 sudo를 사용한 경우에만 동작을 실시하기 위함
                                                           cron 같이 기계적으로 작동되는 명령이 sudo를 사용할 경우에 대해 막아주기 위함

https://www.cyberciti.biz/security/linux-security-alert-bug-in-sudos-get_process_ttyname-cve-2017-1000367/

 

 

 

(+) 보안 경로를 사용하는 이유

  • Secure Path는 sudo 명령을 실행할 때 사용하는 가상 쉘의 PATH 정보를 설정한다.
    이를 풀어서 설명하자면 sudo 명령 실행 시 현재 계정의 쉘이 아닌 새로운 쉘을 생성하고 그 안에서 명령을 실행하는데, 이 명령을 찾을 경로를 나열한 환경 변수 PATH 값이 secure_path이다.
    sudo 명령을 실행하는 명령은 현재 계정의 쉘 환경도, 대신 실행하는 계정의 쉘 환경도 아닌 특별히 정의된 제 3의 쉘 환경으로 이는 샌드박스 형태로 실행된다.
  • secure path 기능이 트로이목마 해킹 공격에 대한 1차적인 방어 기능을 한다.
    사용자의 부주의로 인해 현재 계정의 PATH에 악의적 경로가 포함된 경우, sudo를 통해 전체 시스템이 해킹될 수 있는데 이를 방지 할 수 있다.

https://www.tuwlab.com/ece/24044

 

[Linux] Sudo 명령의 Secure Path - ECE - TUWLAB

sudo 명령은 해당 명령을 잠시 다른 계정(주로 root)의 권한으로 실행하고자 할 때, 계정 전환 등의 절차 없이 유용하게 사용할 수 있는 명령입니다. 다른 계정의 권한을 빌릴 수 있다는 말은 그 계

www.tuwlab.com

 

저작자표시 비영리 변경금지 (새창열림)

'42' 카테고리의 다른 글

[born2beroot] LVM  (0) 2023.01.16
[born2beroot] 비밀번호 정책 설정  (0) 2023.01.16
[born2beroot] APPArmor  (0) 2023.01.16
[born2beroot] 패키지 관리 apt, aptitude  (0) 2023.01.16
[born2beroot] 가상머신 운영체제 - Debian, Rocky  (0) 2023.01.16

    티스토리툴바