본문 바로가기

보안

(25)
보안기사 - UNIX/Linux 서버 취약점 계정 관리 root 이외의 UID가 0 금지 /etc/passwd 파일 내 UID 확인 패스워드 복잡성 설정 부적절한 패스워드 유형 사전에 나오는 단어나 이들의 조합 길이가 너무 짧거나 공백(NULL)인 패스워드 키보드 자판의 일련순 (asdf, qwer, 1234) 사용자 계정 정보에서 유추 가능한 단어 (사용자 이름, 지역, 회사, 부서명, 전화번호) 패스워드 관리 방법 영어 대/소문자, 숫자, 특수문자 조합 2종류 이상 조합, 최소 10자리 이상 또는 3종류 이상 조합, 최소 8자리 이상 자주 변경 패스워드 최소 길이 설정 OS 점검 파일 위치 및 방법 SOLARIS /etc/default/passwd 파일 PASSLENGTH=8 LINUX /etc/login.defs 파일 PASS_MIN_LEN ..
보안기사 - 시스템 해킹 버퍼 오버플로우 공격 (Buffer Overflow Attack) 연속된 메모리 공간을 사용하는 프로그램에 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생 프로그램의 오작동 유발, 악의적 코드 실행시켜 공격자 프로그램을 통제할 수 있는 권한 획득하게 됨 스택 버퍼 오버플로우 스택에 할당된 버퍼들이 문자열 계산 등에 의해 정의된 버퍼의 한계치를 넘는 경우 버퍼 오버플로우가 발생하여 복귀 주소(return address)를 변경하고 공격자가 원하는 임의 코드를 실행 힙 버퍼 오버플로우 힙에 할당된 버퍼들에 문자열 등이 저장되어 질 때, 최초 정의된 힙의 메모리 사이즈를 초과하여 문자열 등이 저장되는 경우 버퍼 오버플로우가 발생하여 데이터와 함수 주소 등을 변경하여 공격자가 원하는 임의..
보안기사 - UNIX/Linux 로그 * 참고 일반적으로 UNIX는 /var/adm 디렉토리, Linux는 /var/log 디렉토리에 저장 리눅스는 /etc/syslog.conf 파일에서 시스템 로그 파일들의 위치를 지정 서버에는 여러 개의 로그 파일이 있으며 이들 로그를 남기든 데몬들 또한 다양(syslogd, sendmail, httpd, named, xinetd 등) 주요 로그 파일 utmp(x) 현재 로그인한 사용자의 상태정보를 담고 있는 로그 파일 binary 파일이므로 'w', 'who', 'finger' 등의 명령어 이용 Linux : /var/run/utmp, Unix(SunOS) : /var/adm/utmpx wtmp(x) 성공한 로그인/로그아웃 정보, 시스템의 boot/shutdo..
보안기사 - PAM PAM (Pluggable Authentication Modules, 장착형 인증 모듈) 리눅스 시스템 내에서 사용되는 각종 어플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리들 /lib/security 또는 /usr/lib/security 디렉터리에 해당 라이브러리 저장 프로그램 개발 시 인증모듈을 별도 개발하지 않고 플러그인 방식의 PAM을 사용함으로써 인증 방식 및 정책의 유연성과 중앙 통제가 가능 각 프로그램은 인증이 필요한 부분에 PAM 라이브러리를 호출 ->PAM라이브러리 호출되면 해당 프로그램의 PAM 설정파일 참조하여 등록된 여러 PAM 모듈 수행하고 그 결과를 응용 프로그램에 반환 ->응용 프로그램은 반환된 결과를 이용해 인증여부 결정 PAM 설정 파일 /etc/pam.d PAM ..
보안기사 - UNIX/Linux 서버 네트워크 보안 SSH (보안쉘) 암호 통신을 이용하여 네트워크 상의 다른 컴퓨터에 접속하여 원격 명령 실행 또는 파일 조작하는 응용 프로그램 또는 프로토콜 기존의 rsh, rlogin, Telnet, FTP 등 평문 송수신 서비스의 취약점을 위해 설계 22/tcp 포트를 사용 슈퍼서버 (inetd 데몬) inetd 방식 vs stand-alone 방식 inetd 방식 공통적인 부분을 처리하는 슈퍼데몬을 만들어 개별 서비스를 등록하게 하여 클라이언트 요청은 슈퍼 데몬이 모두 처리하고 개별 서비스를 호출해주는 방식 ->효율적 서버자원의 활용, but 상대적으로 느림 (HTTP 같이 다수 클라이언트에게 엄청난 동시요청 발생하는 서비스는 불가 - 서비스 처리속도가 너무 낮아짐) stand-alone 방식 서비스별로 서버 프로..
보안기사 - UNIX/Linux 서버 시스템 보안 패스워드 관리 과거에는 사용자의 패스워드를 /etc/passwd 파일의 두 번째 필드에 저장했지만 최근에는 /etc/shadow 파일에 암호화된 패스워드 저장 /etc/passwd 파일 root 계정은 시스템에 대한 총괄 권한 가져 공격자의 목표가 될 수 있으므로, 원격 접속을 금지한다. su를 허용하는 계정 그룹을 생성하여 해당 계정으로 접속 후 root 계정으로 전환하여 사용하도록.. /etc/passwd 파일의 두 번째 필드(사용자 비밀번호)가 x인 것은 shadow 패스워드 사용한다는 의미 임의로 생성된 계정에 UID가 0으로 부여되어 있다면 root 권한 탈취를 위한 행위로 의심 GID 도 마찬가지 로그인이 불필요한 계정(시스템 및 어플리케이션 계정)은 로그인을 금지하는 것이 보안상으로 안전 (..
보안기사 - UNIX/Linux 시스템 관리 (crond) 사용자 관리 useradd usermod userdel group~ 동일 파일시스템 관리 mount umount du df 프로세스 스케줄 관리 정기적 스케줄 관리 (cron 데몬 프로세스) crontab 파일 정기적으로 처리할 작업 목록을 정의 사용자 계정별로 생성 crontab -e : crontab 파일 편집 crontab -l : crontab 파일 출력 crontab -r : crontab 파일 삭제 crontab 명령 crontab 파일을 제어(편집) /etc/cron.allow, /etc/cron.deny 설정파일로 crontab 명령 접근제어 수행 (allow만 -> white list, crontabdeny만 -> black list, crontab둘 다O -> allow 우선, cron..
보안기사 - UNIX/Linux 기본 쉘 (Shell) 명령어 해석기. 사용자와 커널 사이 인터페이스 사용자가 입력한 명령어 해석해서 커널에 전달 ~ 커널이 처리한 결과 사용자에게 출력해주는 역할 /etc/passwd 사용자 계정정보 저장 [user_account]:[user_password]:[UID]:[GID]:[comment]:[home_dir]:[login_shell] * user_password가 x인 것은 shadow 패스워드를 사용한다는 의미 (암호화된 pw를 /etc/shadow 파일에 저장하여 관리) * root(super user)는 UID와 GID가 0 관련 명령어 id (UNIX 시스템에 접속 중인 사용자 확인, 사용자 UID와 GID 출력) passwd (패스워드 변경) /etc/group 현재 시스템에 정의되어 있는..