리눅스가 윈도우보다 안전하다는 게 진짜야?
리눅스가 윈도우보다 보안에 강하다는 말의 근거와 한계를 분석합니다. 데스크탑 사용자부터 서버 운영자까지, 위험 수준별 보안 설정과 현실적인 판단 기준을 정리합니다.
윈도우 쓰다가 개인정보 유출 뉴스를 보고 리눅스를 알아보기 시작했다. 아니면 윈도우가 내 데이터를 마이크로소프트에 보낸다는 글 읽고 갈아탈까 고민 중이거나. 근데 막상 찾아보면 “리눅스 쓰면 안전하다”는 말과 “그렇지 않다”는 말이 섞여 있어서 뭘 믿어야 할지 모르겠다.
“리눅스 쓰면 해킹 안 당해?”
개발자 친구한테, 혹은 커뮤니티에서 한 번쯤은 들어봤을 거다. 윈도우는 바이러스 천국이고 리눅스는 철벽이라는 식의 이야기. 반은 맞고 반은 틀렸다.
결론부터 말하면 — 리눅스는 구조적으로 윈도우보다 안전한 부분이 있지만, 설정 안 하면 똑같이 뚫린다.
리눅스가 윈도우보다 안전하다는 근거는 뭔가
세 가지다.
첫째, 권한 분리. 리눅스는 일반 사용자 계정과 관리자(root) 계정이 철저하게 분리되어 있다. 악성코드가 실행되더라도 일반 사용자 권한으로는 시스템 핵심 파일을 건드리지 못한다. 윈도우도 UAC(사용자 계정 컨트롤)가 있지만, “예” 한 번 누르면 통과되는 구조라 실질적인 방어력이 약하다.
둘째, 타깃 효율. 데스크탑 OS 점유율에서 리눅스는 약 4~5% 수준이다. 악성코드 제작자 입장에서 70% 이상을 차지하는 윈도우를 노리는 게 훨씬 효율적이다. 이건 리눅스가 “뚫을 수 없어서”가 아니라 “뚫을 가치가 낮아서”다.
셋째, 오픈소스 투명성. 리눅스 커널과 주요 패키지의 소스코드가 전부 공개되어 있다. 백도어를 심으면 전 세계 개발자들이 코드 리뷰에서 발견한다. 실제로 2024년 xz-utils 백도어 사건은 마이크로소프트 개발자 Andres Freund가 SSH 성능 이상을 추적하다 발견했다.
일반인이 리눅스를 쓸 이유가 있나
서버 운영자나 개발자만의 이야기가 아니다. 프라이버시 관점에서 보면 일반 사용자에게도 이유가 있다.
윈도우 10/11은 기본 설정에서 텔레메트리(사용 데이터 수집)를 Microsoft 서버로 보낸다. 어떤 앱을 얼마나 쓰는지, 타이핑 패턴, 음성 데이터까지 수집 항목에 포함된다. 설정에서 줄일 수는 있지만, 최소 수준으로 줄이는 건 Enterprise/Education 에디션에서만 가능하고, 그마저도 완전한 차단은 아니다.
Ubuntu나 Linux Mint 같은 배포판은 이런 텔레메트리가 기본적으로 없다. Ubuntu가 한때 Amazon 검색 통합으로 논란을 겪었지만, 2016년에 기본 비활성화됐고, 2020년에 Amazon 앱 자체가 완전히 제거됐다.
“내가 뭘 하는지 OS가 보고하지 않는다”는 것 자체가 프라이버시에서는 의미가 크다. 물론 OS 레벨 텔레메트리가 없다고 네트워크 추적까지 막아주는 건 아니다. ISP(인터넷 서비스 제공자)는 여전히 접속 도메인을 볼 수 있고, 그건 VPN이나 Tor 영역의 문제다.
SSH 키 설정 — 비밀번호는 잊어라
리눅스를 쓰기 시작하면 가장 먼저 만나는 보안 설정이 SSH(Secure Shell, 원격 접속 프로토콜)다.
비밀번호 인증은 brute-force(무작위 대입 공격)에 취약하다. 공격자가 자동화 도구로 초당 수천 개의 비밀번호를 시도할 수 있다. SSH 키 인증으로 바꾸면 이 공격 자체가 성립하지 않는다.
# SSH 키 생성 (Ed25519 — 현재 가장 권장되는 알고리즘)
ssh-keygen -t ed25519
# 서버에 공개키 복사
ssh-copy-id user@server
키를 복사한 뒤, 서버의 SSH 설정에서 비밀번호 인증을 꺼야 한다.
# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
PermitRootLogin no는 root 계정으로의 직접 SSH 접속을 차단한다. 일반 계정으로 접속한 뒤 sudo를 쓰는 게 정석이다.
포트 번호를 기본값 22에서 바꾸는 팁이 돌아다니는데, 보안 효과는 미미하다. 자동화된 스캐너는 전체 포트를 훑기 때문이다. 키 인증 + root 차단이 본질이고, 포트 변경은 로그를 조금 깨끗하게 유지하는 정도의 효과다.
방화벽(UFW) — 문 잠그기
UFW(Uncomplicated Firewall)는 Ubuntu/Debian 계열에서 쓰는 방화벽 도구다. iptables의 복잡한 문법을 간단한 명령으로 감싼 거다.
# UFW 활성화
sudo ufw enable
# SSH 허용
sudo ufw allow 22/tcp
# 웹 서버 운영 시
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 상태 확인
sudo ufw status
원칙은 단순하다. 기본값은 전부 차단, 필요한 포트만 연다. ufw enable을 하면 기본 정책이 “들어오는 건 전부 차단, 나가는 건 전부 허용”으로 잡힌다.
한 가지 주의 — SSH로 접속 중인 서버에서 UFW를 켤 때 SSH 포트를 허용하지 않으면 자기 자신이 잠긴다. ufw allow 22/tcp를 먼저 실행하고 ufw enable을 해야 한다.
자동 보안 업데이트 — 까먹는 게 가장 큰 취약점
보안 패치가 나왔는데 적용을 안 하면 리눅스든 윈도우든 뚫린다. 2017년 WannaCry 랜섬웨어가 전 세계를 강타했을 때, 마이크로소프트는 이미 두 달 전에 패치를 배포한 상태였다. 업데이트를 안 한 시스템이 당한 거다.
Ubuntu/Debian에서 보안 업데이트를 자동화하는 방법이다.
# unattended-upgrades 설치 (Ubuntu는 기본 포함이지만 확인 차원)
sudo apt install unattended-upgrades
# 활성화
sudo dpkg-reconfigure unattended-upgrades
이걸 켜두면 보안 패치가 나올 때 자동으로 다운로드·설치된다. 커널 업데이트처럼 재부팅이 필요한 건 별도 설정이 필요하지만, 대부분의 보안 패치는 재부팅 없이 적용된다.
위험도 분류 — 나한테 해당되는 건 뭔가
모든 보안 조치가 모든 사람에게 필요한 건 아니다.
🟢 Ubuntu/Mint 데스크탑 사용자 — “이것만 챙겨라”
자동 업데이트 켜두고, 소프트웨어는 공식 저장소(apt)나 Flatpak/Snap에서 설치. 이 정도면 일반 사용에서 보안 위협은 현실적으로 극히 낮다. 방화벽은 데스크탑에서 열린 포트 자체가 거의 없기 때문에 급하진 않다.
🟡 서버 운영 (개인 프로젝트, 소규모 서비스) — “여기까지 하면 충분하다”
SSH 키 인증 전환, 비밀번호 인증 비활성화, root 로그인 차단, UFW 활성화, 자동 보안 업데이트. 여기에 Fail2Ban(반복 로그인 시도를 자동 차단하는 도구)을 추가하면 자동화된 공격 대부분을 걸러낸다.
sudo apt install fail2ban
sudo systemctl enable fail2ban
🔴 퍼블릭 서버 (상용 서비스, 외부 트래픽 직접 수용) — “여기까지 해야 한다”
위의 전부에 더해서 — SELinux/AppArmor 프로파일 점검, 불필요한 서비스 전부 비활성화, 보안 감사 로그 구성, 정기적인 취약점 스캔(Lynis 등), 네트워크 세그멘테이션. 이 수준은 전담 인력이나 체계적인 운영 절차가 필요하다.
일반인이 개인 블로그 서버를 돌리는 정도라면 🟡까지면 된다. 🔴는 돈 벌고 있는 서비스를 운영할 때의 이야기다.
리눅스도 설정 안 하면 뚫린다
리눅스가 구조적으로 안전한 부분이 있는 건 사실이다. 하지만 그건 “설정을 제대로 했을 때”의 이야기다.
SSH 비밀번호 인증을 열어두면 brute-force로 뚫리고, 방화벽 없이 서비스를 외부에 노출하면 스캐너에 걸리고, 업데이트를 안 하면 알려진 취약점 그대로 노출된다. “리눅스니까 안전하다”는 말을 믿고 아무것도 안 하면, 윈도우 기본 설정보다 못한 상태가 된다.
반대로, 위에서 다룬 기본 설정만 챙기면 대부분의 자동화된 공격은 걸러진다. 보안은 OS 선택이 아니라 설정의 문제다.
그래서 뭘 해야 하나
프라이버시가 신경 쓰인다면 — 리눅스 데스크탑은 윈도우 대비 OS 레벨 텔레메트리가 없다는 점에서 의미가 있다. Ubuntu나 Linux Mint는 설치 난이도가 윈도우와 크게 다르지 않다.
서버를 돌리고 있다면 — SSH 키 인증, UFW 활성화, 자동 업데이트. 이 세 가지를 지금 당장 확인하는 게 이 글을 읽고 할 수 있는 가장 구체적인 행동이다.
자주 묻는 질문
- 리눅스는 바이러스에 안 걸리나요?
- 안 걸리는 게 아니라, 걸릴 확률이 낮습니다. 데스크탑 점유율이 약 4~5% 수준이라 공격자 입장에서 타깃 효율이 떨어지고, 권한 구조상 시스템 전체를 장악하기 어렵습니다. 다만 서버 환경에서는 리눅스를 노린 악성코드가 활발하게 유통됩니다.
- 리눅스를 쓰면 VPN 없이도 프라이버시가 보장되나요?
- 아닙니다. 리눅스는 OS 차원의 텔레메트리가 없지만, ISP는 여전히 접속 도메인을 볼 수 있고, 브라우저 핑거프린팅도 OS와 무관합니다. 네트워크 수준 프라이버시는 VPN이나 Tor가 필요합니다.
- 우분투 데스크탑도 방화벽 설정을 해야 하나요?
- 기본 상태에서 열린 포트가 거의 없기 때문에 일반 사용에서는 급하지 않습니다. 다만 SSH 서버를 켰거나 외부에서 접속받는 서비스가 있다면 UFW를 활성화하고 허용 포트만 여는 게 맞습니다.
- 리눅스 보안 업데이트는 자동으로 되나요?
- Ubuntu/Debian 계열은 unattended-upgrades 패키지로 보안 패치 자동 적용이 가능합니다. 기본 설치 시 포함되어 있지만, 실제로 활성화되어 있는지는 확인이 필요합니다.