ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Azure IaaS Wordpress (4)보안 추가
    Azure 2022. 11. 16. 00:41

    ---

    https://youtu.be/3pOqpV4cLMg

    지난시간

    가상 네트워크위에

    워드프레스를 설치한 리눅스 가상머신 + Azure database for MySQL : 둘을 연결

     

    ---

    워드프레스에 MS가 권장하는 보안설정 해보기

     

    ---

    MS는 Azure DDoS Protection이란 것을 지원하고 있다

    이걸 활성화 하면 DDoS어택에 대해서 보호받을 수 있어

     

    기본적으로 DDoS Protection Basic이라고 하는 기능이 모든 Azure 데이터센터에 배포가 돼 있다

    Basic이 L3, L4 Layer의 공격을 대부분 차단해준다

    DDoS Protection Standard라고 하는걸 별도로 구매하면 그림처럼 Public IP에 DDoS공격을 방어받을 수 있는 별도의 정책을 MS에서 대신 관리해준다. 정책에 모든 설정들이 구성돼 있다. 우리의 서비스에 맞게 DDoS방어를 MS가 제공해준다.

    리포트도 받아볼 수 있고 실제 public IP에 DDoS관련된 로그를 뽑아볼 수 있다

     

    ---

    Azure Firewall

    외부-내부

    내부-내부

    Azure-데이터센터

    간 통신 사이에 Firewall을 둬서 통신에 대한 접근제어를 구성해주는 것

     

    접근 제어를 구성할 때 IP만 가능한 건 아니고 PQDN, 도메인 기반의 접근 제어를 구성하거나 

    IP, CIDR값을 기준으로 인바운드, 아웃바운드 통신 제어

     

    연결하는 규모를 신경쓰지 않아도 애저내에서 알아서 scalability를 보장해준다. 트래픽이 적든 많든 방어해준다

     

    서포터쪽에 문의해보세요~

     

    ---

    Network Security Group

    Application Security Group

    그림처럼 Network Security Group은 인바운드 트래픽과 아웃바운드 트래픽에 대해 IP CIDR대역 혹은 포트를 기준으로 접근제어를 구성해줄 수 있는 Network access control list를 의미. Network ACL을 여러분이 구성해서 사용할 수 있다

    Network ACL은 Network 인터페이스 기준 혹은 네트워크 기준에서 구성할 수 있다

     

    Application Security Group의 경우는 그림처럼 가상머신들을 Application Security Group이라는 걸로 묶는 것

    VM1, VM2는 AsgWeb이라는데 연결

    VM3은 AsgLogic에 연결

    VM4는 AsgDb라는 Application Security Group에 연결

     

    오른쪽의 테이블은 Internet은 AsgWeb에 연결 가능, AsgWeb은 AsgLogic과 통신 가능, AsgLogic과 AsgDb가 연결 가능

    Internet에서는 Logic과 Db쪽에 연결x

    Web도 Db에 접근x

    이런식의 접근제어를 구성할 수가 있다

     

    ---

    NSG는 기본적으로 인바운드롤과 아웃바운드 롤의 기본적으로 설정돼있는 정책들이 있다

    인바운드는

    가상네트워크 끼리는 모든 포트와 모든 대상에 대해 통신이 가능

    로드밸런서에서 통신이 되는 모든 트래픽은 전부다 허용이 돼 있다

     

    아웃바운드는

    가상네트워크 내부에서는 통신이 가능

    가상네트워크 내부에서 인터넷으로 나가는 통신이 기본적으로 허용 = 우리가 VM을 구성하고 공인 IP가 있든 없든 상관하지 않고 무조건 인터넷 통신이 가능하다

     

    ---

    베스천 서비스

    Azure Portal에서 실제 가상 컴퓨터 환경까지 접근할 수 있는 옵션을 제공해준다

    Azure Portal에서 Bastion이라는 서비스를 통해서 실제로 가상 컴퓨터의 ssh연결이나 rdp터미널 연결을 할 수 있게 제공

     

    Bastion서비스를 구성해주시면 가상 컴퓨터에 공인 IP가 있지 않아도 가상 컴퓨터에 접근하는데는 문제가 없게 동작할 수 있다

     

    ---

    우리가 만든 건 사용자가 공인 IP를 타고 wordpress서버에 접근하는 것

     

    ---

    우리가 만들건 사용자 관리자를 나눠봤음

    사용자는 공인 IP를 타고 wordpress에 접근, ssh로는 접근하지 못하게 만들것

    관리자는 Bastion Server에 연결돼있는 공인 IP를 타고 실제 가상컴퓨터에 접근하는걸 구성해보도록 할 것

     

    ---

    Azure Portal에서 Bastion Service를 배포해야한다. 그 전에 가상 네트워크에 서브넷을 하나 만든다

    Azure Bastion Service는 기본적으로 무조건 AzureBastionSubnet이라는 서브넷이 있어야해. 이 이름이어야 한다

    CIDR은 자동으로 적혀져 있는것 그대로

     

    ---

    리소스 만들기 > 베스천 만들기

    리소스 그룹

    이름

    지역

    가상네트워크

    서브넷(자동으로 선택됨)

    다른 서브넷은 지원하지 않는다. 무조건 이 이름의 서브넷이어야해

    공인IP도 하나 만들자

     

    ---

    태그탭

    환경

    조직

    사용자

     

    ---

    배포

    5~8분

    베스천 서비스가 배포가 되면, ssh를 통해 직접접근하는게 아니고 베스천 서비스를 통해서 접근한다

     

    베스천 리소스 이동해선 별로 할게 없고, 가상컴퓨터로 이동해

    여기 연결에 Bastion을 고를 수 있다

    누르면

    ssh키 업로드하고

    연결하고

    팝업 풀고

    연결

    새로운 창이 뜨며 ssh접근이 된다

     

    동일한 서버인지 확인하려면

    파일도 열어보면

    동일하게 들어가 있어

     

    ---

    이제 시큐리티 그룹 제어하기

    가상머신 > 네트워킹 : 이 가상 컴퓨터의 연결돼있는 시큐리티 그룹을 확인할 수 있다

    80포트는 누가 접근할 줄 모르니까 모두 여는게 맞는데, 

    SSH같은 경우는 노란색 느낌표가 있는걸 보니 위험표시다. 특정 IP만 접근하게 하는게 권장

     

    ---

    SSH를 클릭하면 IP 제어 가능

    근데 한번 거부 해보자

    SSH포트로 접근이 안되게, 

     

    다시 가상머신 > 개요 > 연결 > Bastion > 베스천 사용 > 사용자이름+SSH프라이빗키

    접근이 안된다

    베스천이라는걸로 접근하더라도 클라이언트에 있는 IP는 열어줘야 한다

     

    22번 포트를 안열순 없고 열긴 열어야 하는데 어떻게 여냐면

    소스 : IPAddress

    원본 IP 주소/.. : 현재 내 공인 IP  --ipconfig.co.kr

    /32로

    작업 허용

     

    실제 내 컴퓨터에서 나가는 인터넷 망의 공인 IP만 접근을 허용할 수 있다. 내 컴퓨터에서만 접근이 가능하도록 설정이 돼 있다.

     

    다시 개요 연결 베스천.. 하면 잘 된다

    ssh로 접근할 땐 베스천이든 터미널로 접근하든 상관은 없는데, 베스천 서비스를 사용하면 ssh한 통신을 통해서 접근을 하는게 아니고 웹서비스, Azure Portal에서 접근을 하는 것이기 때문에 HTTPS라는 통신 프로토콜을 사용해서 접근을 할 수 있다.

    두번째로는 베스천 서비스가 서브넷 내에 생성이 돼 있어. 그래서 이 서비스를 통해서 어느 가상 컴퓨터든 네트웍과 통신이 되는곳에 있으면 실제 통신이 가능

     

    ---

    베스천 서비스를 조금 더 확인, 베스천 리소스 페이지 > 세션

    어떤 세션이 연결돼 있는지 확인할 수 있다. 언제 시작됐고 언제 끝났고

    접근에 대한 로그같은것도 남길 수 있다

    어떤 사용자가 언제 어떻게 접근했는지 확인하려면 베스천 서비스를 쓰는것도 나쁘지 않은 옵션이다.

     

    ---

    사용자, 아무나 - HTTP포트로만 접근

    관리자는 베스천 서비스를 통해 가상컴퓨터에 접근

    까지 함

     

    ---

    무료로 제공하는 서비스에 대해 알아보기. Azure Advisor와 Security Center

    Azure Advisor는 가격, 보안, 가용성, 성능 등에 대해 추천을 받는 것

    우리가 구성한 인프라가 잘못돼있다는게 아니고 이렇게 제어하면 좀 더 좋을 것 같아요 제안

     

    ---

    여러분이 설정한 옵션들이 어느정도의 보안을 만족하고 있는지

     

    스코어보드는 지켜야 될 보안설정들이.. 내가 설정한 서비스가 많으면 1000~2000개 

     

    각 서비스별로 어떤 리소스들이 지켜지지 않고 있는지

     

    ---

    advisor검색 > 뭐 많지만 여기선 보안 클릭

    이런게 안 지켜지고 있다..

     

    리소스그룹 > 가상 컴퓨터 > Advisor 권장 사항 : 여기선 가상 컴퓨터에 해당하는 것만 볼 수 있다

    보안 설정을 잘 했는지 부족한지 확인 가능

     

    ---

    보안 센터 검색 >

    녹색으로 바꿔주는 작업을 하자

    Basic까지는 이렇게만 보이고, 컴퓨터, 네트워킹의 일부 기능들만 활성화

     

    나머지 IoT, 데이터 및 스토리지, ID 및 액세스, 보안 솔루션 혹은

    규정 준수 사용이라든지 컴플라이언스라든지

    네트워킹에 대한 커넥티비티를 전부 분석하고 싶으면 시큐리티센터 스탠다드 를 써야 한다. 스탠다드부턴 과금이 들어간다

     

    ---

    learn에서 학습해볼 수도 있다

Designed by Tistory.