'루트권한'에 해당되는 글 2건

  1. 2016.12.12 리눅스 커널 로컬 권한 상승 취약점
  2. 2009.08.20 사용자 보안 - 루트권한 제한(sudo)
2016.12.12 20:20

리눅스 커널 로컬 권한 상승 취약점

□ 개요
 o 리눅스 커널의 af_packet에서 Race condition을 악용해 권한이 없는 로컬 사용자가 루트 권한을 얻도록 허용하는 취약점(CVE-2016-8655)발견[1]
 o 해당 취약점에 영향을 받는 버전 사용자는 인가되지 않은 사용자가 루트 권한을 획득할 수 있으므로 해결방안에 따라 최신버전으로 업데이트 권고

□ 해당 시스템
 o 영향을 받는 소프트웨어
  - Linux Kernel 4.8.12 이전 버전을 사용하는 시스템

□ 해결 방안
 o 해당 취약점에 해당되는 커널 버전 사용자는 최신 버전으로 업데이트 수행 [2]
 o 보안 업데이트가 공개된 운영체제를 운영하고 있을 경우, 참고 사이트의 내용을 참조하여 보안 업데이트 수행
  - Debian [3]
  - Ubuntu [4]
  - Red Hat [5]
  - SUSE/openSUSE [6]
  - Fedora [7]
  - CoreOS [8]
 
□ 용어 정리
 o 레이스 컨디션(Race Condition) : 프로세스들이 여러 번 실행되는 과정에서 실행 순서가 뒤바뀌어 공격자가 원하는 결과를 얻어내는 공격 기법

□ 기타 문의사항
 o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118

[참고사이트]
[1] https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-8655
[2] https://www.kernel.org/
[3] https://security-tracker.debian.org/tracker/CVE-2016-8655
[4] https://www.ubuntu.com/usn/usn-3152-2/
[5] https://access.redhat.com/security/cve/CVE-2016-8655
[6] https://www.suse.com/security/cve/CVE-2016-8655.html
[7] https://bugzilla.redhat.com/show_bug.cgi?id=1401820
[8] https://coreos.com/releases/


Trackback 0 Comment 0
2009.08.20 18:17

사용자 보안 - 루트권한 제한(sudo)

루트 권한 제한 (sudo)
- 인증받은 사용자가 특정 명령을 root 권한으로 실행하는 명령어 이다.

/etc/sudoers
- sudo 명령을 내릴 수 잇는 사용자와 명령을 정희한 파일로 편집하려면 visudo 명령을 사용해야 한다.

visudo
- /etc/sudoers 파일을 수정하는 명렁어 이다.



1. sudoers 파일 수정

 
[root@server3 ~]# vi /etc/sudoers - vi 편집기로는 /etc/sudoers 파일을 수정할 수 없다. read-only 파일이기 때문이다.
[root@server3 ~]# visudo
test1 ALL=/usr/sbin/useradd, /usr/bin/passwd - 추가해준다.

참고
- %를 이용하면 그룹지정을 할 수 있다.
ex) %users ALL=   - users라는 그룹에 대해서 권한을 지정할 수 있다.




2. 테스트

 
[root@server3 ~]# useradd test1
[root@server3 ~]# passwd test1
Changing password for user test1.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@server3 ~]# su - test1
[test1@server3 ~]$ whoami
test1
[test1@server3 ~]$ useradd
-bash: useradd: command not found
[test1@server3 ~]$ /usr/sbin/useradd test6
-bash: /usr/sbin/useradd: 허가 거부됨
[test1@server3 ~]$ sudo /usr/sbin/useradd test5

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:       - root 계정의 패스워드를 입력해준다.
[test1@server3 ~]$

-------------------------------------------------------------------

- 다른 쉘에서 확인
[root@server3 ~]# tail /etc/passwd
kim:x:670:15::/home2/kim:/bin/bash
lee:x:690:500::/home2/lee:/bin/csh
park:x:700:15::/home2/park:/bin/bash
test2:x:701:701::/home/test2:/bin/bash
test3:x:702:702::/home/test3:/bin/bash
test4:x:703:703::/home/test4:/bin/bash
test1:x:704:704::/home/test1:/bin/bash
test5:x:705:705::/home/test5:/bin/bash - test5가 생성된 것을 확인할 수 있다.
[root@server3 ~]#

-------------------------------------------------------------------

[test1@server3 ~]$ sudo /usr/bin/passwd test5 - 한번 패스워드를 입력하면 쉘이 있는 동안에는 계속 적용된다.
Changing password for user test5.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[test1@server3 ~]$




3. su 명령제한
- su 명령은 특정 사용자 외에 일반 사용자는 사용하지 않도록 하는 것이 좋다.

 
[root@server3 ~]# whereis su
su: /bin/su /usr/share/man/man1/su.1.gz
[root@server3 ~]# ls -l /bin/su - su의 퍼미션 확인
-rwsr-x--- 1 root su 24120  5월 25  2008 /bin/su

[root@server3 ~]# chown root.test1 /bin/su
[root@server3 ~]# ls -l /bin/su
-rwxr-x--- 1 root test1 24120  5월 25  2008 /bin/su

[root@server3 ~]# chmod 4750 /bin/su - SUID 를 지정
[root@server3 ~]# ls -l /bin/su
-rwsr-x--- 1 root test1 24120  5월 25  2008 /bin/su

[root@server3 ~]# su - test2 - root계정이기 때문에 su 명령어을 사용할 수 있다.
[test2@server3 ~]$ su - test4 - test2 사용자가 su 명령어를 사용하려하면 거부된다.
-bash: /bin/su: 허가 거부됨
[test2@server3 ~]$ su - test5
-bash: /bin/su: 허가 거부됨



출처 : http://bban2.tistory.com/

Trackback 0 Comment 0