Server/서버보안2020. 3. 23. 23:44

 U-05(상) 

2. 파일 및 디렉토리 관리 > 2.1 root홈, 패스 디렉터리 권한 패스 설정 

 점검내용

root 계정의 PATH 환경변수에 "."이 포함되어 있는지 점검 

 점검목적

비인가자가 불법적으로 생성한 디렉터리를 우선으로 가리키지 않도록 설정하기 위해 환경변수 점검이 필요함 

 보안위협

관리자가 명령어(예: ls, mv, cp등)을 수행했을 때 root 계정의 PATH 환경변수에 "."(현재 디렉터리 지칭이)포함되어 있으면 현재 디렉터리에 명령어와 같은 이름의 악성파일이 실행되어 악의적인 행위가 일어날수 있음 

 참조

※환경변수 : 프로세스가 컴퓨터에 동작하는 방식에 영향을 미치는 동적인 값들의 집합으로 Path 환경부는 실행파일을 찾는 경로에 대한 변수임 

 OS

CentoS 7 


<확인 방법>

#echo $PATH

결과에 "." 또는 "::" 있는지 확인


<조치>

"." 또는 "::"있으면 삭제


- vi /etc/profile 또는 vi ~/.profile 을 열어

(수정전)PATH=.:$PATH:$HOME/bin

(수정후)PATH=:PATH:%HOME/bin

Posted by Rugal
Server/서버보안2020. 3. 23. 22:47

 U-04(상)

 1. 계정관리 > 1.4 패스워드 파일 보호

 점검내용

 시스템의 사용자 계정(root, 일반계정) 정보가 저장된 파일(예 /etc/passwd, /etc/shadow)에 사용자 계정 패스워드가 암호화 되어 저장되어 있는지 점검

 점검목적

 일부 오래된 시스템의 경우 패스워드 정책이 적용되지 않아 /etc/passwd 파일에 평문으로 저장되므로 사용자 계정 패스워드 암호화되어 저장되어 있는지 점검하여 비인가자의 패스워드 파일 접근시에도 사용자 계정 패스워드가 안전하게 관리되고 있는지 확인하기 위함

 보안위협

 비인가자에 의해 사용자 계정 패스워드가 평문으로 평문으로 저장된 파일이 유출될 경우 시스템 사용자 계정 패스워드가 노출될 수 있음

 참조

 ※ 관리 점검 항목 : U-07(상), U-08(상)

 OS

 Centos7


1)/etc/shadow 파일  확인


2) /etc/passwd 파일 확인


3) /etc/passwd 내용 확인

- /etc/passwd 파일 내의 두번째 필드가 "X"표시로 되어 있는지 확인


※파일 확인시 파일  권한 확인 ( 구버전일 경우 권한이 더 높게 된경우 있음)


Posted by Rugal
Server/서버보안2020. 3. 2. 22:08


 U-03(상)

1. 계정관리 > 1.3 계정 잠금 임계값 설정 

점검내용

시스템 정책에 사용자 로그인 실패 임계값이 설정되어 있는지 점검

점검목적 

 시스템 정책에 사용자 로그인 실패 임계값이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등 ) 시도 시 로그인 실패 임계값에 따라 로그인을 차단하고 있는지 확인하기 위함

보안위협 

 로그인 실패 임계값이 설정되어 있지 않을 경우 반대되는 로그인 시도에 대한 차단이 이루어지지 않아 각종 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등 )에  취약하여 비인가자에게 사용자 계정 패스워드를 유출 당할수 있음

참고

 ※ 사용자 로그인 실패 임계 값 : 시스템에 로그인 시 몇 번의 로그인 실패에 로그인을 차단할 것인지 결정하는 값

OS

 CentOS 7

<조치방법>

#콘솔

[root@localhost ~]# vim /etc/pam.d/system-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
# 로그인 시 5번 실패 할 경우 60초 동안 로그인이 제한 된다.
auth        required      pam_tally2.so deny=5 unlock_time=60
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     required      pam_tally2.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so


#SSH

[root@localhost ~]# vim /etc/pam.d/password-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
# 로그인 시 5번 실패 할 경우 60초 동안 로그인이 제한 된다.
auth        required      pam_tally2.so deny=5 unlock_time=60
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     required      pam_tally2.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so




Posted by Rugal
Server/서버보안2020. 3. 1. 20:54
U-02(상) 1. 계정관리 > 1.2 패스워드 복잡성 설정
점검내용 시스템 정책에 사용자 계정(root 및 일반 계정 모두 해당) 패스워드 복잡성 관련 설정이 되어 있는지 점검
점검목적 패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격 등)에 대비가 되어 있는지 확인하기 위함
보안위협 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시 비인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 수 있는 위험이 존재함
참고

※패스워드 복잡성 : 사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼합된 패스워드로 설정하는 방법

※공공기관인 경우 국가정보보안지침에 의해 패스워드를 9자리 이상의 길이로 설정해야됨

OS CentOS 7

 

<조치방법>

1. 기준 

최소 9자리 이상 되어야 하며  숫자,대문자,소문자,특수문자 최소 1개 포함해야됨

2. 방법

1) 

#vim /etc/security/pwquality.conf

minlen: 패스워드 최소 길이를 자로 제한
minclass: 최소 포함갯수
maxrepeat: 연속되 문자 허용 길이
maxclassrepeat: 이것도 정확한 뜻을 모르겠음
lcredit=1: 소문자 적어도 한개 포함
ucredit=1: 대문자 적어도 한개 포함
dcredit=1: 숫자 적어도 한개 포함
ocredit=1: 특수문자 적어도 한개 포함

주석 제거 및  값 수정 

2)

수정한 pwquality.conf 적용되도록  수정 및 확인

vi /etc/pam.d/system-auth-ac
password    required      pam_pwquality.so enforce_for_root

vi /etc/pam.d/password-auth-ac
password    required      pam_pwquality.so enforce_for_root

두개 파일을 열어 pwquality.so가 등록 되어 있는지 확인

Posted by Rugal
Server/서버보안2020. 2. 19. 00:11
U-01(상) 1. 계정관리 > 1.1 root 계정 원격 접속 제한
점검내용 시스템 정책에 root 계정의 원격 터미널 접속 차단 설정이 적용 되어 있는지 점검
점검목적 root 계정 원격 접속 차단 설정 여부를 점검하여 외부 비인가의 root 계정 접근 시도를 원천적으로 차단하는지 확인하기 위함
보안위협 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 root 원격 접속 차단이 적용되지 않은 시스템 root 계정 정보를 비인가자가 획등할 경우 시스템 계정 정보 유출, 파일 및 디렉터리 변경 등의 행위 침해사고가 발생할수 있음
참고

※root계정 : 여러사용자가 사용하는 컴퓨터에서 전체적으로 관리할 수 있는 총괄 권한을 가진 유일한 특별 계정. 유닉스 시스템의 루트(root)는 시스템 관리자인 운영 관리자(Super User)로서 윈도우의 관리자(Administrator)에 해당하며, 사용자 계정을 생성하거나 소프트웨어를 설치하고, 환경 및 설정을 변경하거나 시스템의 동작을 감시 및 제어할수 있음

※무작위 대입공격(Brute Force Attack): 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 공격 방법

※사전 대입 공격(Dictionary Attack): 사전에 있는 단어를 입력하여 암호를 알아내거나 암호를 해독하는데 사용되는 컴퓨터 공격 방법

OS Centos 7

 

<조치 방법>

1. root 계정 바로 접속을 막기전 접속을 위한 새로운 계정 생성

1
2
3
4
5
useradd [계정 이름]
passwd [ 계정 이름]
 
새암호 : [암호입력]
새 암호 재입력 : [암호 입력]
cs

 

2. 수정

#PermitRootLogin yes  == > PermitRootLogin no

1) SSH 설정 파일 수정vi /etc/ssh/sshd_config

※ /PermitRootLogin로 검색해도 된다. 

# :wq

3. 서비스 재시작

# systemctl restart sshd

 

################################################################################

<조치방법>

1.  vi /etc/pam.d/sshd

최상단에 추가

# auth       required    pam_securetty.so

#:wq

root 로그인시 차단되는것을 확인할수 있다 저장 즉시 적용되며 사전에 접석용 계정을 생성하는것을 추천한다. 

################################################################################

<조치방법>

1. vi /etc/pam.d/sshd

#auth required pam_access.so 추가

2. vi /etc/security/access.conf

1)

#-:root:ALL

-> - : root : ALL 는 root계정에 대해서는 모든 IP로 부거 거부한다.

-> + : user1 : 1.0.0.130 는 user1계정에 대해서는 1.0.0.130 IP만 허용한다.

-> - : ALL except root user1 : ALL 는 root와 user1을 제외하곤 모든 IP에서 막는다 

Posted by Rugal
Server/서버보안2020. 2. 18. 23:32

Linux 서버 취약점 조치를 하나씩 정리를 목표로 정리할 생각입니다. 

서버 취약점 기준은 KISA 가이드라인을 기준으로 조치한 내용을 하나씩 정리

기록할 예정입니다. 

OS는 CentOS 7 기준으로 작성할 예정이며 추후 시간이 된다면 Centos 8 버전가지 갈생각입니다. 

OS 업데이트는 되는데 실질적으로 취약점 진단에 대한 가이드는 업데이트가 안되는 부분이 답답하네요 

주요정보통신기반시설_기술적_취약점_분석평가_가이드.pdf
9.46MB

Posted by Rugal
Server/서버보안2019. 5. 2. 22:53

mysql.proc 권한을 777에서 그이하로 낮출경우

외부 권한의 문제가 발생한다. 

 

Tomcat-Mysql 서버 구동후 외부 스크립트로 DB 수정쿼리 (EX: 인사동기화, 정보 수정) 의 명령을 할경우 

권한문제로 정상수행 불가능한 문제가 발생한다. 

따라서 권한을 잘 확인하고 맞쳐줘야한다. 

Posted by Rugal