Ubuntu 24.04에서 auditd로 파일 변경과 명령 실행 감사하기
서버에서 /etc/passwd가 언제 바뀌었는지는 파일 mtime으로 알 수 있지만, 누가 어떤 명령으로 바꿨는지는 알 수 없다. journald에는 sudo를 거친 명령만 남고, 공격자가 이미 root 셸을 얻었다면 그마저도 남지 않는다. 리눅스…
Ubuntu(우분투) 관련 정보 제공
서버에서 /etc/passwd가 언제 바뀌었는지는 파일 mtime으로 알 수 있지만, 누가 어떤 명령으로 바꿨는지는 알 수 없다. journald에는 sudo를 거친 명령만 남고, 공격자가 이미 root 셸을 얻었다면 그마저도 남지 않는다. 리눅스…
80번 포트를 열어야 한다는 이유 하나로 데몬 전체를 root로 띄우거나, 바이너리에 setuid root를 붙이는 경우가 흔하다. 문제는 그 순간 프로세스가 얻는 것이 "포트 바인딩 권한"이 아니라 커널이 정의한 41개 권한…
USB 디스크를 두 개 꽂으면 /dev/sdb와 /dev/sdc가 부팅마다 뒤바뀐다. 특정 시리얼 장치에만 권한을 열어주고 싶은데 chmod는 재부팅하면 원래대로 돌아간다. 둘 다 udev 규칙으로 푸는 문제다. udev는 커널이 올린 uevent를 받아…
Ubuntu Server는 설치 직후 CLI만 있는 상태다. 평소에는 문제가 없지만 GUI 전용 관리 도구를 써야 하거나 서버에 연결된 모니터로 직접 작업할 일이 생기면 데스크톱 환경(desktop environment)을 얹어야 한다. 문제는 데스크톱…
Ubuntu에서 방화벽을 만질 일이 생기면 대개 ufw allow 22 한 줄로 끝난다. 그런데 포트 하나를 조건부로 열거나, ICMP 유입량을 제한하거나, 허용 포트 목록을 서비스 재시작 없이 갱신하려고 하면 ufw의 추상화로는…
LXC(Linux Containers)는 리눅스 커널의 컨트롤 그룹(cgroup)과 네임스페이스만으로 격리된 실행 환경을 만드는 컨테이너 기술로, Docker가 내부적으로 쓰던 기반 기술이기도 하다. Docker처럼 이미지 레이어나 오케스트레이션 기능은 없지만, 그만큼 가볍고 VM에 가까운 방식으로…
커널 보안 패치가 나와도 프로덕션 서버는 재부팅 창을 잡기가 쉽지 않다. 클러스터 전체를 순차적으로 내렸다 올리는 동안 서비스 영향을 감수해야 하고, 그 사이 취약점은 그대로 열려 있다. Canonical Livepatch는 실행…
처음 터미널 창을 마주하면 깜빡이는 커서 앞에서 뭘 입력해야 할지부터 막막하다. 온라인 가이드마다 "터미널을 열고 이 명령을 입력하세요"라고 나오는데, 정작 경로가 뭔지, 파이프(|)가 뭔지, sudo를 왜 조심해야 하는지는 설명 없이…
Ubuntu 서버나 데스크톱을 관리하다 보면 자주 쓰는 명령어인데도 정확한 옵션이 헷갈려서 매번 man 페이지나 검색을 반복하게 되는 경우가 많다. Canonical은 시스템, 파일, 패키지, 사용자, 네트워크, LXD, Ubuntu Pro까지 자주 쓰는…
서버는 GUI 없이 최소한의 리소스로 안정적으로 돌아가야 하는데, Ubuntu Server 설치 프로그램(subiquity)은 텍스트 기반(TUI)으로 동작해 Desktop 설치보다 화면 구성이 단순하면서도 네트워크·스토리지·SSH 설정 같은 서버 운영에 필요한 옵션을 설치 단계에서 함께…