본문 바로가기
728x90

전체 글452

[보안] cron 파일 소유자 및 권한 설정 [Unix-보안] cron 파일 소유자 및 권한 설정 cron은 일정한 시간에 맞추어 정해진 명령을 수행시키는 데몬으로 cron 서비스에 대한 접근 통제가 필요 ■ 취약점 - 주기적인 명령어 실행으로 침입에 악용되거나 정보가 노출될 위협이 존재 ■ 조치방법 - cron 서비스를 이용할 필요가 있는 계정에 대해서만 서비스 이용 허가 - cron.allow 파일에 등록된 계정만 crontab을 사용할 수 있음 - 설정 파일을 통해 수정 가능 1. cron 서비스 이용 허가 # vi /var/adm/cron/cron.allow 이용 가능하도록 설정할 계정 입력 2017. 2. 25.
[보안] tftp, talk 서비스 비활성화 [Unix-보안] tftp, talk 서비스 비활성화 TFTP(Trivial File Transfer Protocol) 서비스는 UDP를 이용하여 X-터미널 등과 같이 하드디스크가 없는 클라이언트의 네트워크 부팅을 위해 사용 ■ 취약점 - TFTP를 이용하면 인증절차 없이 시스템에 접근하여 임의의 파일 획득이 가능 - 특히, TFTP 디렉토리가 루트("/")로 설정되어 있으면 시스템 파일 획득이 가능 - Talk 서비스는 사회공학적인 공격에 사용될 수 있으며, 대화내용이 네트워크상에서 평문으로 전송 ■ 조치방법 - 네트워크 부팅 기능을 사용하지 않는다면 TFTP 서비스를 중단 - 업무상 실제 사용하지 않거나 필요하지 않은 서비스를 중지 1. 서비스 중지 방법 1) 현재 동작중인 프로세스 중지 # ps -.. 2017. 2. 24.
[보안] automountd 제거 [Unix-보안] automountd 제거 ■ 취약점 - automountd 서비스는 일반적으로 UDP나 TCP프로토콜을 통해서 패킷을 받아들일 수 없지만 rpc.statd가 포워딩 해주는 TLI프로토콜을 통해서는 패킷을 받아들이며 공격자는 이를 이용하여 자신이 실행시키고자 하는 명령어를 rpc.statd에 패킷형태로 보내 실행이 가능 ■ 조치방법 - automountd 서비스를 미사용시, 서비스 실행을 중지 1. 현재 동작중인 프로세스 중지 # ps -ef | grep # kill -9 2. 서비스 실행 중지 # vi /etc/inetd.conf 관련 행 주석처리 3. 열려진 포트가 있는 경우 닫음 # vi /etc/services 관련 행 주석처리 4. 관련 스크립트가 존재하는 경우 스크립트 이름 변.. 2017. 2. 23.
[보안] NFS 서비스 비활성화 [Unix-보안] NFS 서비스 비활성화 ■ 취약점 - NFS 서비스는 원격지의 시스템에 위치한 파일을 마치 자신의 컴퓨터에 있는 것처럼 검색하고, 마음대로 저장하거나 수정하도록 해주는 서비스로 이를 이용하여 다양한 공격이 가능 ■ 조치방법 - NFS 서비스를 미사용시, NFS 서비스 실행을 중지 1) $stopsrc -g nfs 2) $vi /etc/inittab 3) 시스템 부팅시 NFS 서비스 실행을 방지하기 위해, /etc/inittab의 NFS 관련 부분을 다음 같이 주석 처리 #rcnfs:2:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons 4) /etc/inittab 파일을 저장 2017. 2. 22.
[보안] 관리자 UMASK 설정 오류 [Unix-보안] 관리자 UMASK 설정 오류 umask 값은 파일이나 디렉토리 생성 시 기본으로 설정되는 권한을 결정 ■ 취약점 - 관리자가 임의의 파일 또는 디렉토리를 생성했을 때 다른 사용자가 해당파일 또는 디렉토리에 대한 접근이 가능 ■ 조치방법 - 설정 파일 수정을 통한 UMASK 변경 방법 $ vi /etc/security/user root: 로 표시된 라인 아래 다음과 같이 umask 지정 umask = 027 umask 값이 027인지 확인 후 아닐 경우, 각 shell에 따라 로그인시 최종적으로 실행되는 shell script에 umask 027추가 2017. 2. 21.
[보안] C 컴파일러 존재 및 권한 설정 오류 [Unix-보안] C 컴파일러 존재 및 권한 설정 오류 시스템에 C 컴파일러가 존재 ■ 취약점 - 공격자가 시스템에 침입 후 공격 코드가 들어있는 소스 파일을 컴파일, 실행파일을 생성하여 시스템 공격(관리자 권한 획득, 서비스 거부 유발 등)에 악용 가능 ■ 조치방법 - 개발에 이용되는 경우 컴파일러에 대한 접근 통제 설정 1) $ vi /etc/group 2) 컴파일러를 사용할 수 있는 그룹을 만들고 사용자를 지정 3) chgrp 4) chmod 550 - 개발에 이용되지 않는 경우 컴파일러 제거 또는 관리자 이외의 사용자에 대한 실행 권한 제거 $ chmod 700 2017. 2. 20.
[보안] 계정 잠금 임계값 설정 [Unix-보안] 계정 잠금 임계값 설정 비밀번호 입력 오류 시 다시 입력 시도 가능한 횟수의 지정이 필요 ■ 취약점 - 계정 사용가능 시간 설정, 잠금 시간 설정 등 각종 로그인 관련 설정 미비 ■ 조치방법 - 비밀번호 입력 오류 시 시도 가능 횟수 지정을 통해 지정 횟수 이상 오류가 발생한 경우 계정 잠금 - 잠금된 계정은 관리자만이 풀 수 있도록 설정하고 잠김 원인 확인 후 해제 - 사용 시간이 지정된 계정의 경우 정해진 시간이 지나면 자동 로그오프 설정 1. 설정 파일 수정을 통한 로그인 정책 설정 방법 # vi /etc/security/user default: ← 모든 사용자에게 적용 loginretries = ← 로그인 재시도 가능 횟수 : ← 특정 사용자에게 적용 2017. 2. 19.
[보안] SNMP 서비스 Get community 스트링 설정 오류 [Unix-보안] SNMP 서비스 Get community 스트링 설정 오류 SNMP 서비스는 네트워크 관리 및 네트워크 장치의 동작을 감시, 통할하는 SNMP 프로토콜을 기반으로 하는 서비스 ■ 취약점 - SNMP 서비스의 SNMP community string이 기본 community 이름인 public으로 설정되어 있을 경우, 공격자가 이를 이용하여 시스템 정보를 획득할 수 있는 위협이 존재 ■ 조치방법 - SNMP community string을 public이 아닌 다른 것으로 변경 1. $ vi /etc/snmpd.conf (다른 경로에 위치 가능) ※ snmpdv3를 이용하는 경우 /etc/snmpdv 3.conf를 수정(ls -al /usr/sbin/snmpd로 사용중인 버전 확인 가능) 2.. 2017. 2. 18.
[보안] UUCP SETUID 설정 [Unix-보안] UUCP SETUID 설정 uucp는 현재는 거의 사용하지 않는 프로토콜로 불필요한 프로그램의 사용은 시스템 자원을 낭비 ■ 취약점 - uucp에 setuid가 설정되어 있으면 버퍼 오버플로우 공격을 통해 관리자 권한 획득을 위한 방법으로 이용될 수 있는 위협이 존재 ■ 확인방법 /usr/sbin/snappd ← 파일에 SETUID 비트가 설정되어 있음 ■ 조치방법 - setuid bit 제거 1) $ cd [uucico 파일 경로] 2) $ chmod -s uucico 2017. 2. 17.
[보안] 비밀번호 장기간 미변경 계정 존재 & 비밀번호 유추가능 [Unix-보안] 비밀번호 장기간 미변경 계정 존재 & 비밀번호 유추가능 시스템의 계정과 비밀번호는 반드시 안전하게 보호 필요 ■ 취약점 - 비밀번호를 장기간 변경하지 않고 사용하면, 외부에 노출될 가능성이 증가 - 비밀번호가 추측하기 쉽게 설정되어 있으면, 해커에 의해 도용될 위협이 존재 ■ 조치방법 - 비밀번호를 최소 8자 이상 영어+숫자+특수문자를 혼합하여 변경 1) $ passwd [계정명 2) $ 비밀번호 설정 - 비밀번호의 변경 기간 설정 및 기타 설정 - /etc/security/user 파일 안의 파라미터들을 아래 설명을 참고하여 정책에 맞추어 적절히 설정 1) $ vi /etc/security/user default: SYSTEM = "compat" logintimes = ← login .. 2017. 2. 16.
[보안] 불필요한 계정 및 사용하지 않는 계정 존재 [Unix-보안] 불필요한 계정 및 사용하지 않는 계정 존재 ■ 취약점 - 시스템 설치시 기본으로 추가되는 불필요한 계정 존재 - 실제 사용하지 않는 또는 장기간 사용되지 않은 계정 존재 - 관리가 이루어지지 않는 계정은 시스템 침입에 악용될 위협 존재 ■ 조치방법 1. 관리 명령어를 통한 계정 제거 방법 $ rmuser 2. 관리 명령어를 통한 쉘 사용 중지 방법 $ chsh -s /bin/false 3. 설정 파일 수정을 통한 쉘 사용 중지 방법 $ vi /etc/passwd 해당 계정의 7번째 필드 값을 /bin/false로 수정 4. 관리 도구(SMIT)를 통한 계정 제거 방법 $ smit 1. Security & Users 선택 2. Users 선택 3. Remove a User 선택 4. Us.. 2017. 2. 15.
[보안] root 계정 원격 접속 제한 [Unix-보안] root 계정 원격 접속 제한 관리자는 시스템 관리를 위해 원칙적으로 시스템 콘솔에서 직접 관리 작업을 수행 ■ 취약점 - 관리자가 원격에서 시스템 관리를 위해 telnet을 사용하는 경우, 스니핑에 의해 관리자의 비밀번호가 유출될 수 있는 위협이 존재 - 다수의 관리자가 원격에서 하나의 관리자 ID를 사용하면 시스템에 문제 발생 시 책임 소재를 규명하기 어려움 ■ 확인방법 $ grep PermitRootLogin /etc/ssh/sshd_config #PermitRootLogin yes 관리자가 원격에서 시스템에 접근할 수 있음 #the setting of "PermitRootLogin without-password". ■ 조치방법 - 시스템 관리 작업은 콘솔에서만 작업 가능하게 설정.. 2017. 2. 14.
728x90