[리눅스 보안] 서버 관리 - /etc/passwd, /etc/shadow, /etc/group 파일 구조
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - /etc/passwd, /etc/shadow, /etc/group 파일 구조 파 일 속 성 /etc/passwd 사용자 ID, Shell등 사용자 계정 정보 저장 /etc/shadow root 또는, 사용자 계정의 암호 저장 /etc/group 각 그룹 목록에 대한 정보 저장 ■ /etc/passwd namegpark x 500 500 namegpark /home/namegpark /bin/bash 계정명 패스워드 UID GID 계정설명 홈 디렉토리 Shell 정보 ■ /etc/shodow root $6$7~ 15788 0 99999 7 계정명 패스워드 암호생성일자 변경가능 최소시간 유효기간 경고일수 ■ /etc/group namegpark x 500 - 그룹명 패스워드 G..
[리눅스 보안] 서버 관리 - find 명령어를 사용하여 파일 경로 확인
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - find 명령어를 사용하여 파일 경로 확인 ■ find 명령어는 원하는 파일을 계속 필터링 하면서 찾아볼 수 있도록 하고, 잘못 수정 된 파일을 추적할 때 유용하게 사용됨. ■ 취약점 진단 시 각 운영체제별로 파일이 존재하는 위치에 차이가 있어 진단 조치 또는, 설정 여부 확인이 어려운 경우가 종종 있는데 find 명령어를 이용하여 파일이 위치한 경로를 쉽게 확인할 수 있음. ■ find 명령어 기본형은 다음과 같음 #find . -name 'pattern' ■ #find . -name '*.html' - . 은 현재 디렉토리에서 찾음, /usr과 같이 특정 위치에서 찾으려면 #find /usr -name '*.html' - -name은 파일 이름으로 찾으라는 조건으로 확장..
[리눅스 보안] 서버 관리 - vi 편집기를 사용하여 파일 내용 수정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - vi 편집기를 사용하여 파일 내용 수정 ■ vi 편집기 - vi 편집기는 윈도우의 메모장처럼 사용되는 유닉스에서 제공하는 표준편집기를 말함. - 이미 존재하는 파일을 수정하는 경우 또는, 신규 파일을 만들고자 할 때 vi 명령을 사용함. #vi - vi 명령어를 입력하여 프로그램을 시작하면 일반적으로 명령(normal)모드로 시작되고, 이때 키보드에서"I" 키를 누르게 되면 편집(insert)모드로 바뀌어 "ESC" 키를 누를 때까지 문서 작성을 할 수 있음. (편집모드에서는 아래 화면과 같이 "--INSERT--"를 확인할 수 있음) - 편집중인 문서 저장 시 ":w"를 입력하고, 수정 완료 후 ":q"를 입력하여 프로그램을 종료함. - 파일에 쓰기 권한이 없을 때 're..
[리눅스 보안] 서버 관리 - cat 명령어로 파일 내용 확인
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - cat 명령어로 파일 내용 확인 ■ cat 명령어는 텍스트 파일 내용 출력, 쓰기, 복사 시 사용하며 주로 텍스트 파일 내용을 표준 출력장치로 출력하여 확인하는 경우 사용됨. 명령어 입력 방법은 다음과 같음. 1. #cat 파일 경로/파일명 : 파일을 열어 내용을 출력 2. #cat > 파일 경로/파일명 같은 이름의 파일이 없는 경우 -> 파일을 새로 만들고 내용 입력 같은 이름의 파일이 있는 경우 -> 파일을 덮어쓰고 새로 내용 입력 3. #cat >> 파일 경로/파일명 같은 이름의 파일이 없는 경우 -> 파일을 새로 만들고 내용 입력 같은 이름의 파일이 있는 경우 -> 기존 파일의 내용 밑에 이어서 입력 ※ 덧붙여 사용할 수 있는 명령어 ● | more - 많은 내용 출..
[리눅스 보안] 서버 관리 - 정책에 따른 시스템 로깅 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - 정책에 따른 시스템 로깅 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 감사 설정이 구성되어 있지 않거나 보안 정책에 비하여 감사 설정 수준이 낮아 보안 사고가 발생한 경우 원인 파악 및 각종 침해 사실에 대한 확인이 어려우며, 법적 대응을 위한 충분한 증거로 사용할 수 없음 ■ 보안대책 - 양호 : 로그 기록 정책이 정책에 따라 설정되어 수립되어 있는 경우 - 취약 : 로그 기록 정책 미수립, 또는, 정책에 따라 설정되어 있지 않은 경우 ■ 보안설정 방법 ◆ SunOS 1. vi 편집기를 이용하여 "/etc/syslog.conf" 파일을 연 후 #vi /etc/syslog.conf 2. 아래와 같이 수정 또는, 신규 삽입mail.d..
[리눅스 보안] 서버 관리 - 로그의 정기적 검토 및 보고
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - 로그의 정기적 검토 및 보고 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 로그 정보는 침해사고 발생 시 해킹의 흔적 및 공격기법을 확인할 수 있는 중요 자료로 정기적인 로그 분석을 통하여 시스템 침입 흔적과 취약점을 확인할 수 있음 ■ 보안대책 - 양호 : 로그 기록의 검토, 분석, 리포트 작성 및 보고 등이 정기적으로 이루어지는 경우 - 취약 : 로그 기록의 검토, 분석, 리포트 작성 및 보고 등이 정기적으로 이루어지지 않는 경우 ■ 보안설정 방법 ◆ OS별 점검 방법 - SunOS, Linux, AIX, HP-UX 로그 분석 계획 수립 여부 및 로그 분석 결과에 대한 점검 ■ SunOS, Linux, AIX, HP-UX - 정기적인 ..
[리눅스 보안] 서버 관리 - 최신 보안패치 및 벤더 권고사항 적용
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - 최신 보안패치 및 벤더 권고사항 적용 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 주기적인 패치 적용을 통하여 보안성 및 시스템 안정성을 확보하는 것이 시스템 운용의 중요한 요소임 - 서비스 중인 시스템의 경우 패치 적용에 따르는 문제점(현재 운용중인 응용프로그램의 예기치 않은 중지, 패치 자체의 버그 등)과 재부팅의 어려움 등으로 많은 패치를 적용하는 것이 매우 어렵기 때문에 패치 적용 시 많은 부분을 고려하여야 함 ■ 보안대책 - 양호 : 패치 적용 정책을 수립하여 주기적으로 패치를 관리하고 있는 경우 - 취약 : 패치 적용 정책을 수립하지 않고 주기적으로 패치관리를 하지 않는 경우 ■ 조치방법 - O/S 관리자, 서비스 개발자가 패..
[리눅스 보안] 서버 관리 - Apache 웹서비스 정보 숨김
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - Apache 웹서비스 정보 숨김 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 에러 페이지, 웹 서버 종류, OS 정보, 사용자 계정 이름 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하여야 함. - 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집할 수 있음. ■ 보안대책 - 양호 : ServerTokens 지시자에 Prod 옵션이 설정되어 있는 경우 - 취약 : ServerTokens 지시자에 Prod 옵션이 설정되어 있지 않는 경우 ■ 보안설정 방법 ◆ OS별 점검 파일 위치 및 점검 방법 - SunOS, Linux, AIX, HP-UX Prod 옵션 설정 여부 확인 #vi /[Apache_home]/..
[리눅스 보안] 서버 관리 - expn, vrfy 명령어 제한
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - expn, vrfy 명령어 제한 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - *SMTP(Simple Mail Transfer Protocol)는 많은 취약성을 갖고 있어 잠재적인 위험이 존재함. 서버에서 SMTP를 사용하는 목적을 검토하여 사용할 필요가 없는 경우 서비스를 제거해야 하며, SMTP 서비스 운영 시 Sendmail Abuse를 방지하기 위해 Sendmail의 기본적인 서비스인 *VRFY, *EXPN을 막아야 함. * SMTP(Simple Mail Transfer Protocol) 서버 : 인터넷상에서 전자우편(E-Mail)을 전송할 때 이용하게 되는 표준 통신 규약을 말함 * VRFY : SMTP 클라이언트가 SMTP 서버..
[리눅스 보안] 서버 관리 - NFS 설정파일 접근권한
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - NFS 설정파일 접근권한 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - *NFS(Network File System) 접근제어 설정파일을 관리자가 아닌 일반 사용자들도 접근 및 변경이 가능하면 이를 통해 인가되지 않은 사용자를 등록하고 파일시스템을 마운트하여 불법적인 변조를 시도할 수 있음. 따라서 NFS 접근제어 설정파일을 일반 사용자들이 수정할 수 없도록 제한하고 있는지 점검하여야 함 - NFS(Network File System) : 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마치 로컬 파일시스템처럼 사용할 수 있는 프로그램 ■ 보안대책 - 양호 : NFS 접근제어 설정파일의 소유자가 root 이고, 권한이 644 이하인 경..
[리눅스 보안] 서버 관리 - 로그온 시 경고 메시지 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - 로그온 시 경고 메시지 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 취약점을 이용하여 공격을 시도할 수 있음 ■ 보안대책 - 양호 : 서버 및 Telnet 서비스에 로그온 메시지가 설정되어 있는 경우 - 취약 : 서버 및 Telnet 서비스에 로그온 메시지가 설정되어 있지 않은 경우 ■ 보안설정 방법 ◆ OS별 점검 파일 위치 및 점검 방법 - SunOS, Linux, AIX, HP-UX #vi /etc/motd 서버 로그온 메시지 설정 여부 확인 ※ 위에 제시한 파일 내에 로..
[리눅스 보안] 서버 관리 - SNMP 서비스 Sommunity String의 복잡성 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - SNMP 서비스 Sommunity String의 복잡성 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - *SNMP(Simple Network Management Protocol) 서비스는 시스템 상태를 실시간으로 파악하는 *NMS(Network Management System)를 위하여 UNIX 시스템에서 기본적으로 제공하는 서비스이며 정보를 받기 위해 일종의 패스워드인 Community String을 사용함 - *Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 시스템의 주요 정보 및 설정을 파악할 수 있음 *SNMP(Simple Ne..
[리눅스 보안] 서버 관리 - SNMP 서비스 구동 점검
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - SNMP 서비스 구동 점검 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - *SNMP(Simple Network Management Protocol) 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스임. - SNMP 서비스로 인하여 시스템의 주요 정보 유출 및 정보의 불법수집이 발생할 수 있으므로 SNMP 서비스를 사용하지 않을 경우 중지시킴. *SNMP(Simple Network Management Protocol) : TCP/IP 기반 네트워크상의 각 호스트에서 정기적으로 여러 정보를 자동으로 수집하여 네트워크 관리를 하기 위한 프로토콜을 의미함. ■ 보안대책 - 양호 : SNMP 서비스를 사용하지 않는 경우 ..
[리눅스 보안] 서버 관리 - at 파일 소유자 및 권한 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - at 파일 소유자 및 권한 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - *at 명령어 사용자 제한은 at.allow 파일과 at.deny 파일에서 할 수 있으므로 보안상 해당 파일에 대한 접근제한이 필요함. 만약 at 접근제한 파일의 권한이 잘못되어 있을 경우 권한을 획득한 사용자 계정을 등록하여 불법적인 예약 파일 실행으로 시스템 피해를 발생할 수 있음 *at 데몬(일회성 작업 예약) : 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케쥴을 예약 처리해 주는 기능을 제공함. /etc/at.allow 파일에 등록된 사용자만이 at 명령을 사용할 수 있음. ■ 보안대책 - 양호 : at 접근제어 파일의 소유자가 root이고, ..
[리눅스 보안] 서버 보안 - Ftpusers 파일 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 보안 - Ftpusers 파일 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 간단한 스니퍼에 의해서도 아이디 및 패스워드가 노출될 수 있으므로 반드시 필요한 경우를 제외하고는 FTP 서비스 사용을 제한하여야 함. - 불가피하게 FTP 서비스를 사용하여야 하는 경우 root 계정의 직접 접속을 제한하여 root 계정의 패스워드 정보가 노출되지 않도록 함. ■ 보안대책 - 양호 : FTP 서비스가 비활성화 되어 있거나, 활성화 시 root 계정 접속을 허용한 경우 - 취약 : FTP 서비스가 활성화 되어 있고, root 계정 접속을 허용한 경우 ■ 조치방법 - FTP 접속 시 r..
[리눅스 보안] 서버 관리 - ftpusers 파일 소유자 및 권한 설정
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - ftpusers 파일 소유자 및 권한 설정 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - 양호 : ftpusers 파일의 소유자가 root이고, 권한이 640 이하인 경우 - 취약 : ftpusers 파일의 소유자가 root가 아니거나, 권한이 640 이하가 아닌경우 ■ 조치방법 - FTP 점근제어 파일의 소유자 및 권한 변경 (소유자 root, 권한 640 이하) ■ 보안설정 방법 ◆ OS별 점검 파일 위치 및 점검 방법 - SunOS, Linux, AIX, HP-UX ftpuses 파일에 대한 일반사용자 쓰기 권한 확인 #ls -al /etc/ftpusers #ls -al /etc/ftpd/ftpusers rw-r---- root ※ ..
[리눅스 보안] 서버 보안 - FTP 계정 shell 제한
·
Infra/리눅스 서버
[리눅스 보안] 서버 보안 - FTP 계정 shell 제한 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - FTP 서비스 설치 시 기본으로 생성되는 ftp 계정은 로그인이 필요하지 않은 기본 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하여야 함. 로그인이 불필요한 기본 계정에 *쉘(Shell)을 부여할 경우 공격자에게 해당 계정이 노출되어 시스템 불법 침투가 발생할 수 있음. *쉘(Shell) : 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함. ■ 보안대책 - 양호 : ftp 계정에 /bin/false 쉘이 부여되어 있는 경우 - 취약 : ftp 계정에 /bin/false 쉘이 부여되지 않은 경우 ..
[리눅스 보안] 서버 관리 - ftp 서비스 확인
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - ftp 서비스 확인 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 간단한 Sniffer에 의해서도 스니핑이 가능하므로 반드시 필요한 경우를 제외하고는 FTP 서비스 사용을 제한하여야 함. ■ 보안대책 - 양호 : FTP 서비스가 비활성화 되어 있는 경우 - 취약 : FTP 서비스가 활성화 되어 있는 경우 ■ 보안설정 방법 ◆ FTP 종류별 점검 방법 - SunOS, Linux, AIX, HP-UX ▶ 일반 ftp 서비스 비활성화 여부 확인 #vi /etc/inedt.conf ▶ proftpd 서비스 데몬 확인 (proftpd 동작 SID 확인) #ps -ef | grep ..
[리눅스 보안] 서버 관리 - SSH 원격접속 허용
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - SSH 원격접속 허용 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - Telnet, FTP 등은 암호화되지 않은 상태로 데이터를 전송하기 때문에 ID/패스워드 및 중요 정보가 외부로 유출될 위험성이 있음. 따라서 원격 접속 시 사용자와 시스템과의 모든 통신을 암호화하는 *SSH(Secure Shell) 서비스를 사용할 것을 권장함. *SSH(Secure SHell) : 공개 키 암호 방식을 사용하여 원격지 시스템에 접근, 암호화된 메시지를 전송하는 시스템을 말함. 암호화된 메시지를 전송함으로써 LAN 상에서 다른 시스템에 로그인할 때 스니퍼에 의해서 도청당하는 것을 막을 수 있음. ■ 보안대책 - 양호 : 원격 접속 시 SSH 프로토콜을 사..
[리눅스 보안] 서버 관리 - Apache 웹 서비스 영역의 분리
·
Infra/리눅스 서버
[리눅스 보안] 서버 관리 - Apache 웹 서비스 영역의 분리 ■ 대상 OS : SunOS, Linux, AIX, HP-UX ■ 취약점 개요 - Apache 설치 시 htdocs 디렉토리를 DocumentRoot로 사용하고 있는데 htdocs 디렉토리는 공개되어서는 안 될(또는, 공개될 필요가 없는) Apache 문서뿐만 아니라 공격에 이용될 수 있는 시스템 관련 정보도 포함하고 있으므로 이를 변경하여야 함. 또한 대량의 업로드와 다운로드 시 서비스 불능 상태가 발생할 수 있음 ■ 보안대책 - 양호 : DocumentRoot를 별도의 디렉토리로 지정한 경우 - 취약 : DocumentRoot를 기본 디렉토리로 지정한 경우 ■ 조치방법 - DocumentRoot "/usr/local/apache/htd..