리눅스 보안업데이트를 텔레그램으로 받자

리눅스 보안업데이트를 매일 9시에 텔레그램으로 받을 수 있다.

필자는 지난 2026.10.28~29 시놀로지 랜썸웨어 대란으로 자료를 모두 Lock 되었다. 20년이상 모아둔 개인파일과 아이및 가족 사진이 타격을 입었다.(영화, 음악도 있긴하지만 요즘은 다 볼수 있지만...)

마음을 고쳐먹고 다시 구축하기로 하였다. 아마도 이제는 시놀로지 사용을 안할것 같다. (이번 root 탈취가 너무 어이 없는 방법으로 되어서 방어자체가 이루어지지 않았다는것이다. 서버는 업데이트 하는거 아닌다 라는 안일한 생각때문이기도 하지만 탈취방법이..)


외부로 나가는 걸 막자

  1. 공유기에 UPnP 를 꺼야한다. 대부분의 사용자는 자신의 포트포워딩만 삭제하면 되겠지 하지만, UPnP 도 당연히 끄자.
  2. 포트포워딩도 당연히 삭제
  3. 꼭 외부서비스를 이용해야한다면, vercel or 다른 VPS 서비스를 이용하도록 하자.
  4. 나만의 VPN - Tailscale(전문 사용자라면 Headscale) 를 사용하자.
    - Tailscale를 사용하면 불편한점은 사용하려는 서버, 연결하려는 디바이스(대표: 핸드폰) 양쪽 모두 로그인 되어있어야한다.

홈 서버 Tailscale 연결구조

OS 설치에.. 실패하였다..

이번에 생각한건 CasaOS 를 이용하는 거였다. 열심히 설치하고 세팅을 끝낸뒤에 github 의 내용을 살펴보니. 2년전 프로젝트에서 멈춰버렸다.

1. 개발 현황 및 중단 원인
멈춰버린 코어 업데이트: 메인 GitHub 리포지토리의 정식 릴리스는 2024년 12월(v0.4.15)이 마지막이며, 2025년 4월에 올라온 알파 버전(v0.4.17-alpha1) 이후 코어 시스템 업데이트가 완전히 멈췄습니다. 다만 앱스토어(CasaOS-AppStore)의 도커 앱 목록 업데이트 정도만 간헐적으로 유지되고 있습니다.

ZimaOS로의 리소스 집중: 개발사인 IceWhale이 자사 하드웨어(ZimaCube 등) 및 수익화를 위해 자체 OS인 ZimaOS(Buildroot 기반 독립형 OS, 일부 기능 $29 평생 라이선스 유료화)에 모든 개발 인력을 집중하고 있습니다.

공식 입장과 실제 괴리: IceWhale 측은 공식 디스코드와 안내 페이지를 통해 *"CasaOS는 버려진 것이 아니며, 현재 충분히 안정적(Stable)이라 우선순위가 낮아졌을 뿐"*이라고 밝히고 있습니다. 하지만 GitHub에 쌓이는 버그 이슈와 최신 리눅스/도커 버전 호환성 패치가 방치되고 있어 사용자들은 사실상 지원 종료로 보고 있습니다.

2. 레딧(Reddit) 커뮤니티 최신 여론 및 추천 대안
레딧에서는 CasaOS를 "사실상 방치된 프로젝트(Effectively abandoned)"로 규정하고 다른 플랫폼으로 마이그레이션하는 추세입니다. 다만 CasaOS 자체가 도커 컨테이너들을 관리하는 래퍼(Wrapper) 역할만 하므로, 당장 작동에 문제가 없다면 그대로 쓰되 신규 구축이나 장기 운영 목적이라면 아래 대안들로 넘어가는 분위기입니다.

결국 ZimaOS 를 설치 했어야하는데... 라는 것이었다.

하지만, 이미 CasaOS를 세팅을 끝낸 상황이라 리눅스 위에서 돌아가는 거라서 결국 Docker 를 활용하면 되는것이다.

보안 업데이트를 설정하자.

리눅스 보안 업데이트를 진행하면 casaos와 도커를 건들이는 경우가 발생하면 내부 서비스가 꼬이는 경우가 있다. 따라서 도커버전고정을 한다.

# 1) 도커 핵심 프로그램 3개에 자물쇠 채우기
sudo apt-mark hold docker-ce docker-ce-cli containerd.io
# 2) 자물쇠가 잘 채워졌는지 목록 확인하기
apt-mark showhold복사

🛠️ 만약 도커 버전이 꼬여서 화면이 안 뜰 때 해결법

• 실수로 도커가 최신 버전으로 업데이트되어 포테이너(도커 앱 관리 웹페이지)나 CasaOS에서 앱 목록이 사라졌다면, 최신 도커가 옛날 방식의 대화법(구버전 API)을 거절해서 생긴 문제입니다.

• 이때는 도커를 지울 필요 없이, 도커의 규칙이 적힌 설정 파일(daemon.json)에 "옛날 버전 앱들과도 대화해 줘"라는 규칙 한 줄만 적어주면 됩니다.

• 규칙을 저장한 뒤에 도커를 한 번 껐다 켜주면(재시작) 거짓말처럼 원래대로 화면이 다시 잘 나옵니다.

# 1) 도커 규칙 메모장 열기sudo nano /etc/docker/daemon.json
# 2) 메모장에 아래 내용 붙여넣고 저장하기 (Ctrl+O 누르고 엔터 -> Ctrl+X)

{
  "min-api-version": "1.24"
}

# 3) 도커 다시 시작해서 규칙 적용하기sudo systemctl restart docker복사

텔레그램으로 보안 업데이트 알림 받기

# 1) 작업 지시서(스크립트) 파일 새로 만들기
sudo nano /usr/local/bin/check-sec-updates.sh

# 2) 아래 대본을 붙여넣고 토큰과 ID를 수정한 뒤 저장 (Ctrl+O -> Enter -> Ctrl+X)

#!/bin/bash

BOT_TOKEN="여기에_봇_토큰_입력"
CHAT_ID="여기에_채팅_ID_입력"
HOSTNAME=$(hostname)

# 패키지 목록 최신화
apt-get update -qq

# 업그레이드 가능한 패키지 중 security(보안) 항목만 뽑아내기
SEC_UPDATES=$(apt list --upgradable 2>/dev/null | grep -i "-security")
COUNT=$(echo "$SEC_UPDATES" | sed '/^\s*$/d' | wc -l)

# 보안 업데이트가 있을 때와 없을 때 구분해서 매일 발송
if [ "$COUNT" -gt 0 ]; then
    PKG_LIST=$(echo "$SEC_UPDATES" | cut -d'/' -f1)
    MESSAGE="🛡️ *[${HOSTNAME}] 리눅스 보안 업데이트 알림*%0A%0A새로운 보안 패치가 *${COUNT}개* 있습니다.%0A%0A*대상 패키지:*%0A\`\`\`%0A${PKG_LIST}%0A\`\`\`"
else
    MESSAGE="✅ *[${HOSTNAME}] 보안 점검 완료*%0A오늘 새로운 보안 업데이트가 없습니다."
fi

curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
    -d chat_id="${CHAT_ID}" \
    -d text="${MESSAGE}" \
    -d parse_mode="Markdown" > /dev/null

실행 권한 주기, 테스트 및 자동 알람(Cron) 등록

# 1) 대본 파일이 작동할 수 있게 실행 허락해 주기
sudo chmod +x /usr/local/bin/check-sec-updates.sh

# 2) 내 휴대폰으로 테스트 메시지 한 번 쏴보기 (토큰과 ID를 내 것으로 바꿔서 입력)
curl -s -X POST "https://api.telegram.org/bot여기에_봇_토큰_입력/sendMessage" -d chat_id="여기에_채팅_ID_입력" -d text="서버 알림 연결 테스트 완료!"

# 3) 리눅스 알람 시계 설정 창 열기sudo crontab -e

# 4) 맨 아랫줄에 아래 내용을 추가하고 저장하기 (매일 오전 9시 0분에 실행)
0 9 * * * /usr/local/bin/check-sec-updates.sh

보안 업데이트 알림이 왔을 때 실행할 명령어

# 1단계: 새로 나온 업데이트 목록표 최신으로 받아오기
sudo apt update

# 2단계: 실제 업데이트 설치하기 (질문이 나오면 Y 또는 엔터 키 입력)
sudo apt upgrade

# 3단계: 업데이트 후 남은 쓸모없는 찌꺼기 파일 청소하기
sudo apt autoremove -y


⚠️ 내 컴퓨터의 네트워크 드라이브(공유 폴더) 상시 연결 주의

• 외부 해커는 막았더라도, 평소 내가 쓰는 윈도우 PC가 랜섬웨어(파일을 암호로 잠그고 돈을 요구하는 바이러스)에 걸리면 PC에 연결된 서버 폴더까지 타고 넘어가 감염될 수 있습니다.

• 따라서 서버의 공유 폴더(SMB/네트워크 드라이브)를 내 PC에 항상 연결해 두지 말고, 파일을 옮길 때만 잠깐 연결해서 쓰거나 읽기 전용(수정은 못 하고 보기만 하는 권한)으로 연결해 두세요.

• 정말 잃어버리면 안 되는 소중한 사진이나 문서는 서버에만 두지 말고, 평소엔 선을 뽑아두는 외장하드에 한 번 더 복사(백업)해 두는 것이 가장 완벽한 보안입니다.

▲