본문 바로가기
정보보안/시스템보안

유닉스/리눅스 보안 시스템 관리

by 피갓자 2025. 1. 20.

유닉스리눅스 보안 시스템 관리
유닉스리눅스 보안 시스템 관리

시스템 시작과 종료

도스나 윈도우 운영체제와 달리 시스템을 종료될 때까지 커널 메모리상에 프로세스들이 작동하고 있으므로 시스템을 종료하기 위해서 파워를 끄는 등의 행위로 인하여 리눅스 시스템의 파일시스템에 결함을 발생시킬 수 있음

shutdown

  • shutdown -r now : 지금 바로(now 옵션) 시스템 리부팅(-r 옵션)
  • shutdown -h now : 지금 바로(now 옵션) 시스템 종료(-h 옵션)

halt

  • 강제 종료 명령어로 주로 shutdown을 사용하는 것이 안전하며 시스템의 조정을 할 수 없을 때 주로 사용됨

reboot

  • 시스템 재부팅 명령어로 shutdown과 유사하지만, shutdown는 프로세스를 종료할 때 kill -15를 사용하여 파일 시스템의 무결성을 보장할 수 있고 reboot는 현재 실행 중인 프로세스를 즉시 종료하는 kill -9를 사용하므로 안전한 종료를 보장할 수 없음

사용자 계정 관리

멀티태스킹의 특징을 가지고 있으므로 다중 사용자를 수용하여 작업을 수행할 수 있음. 이때 사용자마다 계정을 생성하면 /etc/passwd 파일에 계정 및 패스워드 사용자와 그룹 ID, 셸이 정의됨

  • /etc/passwd는 일반 사용자들도 접근하여 파일 내용을 볼 수 있기 때문에 안전한 관리를 위해서 섀도 패스워드 시스템을 사용하여 /etc/shadow에 암호문으로 저장됨
  • /etc/shadow 파일은 계정명, 암호화된 패스워드 등 9개의 필드로 되어있으며 일반 사용자에게는 접근 권한이 없으므로 더욱더 안전함
  • chage 유틸리티를 이용하여 계정 패스워드 관리

계정 사용 제한

원격 접근권한 제거 : /etc/passwd 파일에서 /bin/bash과 같은 셸을 삭제

계정 사용기간 설정 : /etc/shadow 파일에서 사용기간 또는 만료일 설정

자원 관리

프로세스 관리

ps, kill, wait, su 등을 사용한 프로세스 관리

  • wait : 프로세스가 마치기를 기다리는 명령어. 옵션에 따라서 전체 또는 특정 프로세서 id의 백그라운드 프로세서를 기다리고 있다가 종료 상태를 보고
  • nice : 프로세스의 우선순위를 변경할 수 있는 nice 값을 설정하는 명령어로 프로세스의 실행 우선순위가 높다는 것은 더 많은 시스템 자원을 할당하게 되어 속도가 빨라지는 것으로 이해할 수 있으며 범위는 -20 ~ +20까지 값을 설정할 수 있음

메모리 관리

  • free : 시스템의 실제 메모리와 스왑 메모리에 대한 사용 현황을 확인할 수 있는 명령어로 실제 메모리 전체 용량, 실제 메모리 중 유휴 메모리양, 실제 메모리 중 사용 중인 메모리양, 스왑 메모리양, 커널에서 사용되는 공유 메모리와 버퍼 양, 캐시 된 메모리 양 등을 확인할 수 있음

메일, 디스크 등의 자원 관리

  • 리눅스 시스템의 경우 디스크 사용량을 사용자 및 그룹별로 설정하기 위해서는 quota를 사용하며 전체적인 메일 용량 크기 제한은 메일 스풀 디렉터리를 별도의 파티션을 주고 그 파티션에 쿼터 설정
  • du : 디스크의 파일 사용량을 재귀적으로 보여줌. 특별히 지정하지 않으면 현재 디렉터리에 대해서 동작

네트워크 관리

네트워크 연결 관리를 위한 명령어

ifconfig : 통신 디바이스(NIC) 상태 확인

route : 라우팅 테이블 확인

netstat -an : 현재 활성화된 네트워크 연결 정보 확인

who, w : 로그인되어 있는 사용자 확인

snoop : 네트워크를 흐르는 패킷(packet)d을 캡처하여 분석

nslookup : 도메인 이름 시스템(DNS) 관련 정보 확인

hostname : 현 시스템에 할당된 호스트(host) 이름 확인

ping : 특정 IP 주소나 도메인 연결 상태 확인

traceroute : 특정 목적지로 가는 경로 확인

inetd : 네트워크 슈퍼데몬인 inetd 실행

네트워크 상태 관리를 위한 명령어

top : 시스템 자원(CPU, memory 등)의 사용현황 확인

ps -elf(-aux) : 현 시스템에서 수행 중인 프로그램과 데몬 상태 확인

fuser : 지정된 파일이나 포트를 사용하고 있는 프로세스 ID를 출력

tty : 시스템에 연결되어 사용하고 있는 터미널 이름 확인