본문 바로가기

반응형

전체 글

(63)
제로 트러스트 아키텍처 컨테이너, 쿠버네티스 보안은 어떻게? On-premise 서버나 클라우드의 VM의 경우 Vault 라 불리는 제로 트러스트 아키텍처 솔루션에 의해 접근제어 권한 제어가 가능합니다. 하지만 도커의 컨테이너 또는 쿠버네티스 환경에서는 어떻게 접근제어를 적용할 수 있을까 라는 물음에서 시도했던 정책 한 가지 소개하려 합니다. 사실 컨테이너의 경우 IaC 로서 장애가 났거나 다른 문제점이 있을 경우 기존의 것을 내리고 새로운 컨테이너를 run 시키기 때문에 컨테이너에 어떻게 접근하고 어떻게 접근을 제어하지를 고려할 필요가 없습니다. 하지만 일부 희박하게 컨테이너 내부에 들어가서 필요한 작업이 있을수도 있다라는 생각에 컨테이너 접근제어 방안에 대해 생각하게 되었습니다. 사실 위의 아키텍처처럼 Baston(kubectl) 또는 도커의 호스트 OS 에서..
제로 트러스트 아키텍처 EC2 인스턴스 pam 키 없이 접근권한 부여 기업들은 다양한 서비스의 개발을 외주인력에게 의뢰하는 경우가 있습니다. 이 경우 필요한 자산을 클라우드로 제공하면서 외주인력들에게 클라우드의 pam 키와 ec2-user 접근 권한을 주지 않으면서 필요한 자산에만 접근권한을 부여하는 정책을 보여드리고자 합니다. 주 자산은 EC2-instance로 생성되는 리눅스 OS이며 외주인력은 프로젝트에 필요한 자원을 클라이언트 사 클라우드 담당자에게 요청하게 됩니다. 이때 생성되는 자원을 외주인력에게 접근 권한을 부여하지만 pam 키는 주지 않고자 합니다. 예를 들어 외주인력 10명이 있고 이들은 아마존 리눅스2 10대를 요청하였습니다. 프로젝트명은 A입니다. 클라이언트 사는 외주인력용 AD 계정을 생성해 이 계정을 통해 요청된 자원에 접근을 허용하고자 합니다. 프..
제로 트러스트 아키텍처 Cloud IAM 기반 태그별 권한 할당 클라우드에서 IAM 권한을 세분화 해 클라우드 내 A 팀에서 생성한 자원은 A 팀에서만 접근/관리가 가능하고 B팀에서 생성한 자원은 B팀만 접근/관리가 가능하도록 C팀에서 생성한 자원은 C팀만이 접근/관리가 가능한 클라우드 보안 정책을 소개하고자 합니다. 위의 그림의 경우 MSA 을 운영한다는 가정하에 IT 인력이 Devops 에 적합하도록 배치되어 있습니다. A 팀은 A 서비스의 모든 것을 관리/운영/개발 하며 B팀은 B 서비스의 모든 것을 관리/운영/개발 하게 되어있습니다. 마찬가지로 클라우드 내 자원의 생성/삭제 역시 각 팀의 팀장 또는 infra 담당이 관리하며 이렇게 생성된 자원은 오직 각팀의 구성원만이 접근이 가능합니다. 우선 클라우드 계정과 제로 트러스트 솔루션을 이용해 AD와의 연동 과정을..
제로 트러스트 아키텍처 On-premise 리눅스 서버 2 이전에 제로 트러스트 아키텍처 On-premise 리눅스를 대상으로 하나의 무난한 정책을 소개한 적 있습니다. 그런데 실제로는 수많은 서버, 수많은 사용자를 운영하기 위해서는 다영한 솔루션과의 연계가 필요합니다. 이 글에서는 다른 솔루션과 연계한 운영측면에서의 내용을 다루겠습니다. 우선 사용자 관리 측면에서 보겠습니다. AD의 운영자 또는 인사관리직원이 적절하게 인력을 외주, 개발, 운영 그룹에 직접 포함시킬 수도 있지만 enterprise 급 회사라고 가정한다면 일일히 관리한다는 것은 쉽지 않은 일입니다. 게다가 신규입사, 퇴사등, 일시적인 프로젝트 인력에 대한 관리등 해야 할 일들이 너무 많습니다. 각 계정들의 관리 및 변경 내역을 기록으로 남기기 위해서 IAM 솔루션과의 연계가 필요합니다. 이를 통..
제로 트러스트 아키텍처 On-premise 리눅스 서버 1 아무것도 믿지 말라라는 컨셉에서 시작한 ZTA(Zero Trust Archictecture) 라는게 모든 권한을 빼고 JIT(Just In Time) 필요할때만 주자 그리고 모든것을 감시하자라는 의미입니다. 그럼 On-premise 리눅스 서버를 대상으로 제로 트러스트 아키텍처 정책을 하나 소개하고자 합니다. 아키텍처에 대해 설명하자면 대상 서버들은 Vault 라는 접근제어,권한제어 솔루션을 통해서만 접근이 가능합니다. 모든 리눅스 서버의 inbound ssh port 는 Vault 가 됩니다. 이를 통해 대상 서버로 접근가능한 경로는 오직 하나뿐이게 됩니다. Vault에 로그인하기 위해서 AD 을 연동하게 됩니다. AD의 인사정보를 연동한 후 크게 3개의 그룹(외주,개발,운영) 내 속한 계정은 Vaul..
DNS 서버 master-slave 설정 리눅스(Centos) dns 서버를 구축한 뒤 master-slave 서버를 구축해 이중화해보겠습니다. slave 서버는 master 서버로부터 생성된 dns 설정을 미러링 하는 백업 서버의 역할을 합니다. vi /etc/named.rfc1912.zones 이전에 구축해 두었던 dns 서버에서 문서 편집기로 위 파일을 열겠습니다. allow-update { slave 서버의 ip 주소; }; allow-transfer { slave 서버의 ip 주소; }; also-notify { slave 서버의 ip 주소; } slave 서버의 ip 주소를 { } 안에 추가하겠습니다. 46번 줄 이후에 3가지 타입의 방식으로 slave 호스트에 dns 설정을 제공 할수 있습니다. 저의 slave 서버의 ip 주소는 10.10.20.238..
DNS 서버 구축 리눅스(Centos) 네이버나 구글에 접속할 때 naver.com 또는 google.com을 입력창에 쳐서 접속하지 210.89.160.88 또는 172.217.26.142를 통해 접속하지 않습니다. 휴대폰에 친구들의 이름 - 번호를 저장해 주소록에서 이름을 통해 전화를 걸듯 일일이 친구의 번호를 외우지 않습니다. 하지만 친구- 번호를 지정하지 않고는 전화를 걸 수 없습니다. 마찬가지로 인터넷 창은 dns 서버 없이 naver.com이나 google.com를 인식할 수 없습니다. 이 dns 서버의 역할은 휴대폰 주소록처럼 친구 - 010-xxxx-xxxx처럼 google.com - 172.217.26.142, naver.com - 210.89.160.88로 지정해 우리가 주소창에 ip 주소가 아닌 naver, google를 ..
리눅스(Centos) 아파치 서버 구축 및 설정 리눅스 Centos에서 아파치 서버를 설치하고 설정해 보려 합니다. yum install httpd -y 아파치 웹서버 패키지를 설치하겠습니다. Complete! 가 나온다면 바르게 설치된 것입니다. rpm -qa httpd 를 통해 아파치 서버가 설치되어 있는지 확인해 보겠습니다. systemctl status httpd 아파치 서버의 상태를 확인해보겠습니다. 현재 inactive 되어 있습니다. 꺼져있다는 말이죠. systemctl start httpd systemctl status httpd 를 통해 웹서버를 액티브하고 상태를 보겠습니다. active 가 되어 있는 것을 알 수 있습니다. 즉 웹서버가 작동하고 있습니다. ip addr 를 통해 현재 이 웹서버의 ip 주소가 10.10.20.160 인..

반응형