반응형

전체 글 98

리눅스 계정 보안 점검 - UID 0, 빈 패스워드, 안 쓰는 계정 찾기

서버 취약점 점검 결과표를 받으면 계정 관리 항목이 거의 빠지지 않고 들어 있습니다. 퇴사자 계정이 그대로 있다, 테스트 계정에 비밀번호가 없다, root 말고도 UID가 0인 계정이 있다. 하나같이 고치는 데 1분도 안 걸리는 문제인데, 서버가 수십 대가 되면 아무도 들여다보지 않습니다. 그 틈에 침입자가 이름만 그럴듯한 UID 0 계정을 하나 남겨 두면, 계정 목록을 훑어보는 것만으로는 눈치채기 어렵습니다. 결론부터 말하면 이 세 가지는 파일 두 개와 awk 한 줄씩이면 전부 찾을 수 있습니다./etc/passwd와 /etc/shadow에서 볼 칸 (개념)리눅스 계정 정보는 두 파일에 나뉘어 있습니다. /etc/passwd는 누구나 읽을 수 있는 계정 목록이고, /etc/shadow는 root만 읽을..

보안 10:00:47

대칭키 vs 비대칭키 - 왜 둘 중 하나만 쓰지 않을까

암호화 요건 회의에서 자주 나오는 질문이 있습니다. "공개키 암호가 더 안전하다던데, 그냥 RSA로 전부 암호화하면 안 되나요?" 반대로 "AES 하나면 충분한데 인증서는 왜 필요하냐"는 질문도 나옵니다. 둘 다 그럴듯하지만, 실제로 해 보면 RSA는 1MB 파일 하나도 한 번에 못 담고, AES는 키를 상대에게 건네는 순간부터 막힙니다. 그래서 TLS, 이메일 암호화, 파일 암호화 도구는 거의 예외 없이 둘을 섞어 씁니다. 결론부터 말하면 둘은 경쟁 관계가 아니라 서로의 약점을 메우는 짝이고, 그 이유는 OpenSSL 명령 몇 줄이면 숫자로 확인할 수 있습니다.키 하나 vs 키 한 쌍, 무엇이 다른가 (개념)대칭키는 잠그는 열쇠와 여는 열쇠가 같습니다. 집 열쇠를 복사해 가족에게 나눠 주는 방식이에요...

보안 2026.10.06

암호키 생명주기 - 생성·보관·교체·폐기를 OpenSSL로 따라가기

보안 점검에서 흔히 지적되는 사례가 있습니다. 데이터는 AES-256으로 잘 암호화해 놓고, 정작 키는 설정 파일에 평문으로 적어 둔 경우입니다. 암호문과 키가 같은 서버, 같은 백업에 있다면 자물쇠와 열쇠를 한 상자에 담아 둔 셈이에요. 암호화의 성패는 알고리즘이 아니라 키를 언제 만들고, 어디에 두고, 언제 버릴지에서 갈립니다. 키 한 벌이 태어나서 파기될 때까지를 OpenSSL로 직접 따라가 보면, 키가 새는 지점은 생각보다 뻔한 곳에 있습니다.키도 태어나고 은퇴한다, NIST의 키 상태 (개념)NIST SP 800-57 Part 1 Rev. 5는 키가 거치는 상태를 여섯 가지로 나눕니다.상태의미Pre-activation생성됐지만 아직 사용 승인 전Active암호화와 복호화 모두 가능Suspende..

보안 2026.10.05

OpenSSL 인증서 명령 모음 - 키·CSR·인증서 확인과 변환

인증서 교체 작업을 맡으면 보통 압축 파일 하나를 받습니다. 열어 보면 .key, .csr, .crt, .pem, .pfx가 섞여 있고, 어떤 건 텍스트인데 어떤 건 열면 깨진 글자만 나옵니다. 여기서 파일을 잘못 고르면 서버가 안 뜨거나, 떠도 일부 클라이언트에서만 "신뢰할 수 없는 인증서" 경고가 납니다. 인증서 장애는 대부분 기술이 어려워서가 아니라 파일이 뭔지 확인하지 않고 넣어서 생깁니다. 그 확인을 전부 OpenSSL 명령 몇 줄로 끝낼 수 있다면, 교체 작업이 훨씬 덜 무섭지 않을까요?인증서 파일들의 관계 (개념)인증서 발급은 네 가지 재료로 이뤄집니다.파일정체외부에 줘도 되나개인키 (.key)서버만 갖는 비밀 값절대 안 됨CSR (.csr)공개키 + 도메인 정보, 개인키로 서명한 발급 신청..

보안 2026.10.02

리눅스 인증 로그 읽기 - auth.log로 무차별 대입 흔적 찾기

공인 IP로 SSH 포트를 열어 둔 서버에 들어가 인증 로그를 열어 보면, 처음 보는 계정 이름으로 로그인 실패가 수백 줄씩 쌓여 있는 경우가 흔합니다. admin, test, oracle 같은 이름들이죠. 대부분은 인터넷 전체를 훑는 자동화 스캐너가 남긴 흔적이라 그냥 넘기기 쉽습니다. 문제는 그 수백 줄 사이에 진짜로 성공한 한 줄이 섞여 있을 때입니다. 그 한 줄을 골라내는 눈이 있는지가 서버 담당자와 보안담당자를 가르는 차이예요. 로그 한 줄 한 줄이 무슨 뜻인지부터 시작해서, 공격 패턴을 집계하고 자동으로 막는 데까지 가 보겠습니다.인증 로그는 어디에, 어떻게 쌓이나 (개념)리눅스에서 SSH 로그인, sudo, su, 계정 생성 같은 인증 관련 이벤트는 syslog의 auth·authpriv 분..

보안 2026.10.01

올드하다는 말을 듣고 일기 앱을 다 갈아엎었습니다 - 하루카드

앱을 쓰던 분에게 이런 말을 들었습니다. "전통은 좋은데 좀 올드해요. 고상한 것보다 예쁜 게 좋은데." 듣고 나서 제 폰으로 앱을 열어 봤습니다. 화면 위쪽에 질문 카드가 하나 있고, 그 아래로는 아무것도 없었습니다. 절반이 빈 종이였어요.만들 때는 "여백이 있어야 차분하다"고 생각했는데, 남의 눈으로 보니 그냥 덜 만든 화면이었습니다. 오늘은 그 말을 듣고 화면을 전부 다시 짠 이야기를 정리해 볼게요.무엇이 문제였나UI를 처음부터 다시 보기로 하고, 화면마다 문제를 적어 봤습니다. 열 개가 나왔는데 그중 셋이 컸습니다.오늘 화면 아래쪽 절반이 비어 있다지난 기록 목록에 날짜와 질문만 있고 내가 쓴 글이 안 보인다표지 그림을 배경에 30%로 깔아 뒀는데, 하필 글자 뒤라서 그림도 글도 손해다세 번째가 ..

정보 2026.09.25

파이썬 독학 Day 2 - 문자열 슬라이싱, f-string, 연산자 완전 정리 (10일 완성 시리즈)

Day 1에서 "input()은 항상 문자열을 돌려준다" 는 얘기로 글을 마쳤다. 그럼 자연스럽게 다음 질문이 나온다. 그 문자열로 뭘 할 수 있는데?오늘이 그 답이다. 문자열을 자르고, 다듬고, 원하는 모양으로 출력하는 법, 그리고 값을 계산하고 비교하는 연산자까지 다룬다.솔직히 말하면 문자열 처리는 "기초 문법"이라고 하기엔 실무 비중이 너무 크다. 로그에서 날짜 잘라내기, 파일명에서 확장자 확인하기, 보고서 숫자에 천 단위 콤마 찍기 — 전부 오늘 배우는 내용으로 해결된다.이 시리즈는 평일 10일, 하루 한 편. 처음 배우는 분은 필수 파트만, 문법을 아는 분은 심화 파트까지. 글 마지막에 실습 문제와 해답 파일(zip)을 첨부한다.그리고 오늘도 함정이 하나 있다. 문자열 메서드는 원본을 바꾸지 않..

파이썬 독학 Day 1 - 변수, 자료형, print와 input 완전 정리 (10일 완성 시리즈)

요즘 업무 자동화 얘기가 나올 때마다 빠지지 않는 언어가 파이썬이다.반복 작업을 하다 보면 "이거 스크립트 한 줄이면 끝나지 않나?" 싶은 순간이 자꾸 온다.그래서 이번에 아예 마음먹고 10일 완성 커리큘럼을 직접 만들어서 정리하기로 했다.이 시리즈는 이렇게 진행한다.평일 10일, 하루 한 편. 처음 배우는 분은 필수 파트만, 문법을 이미 아는 분은 심화 파트까지. 각 글 마지막에 실습 문제와 해답 파일(zip)을 첨부한다.오늘 Day 1은 가장 기초인 실행 방법, 변수, 자료형, 입출력이다. 시시해 보일 수 있는데, 글 후반에 나오는 input() 함정은 입문자가 정말 자주 밟는 지뢰라서 그것 하나만 챙겨가도 오늘 글은 남는 장사다.1. 왜 파이썬인가 — 읽기 쉬운데 실무까지 간다파이썬의 가장 큰 특징..

사고도 공사도 없는데 왜 막힐까 — 한국 도로 정체의 진짜 원인

한국 도로에서 가장 흔한 정체는 사고 정체도 공사 정체도 아니다. 아무 일도 없었는데 갑자기 멈추고, 한참을 기어가다가, 이유 없이 다시 뻥 뚫리는 정체다. 앞에 뭐가 있었나 두리번거려도 아무것도 없다. 원인은 도로에 없다. 방금 그 도로를 지나간 운전자들, 그러니까 우리 자신에게 있다.한국 운전자들은 스스로를 꽤 실력 있다고 여긴다. 실제로 차를 다루는 조작 능력은 나쁘지 않다. 문제는 조작이 아니라 판단이다. 더 정확히 말하면, 도로를 자기 차 한 대의 문제로만 보고 뒤에 이어진 수십 대의 흐름을 전혀 계산에 넣지 않는다는 것이다. 그 결과가 매일 저녁 강변북로와 경부고속도로에 깔린다.1. 합류하자마자 좌향좌 — 목적지도 없는 1차선 사랑진입로에서 본선에 막 합류한 차가 있다. 이 차가 가장 먼저 하..

정보 2026.08.27

SSRF - 서버가 공격자의 심부름꾼이 되는 순간

이미지 URL을 입력하면 서버가 그 이미지를 받아서 썸네일을 만들어 주는 기능, 많이들 만들어 보셨을 겁니다. 저도 예전에 비슷한 걸 만들면서 "URL 형식만 맞으면 되겠지" 하고 넘어간 적이 있어요. 나중에 보안 점검에서 지적을 받았습니다. 그 입력창에 http://169.254.169.254/를 넣으면 클라우드 인스턴스의 자격 증명이 응답으로 돌아온다는 거였죠. 아찔했습니다. 오늘은 이 SSRF가 왜 그렇게 위험한지, 그리고 제대로 막는 방법을 정리해 볼게요.개념 / 원리SSRF는 Server-Side Request Forgery, 서버 측 요청 위조입니다. 이름 그대로 공격자가 서버를 시켜서 자기 대신 요청을 보내게 만드는 공격이에요.핵심은 "누가 요청을 보내느냐"입니다. 공격자는 방화벽 바깥에 있..

보안 2026.08.14