반응형

서버를 관리하며 보안의 중요성을 조금.. 느끼죠

이따금 필요하지만 불편하기도 한 것이 보안이라고 생각합니다. 

 

오늘은 일반 계정에 su 명령 제한을 두는 방법과, 사용하는 방법에 대해 끄적여봅니다. 

su 명령은 기본적으로 특정 사용자에게만 권한을 주는 것이 보안상 옳습니다.

 

저도 서버를 관리하며 특정 사용자에게만 권한을 주고 있는데요, 

패스워드 임계치 설정까지 해놔서.. 많이 틀리는 날에는.... 마음이 좀 그래요 .. -.- 

 

아무튼 보안 조치는 한 번 해봐야 하니, 진행해보죠 

 

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

1. 취약점 : 무작위 대입 공격이나 패스워드 추측 공격을 방지하기 위해 특정 사용자에게만 su 접근 권한을 제공할 필요가 있다

2. 조치방법 : 

   a. group에 특정 사용자 지정

         # vi /etc/group

            wheel:x:10:seoyoung

    b. 취약점에 대한 조치 

         # chmod 4750 /usr/bin/su

         # ls -altr /usr/bin/su

           -rwsr-x---root root /usr/bin/su

    c. su 명령어 사용그룹(허용된 그룹) 설정 여부 확인

         #cat /etc/pam.d/su

               auth required /lib/security/pam_wheel.so debug group=wheel 

               

3. 결과 (조치 후 영향)
   : 허용된 그룹에서만 su 명령어를 사용할 수 있다

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

 

결론만 말씀드리면, 

 

CentOS 조치 방향을 ubuntu 서버에 해당 내용을 조치하여 모든 계정에서 root 권한을 가질 수 없게 되는 상황이 발생해버렸어요... :( 

 

$ su -

Password:

su: authentication failure

 

root로 접속 중인 세션이 있었어서.. 참 다행이었죠 

일반 상황이었다면, root passwd를 설정해준다면 재접속이 가능하실 겁니다 

 

명령어는, 

# passwd root

new password: 설정 할 패스워드

Retype new password: 한 번 더 입력

 

다시 본론으로 돌아가, 아래 내용을 확인해봅니다 

    1. /etc/group 내 wheel 그룹에 일반 계정이 포함되어 있다

         wheel:x:10:seoyoung

    2. /etc/pam.d/su 폴더 내 아래 내용이 기입되어 있다

         auth required /lib/security/pam_wheel.so debug group=wheel 

 

위 두가지 내용이 적용 된 후 , su 파일 권한을 확인해보니  chmod 4750이 그대로 적용되있음을 확인했고, 여전히 접근이 안되죠...

 # ls -altr /usr/bin/su

    -rwsr-x---root root /usr/bin/su

 

이 상태라면 wheel 그룹에 포함되지 않은 일반 사용자가 /usr/bin/su 를 이용할 수 없는 것이 정상인 상태입니다만...ubuntu는 아니랍니다... 

 

 

 

여기서 잠시, chmod 는 파일의 접근 권한을 설정하게 되는 명령어인데요. 

기호 또는 숫자로 권한을 설정하곤 하죠, 

https://habiis.tistory.com/11?category=701517

 

[LINUX] 권한 관리 명령어 정리

리눅스에는 다양한 사람들이 접근할 수 있기때문에 모두가 수정 및 삭제가능 그렇기 때문에 계정, 그룹, 파일에 권한을 쓸 수 있도록 설정할 수 있음 읽기(Read), 쓰기(Write), 실행(eXecute) 권한을 줄 수 있고,..

habiis.tistory.com

그런데 여기서는 chmod 4750 4자리의 숫자로 권한을 입력합니다. 

4자리로 권한을 제공하는 SUID, SGID, Sticky bit 설정에 대해서는 추후 끄적여볼게요

 

자꾸 다른길로 .. 

 

 

이제 특정 사용자도 su 접근을 허용해줘봅시다 T.T  

#chmod 4755 /usr/bin/su

#chown root.wheel /usr/bin/su

# ls -altr /usr/bin/su

    -rwsr-xr-x root wheel /usr/bin/su

 

이젠 root와 wheel 그룹에 속한 일반 계정이 su 권한을 사용할 수 있어요

제 wheel 그룹엔 seoyoung 계정이 들어있으므로 해당 계정으로만 접근 할 수 있습니다 :) 

 

* chmod 4755를 사용하는 이유

  : su 의 password 입력 시, 잠시 root 권한을 가지고 shadow 패스워드와 비교를 하게 되는데, 755일 경우 shadow 파일을 읽어내지 못함

    기본적으로 shadow 파일은 아무 권한도 가지지 않기 때문에 su를 755 설정할 경우, shadow도 755설정을 하여 계정이 읽을 수 있도록

    허용이 필요하나, 보안의 문제가 있어 chmod 4755를 권고함

 

 

 

 

su 접근 못한다고 속상해하지맙시다 

언제나 문제는 해결되기 마련 :) 

 

 

 

.... 

 

 

해제하는 방법

끝!! 

[출처] https://habiis.tistory.com/55

728x90
반응형

728x90
반응형

su 명령어 wheel 그룹에게만 허용하기

1. /bin/su 또는  /usr/bin/su 명령어의 권한에서 SETUID 제거하기 & other의 실행권한 제거.

$chmod 4750 /bin/su

$chmod 4750 /usr/bin/su

 

2. /bin/su 명령어의 그룹 변경해주기

chgrp wheel /bin/su

 

 

3. wheel 그룹에 일반 계정(cent1)을 추가해주기

$gpasswd -a cent1 wheel

 

4. /etc/pam.d/su에서 pam_wheel.so 있는 줄 주석 제거하기.

 

 

---> wheel 그룹과 root만 su 명령어 사용가능하다.

(참고 : https://webinformation.tistory.com/99)


 

##복원하는 법...

1. 리눅스 켰을 때 others 버튼 누르고 root계정으로 로그인하기

 

2. su 명령어 권한 확인

#chmod 4755 /usr/bin/su 또는 #chmod 4755 /bin/su

 

3. /etc/pam.d/su에서 pam_wheel.so 주석처리.

pam_wheel.so 주석처리해주기.

4. wheel 그룹에서 사용자 제거.

$ gpasswd -d cent1 wheel 

 

5. /bin/su 명령어의 그룹 변경

chgrp root /bin/su

 

 


리눅스 그룹

*새로운 그룹 생성

groupadd name

groupadd -g 1000 name (특정 GID를 가진 그룹 생성)

groupadd -r name (시스템용 그룹 GID가 499이하임)

 

*그룹 삭제

groupdel name

 

*그룹 확인

groups

 

*그룹에 사용자 추가

gpasswd -a username groupname

 

*그룹에 사용자 제거

gpasswd -d username groupname

 

*그룹에 멤버를 새로 설정함.

gpasswd -M nestgoer,tiffiny

 

*그룹 관리자 설정

gpasswd -A adminname groupname

 

*그룹 관리자 확인

/etc/gshadow

 

wheel::nestgoer:nestgoer,zezz

 

 


 su 제한하기

-wheel그룹에 일반 계정 추가

-pam_wheel.so 부분 각주처리

-chgrp wheel /bin/su

-chmod 4750 /bin/su (setuid설정하고 others 권한은 뺏기, 원래 권한은 0755임.)

하면 wheel 그룹에게만 특수하게 권한을 줄 수 있다.

728x90

+ Recent posts