Journey to Security 154

[서버 보안] 리눅스 SSH 백도어 점검 및 삭제하기

리눅스 서버 침해 사고가 발생했을 때, 공격자가 가장 먼저 수행하는 작업 중 하나는 지속성 확보이다.관리자가 비밀번호를 바꿔도 언제든 재접속할 수 있도록 authorized_keys 파일에 자신의 공개키를 슬쩍 끼워넣는 방식이다.보안 관리자는 root 권한을 이용해 서버 내 모든 사용자의 SSH 키 상태를 주기적으로 모니터링하고, 인가되지 않은 키를 식별하여 제거해야 한다.https://m.boannews.com/html/detail.html?idx=126315 리눅스에 백도어 계정 설치하는 사이버 공격 발견... 다양한 악성코드 추가 설치리눅스 SSH 허니팟을 활용해 불특정 다수의 리눅스 시스템을 대상으로 한 공격이 발견됐다. 공격자는 기본 설정이나 단순한 형태의 비밀번호를 사용하는 등 부적절하게 관리..

[서버 보안] Brute Force 공격과 무단 공개키 삽입(SSH 백도어)

서버 보안에서 가장 빈번하게 발생하는 위협 중 하나는 SSH를 통한 무차별 대입 공격(Brute Force Attack)이다.칼리 리눅스의 Hydra를 이용한 실습을 통해 공격자가 무차별 대입 공격으로 서버에 침입하는 루트를 확인하고, 이와 같은 공격을 방지하고 또 대응하기 위한 방법에 대해 알아보자.1. Brute Force Attack이란?Brute Force Attack(무차별 대입 공격)이란 공격자가 사용자 ID와 비밀번호의 가능한 모든 조합을 반복적으로 대입하여 올바른 계정 정보를 찾아내는 공격 방식이다.단순한 방법이지만 비밀번호가 짧거나 유추하기 쉬운 경우 성공 확률이 매우 높은 강력한 공격이다.서버 관리자가 초기 설정 시 단순한 비밀번호를 사용하거나, 습관적으로 동일한 비밀번호를 여러 계정에..

리눅스 파티션 분할로 서버 보안과 안정성 챙기기 (+Rocky Linux 9 파티션 분할 설치 방법)

리눅스 서버를 구축할 때 가장 먼저 디스크 공간을 어떻게 나눌 것인지 고민해야 한다.파티션 분할은 단순히 용량을 배분하는 문제를 넘어 시스템의 운영 안정성, 보안, 백업 효율성, 그리고 장애 대응 능력과 직결된다. 실무 관점에서 파티션 분할의 필요성을 살펴보고, 로키 리눅스 9(Rocky Linux 9)를 이용해 실제로 파티션을 나누어 설치해보자. 1. 왜 리눅스에서 파티션을 분할할까?단일 파티션(/ 하나에 모든 디렉터리를 포함)으로 구성된 시스템은 관리가 편해 보이지만, 보안 사고나 시스템 장애 발생 시 치명적인 약점이 된다.장애 확산 방지 및 보안 강화특정 서비스에서 로그 파일이 폭증하거나 사용자가 대용량 파일을 업로드하여 디스크가 꽉 차는 상황이 발생할 수 있다.이때 파티션이 분리되어 있지 않으면 ..

[Cisco IOS] 동적 라우팅 (3) OSPF 프로토콜과 Router ID 결정 우선순위

1. OSPF(Open Shortest Path First) 프로토콜이란?OSPF는 대표적인 링크 상태(Link-State) 라우팅 프로토콜로, 기업용 네트워크 환경에서 가장 널리 사용된다.각 라우터가 전체 네트워크의 지도를 그리듯 토폴로지 정보를 교환하고, SPF(Shortest Path First) 알고리즘을 통해 최적의 경로를 계산한다.동적 라우팅 프로토콜 비교 (RIP vs EIGRP vs OSPF)구분RIPEIGRPOSPF알고리즘Distance Vector (Bellman-Ford)Advanced Distance Vector (DUAL)Link-State (Dijkstra)메트릭(Metric)Hop Count (최대 15)대역폭, 지연시간, 신뢰도 등Cost (10^8 / 대역폭)수렴 속도느림매..

[Cisco IOS] 동적 라우팅 (2) EIGRP 프로토콜과 재분배(Redistribution)

1. EIGRP(Enhanced Interior Gateway Routing Protocol)란?EIGRP는 Cisco에서 개발한 Cisco 전용 하이브리드 라우팅 프로토콜이다.거리 벡터(Distance Vector) 알고리즘의 설정 용이성과 링크 상태(Link State) 알고리즘의 빠른 수렴 속도라는 장점을 모두 갖추고 있다.주요 특징DUAL(Diffusing Update Algorithm): 최적 경로(Successor)와 후속 경로(Feasible Successor)를 계산하여 링크 장애 시 즉시 우회 경로로 전환한다.AS(Autonomous System) 단위 운영: 동일한 AS 번호를 가진 라우터들끼리만 정보를 교환한다.부분 업데이트(Bounded Incremental Updates): 변화가..

[Cisco IOS]동적 라우팅 (1) RIP 프로토콜과 Passive-interface

1. RIP(Routing Information Protocol)이란?RIP는 가장 오래된 거리 벡터(Distance Vector) 라우팅 프로토콜이다.복잡한 계산보다는 '거리'와 '방향'만을 따지는 단순한 방식이 특징이다.RIP의 주요 특징경로 결정 기준 (Metric): 홉 카운트(Hop Count)를 사용한다. 거쳐가는 라우터의 개수만 센다. (최대 15개, 16개는 도달 불능)업데이트 주기: 30초마다 자신의 라우팅 테이블 전체를 인접 라우터에게 전송한다.전송 방식: * RIPv1: 브로드캐스트(255.255.255.255)RIPv2: 멀티캐스트(224.0.0.9)RIPv2 특징: 클래스리스(Classless) 지원, 멀티캐스트(224.0.0.9) 업데이트를 통해 효율성 향상 2. RIP 설정1..

[Cisco IOS]NAT/PAT(Port Address Translation)

1. NAT와 NAT-PAT🟢 NAT (Network Address Translation)NAT(Network Address Translation)는 사설 IP를 공인 IP로 변환하는 기술이다.주로 내부망에서 사용하는 사설 IP(Private IP) 주소를 인터넷 통신이 가능한 공인 IP(Public IP) 주소로 변환할 때 사용한다.이를 통해 내부 IP 주소를 외부에 숨김으로써 보안을 강화하고, 부족한 IPv4 주소 자원을 아낄 수 있다.🟢 NAT-PAT (Port Address Translation)PAT는 'Overload'라고도 불리는 기술로, 하나의 공인 IP에 여러 개의 사설 IP를 매핑하는 방식이다.여러 대의 PC가 하나의 공인 IP를 공유하되, 서로 다른 포트(Port) 번호를 사용하여..

passwd --stdin 옵션을 활용한 비밀번호 변경 자동화

리눅스 시스템 관리 과정에서 대량의 사용자 계정을 생성하거나 비밀번호를 일괄적으로 변경해야 할 때가 있다.이때 passwd 명령어의 --stdin 옵션을 활용하면 인터렉티브한 입력 과정 없이 파이프와 스크립트만으로 자동화 처리가 가능하다. 1. --stdin 옵션 이해하기일반적으로 passwd 명령어를 실행하면 비밀번호를 두 번 입력하는 대화형(Interactive) 과정을 거친다.하지만 --stdin 옵션을 사용하면 표준 입력(Standard Input)을 통해 비밀번호를 전달받을 수 있다.주로 파이프(|)와 함께 사용하며, 셸 스크립트 내에서 자동화 처리를 할 때 필수적인 옵션이다. 2. 기본적인 사용법먼저 --stdin 옵션을 사용하여 수동으로 비밀번호를 입력하는 방식이다.명령어를 실행하면 비밀번호..

리눅스 명령어는 어떤 파일을 참조할까? strace로 파일 접근 추적하기

리눅스 시스템을 관리하다 보면 특정 명령어가 어떤 설정 파일을 읽는지, 혹은 어떤 로그 파일을 참조하는지 궁금할 때가 있다.소스 코드를 뒤져보지 않고도 이를 알아낼 수 있는 방법이 바로 strace를 활용하는 것이다. 1. 왜 strace를 사용하는가?리눅스의 모든 프로세스는 파일을 열거나 네트워크를 사용하는 등 커널의 도움이 필요할 때 시스템 콜(System Call)을 호출한다.strace는 이 신호를 가로채서 화면에 뿌려주는 도구다.특히 "프로그램이 실행될 때 어떤 파일을 읽으려다 실패했는가?"를 찾는 트러블슈팅에 유용하다. 2. 2> /dev/stdoutstrace를 단순히 실행하면 분석 내용이 너무 길어서 원하는 정보를 찾기 힘들다.이때 다음과 같은 조합을 사용한다.strace [명령어] 2>..

압축/아카이브 관련 명령어

파일 압축은 gzip, bzip2, xz, zip이 있다.그 중에서도 gzip, bzip2, xz를 많이 사용한다.1. gzip1️⃣ gzip 파일1 파일2 ... : 파일을 압축한다. 압축을 하면 원본 파일을 압축하고 원본파일을 삭제한다.gzip으로 압축하면 파일명.gz으로 생성된다.압축을 해제하려면 -d 옵션을 사용한다.gzip --help로 사용법 확인. /usr/bin/ls와 /usr/bin/mv 파일을 현재 디렉터리로 복사한다.[linuxadmin@www ~]$ cp /usr/bin/ls .[linuxadmin@www ~]$ cp /usr/bin/mv .또는 아래와 같은 방법으로 한 번에 복사할 수 있다.[linuxadmin@www ~]$ cp /usr/bin/{ls,mv} . [linuxadm..