Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature for updating SecurityGroup rule #482

Closed
seokho-son opened this issue Oct 13, 2021 · 82 comments
Closed

Feature for updating SecurityGroup rule #482

seokho-son opened this issue Oct 13, 2021 · 82 comments
Assignees
Labels
enhancement New feature or request

Comments

@seokho-son
Copy link
Member

What would you like to be added

Why is this needed

  • We cannot update SecurityGroup. So, we cannot modify firewall rule after the first creation.
  • In some situations such as Brute Force attack from some IP sources, changing SecurityGroup is inevitable. (source, port, ...)
@seokho-son seokho-son added the enhancement New feature or request label Oct 13, 2021
@powerkimhub powerkimhub pinned this issue Dec 7, 2021
@powerkimhub
Copy link
Member

powerkimhub commented Apr 5, 2022

@inno-cloudbarista @dev4unet @innodreamer


  • 다음 Security Group(SG) 관련 Spec 및 Guide 문서 검토 부탁 드립니다.

    • 검토대상: CB-Spider Security Group Rules and Driver API
    • 검토 의견은 댓글, slack, mail 등 편하신 방법으로...
    • 이후, 관련 개발 및 시험 중에도 이상한 부분이 있거나, 특정 CSP에 부적한 경우에는,
      • 의견 주시면 조정하도록 하겠습니다.
  • 문서는 다음 2가지 내용을 포함하고 있습니다.

    • Rule 정의 규칙 보완
    • SG에 Rule 추가/삭제 기능 개선을 위한 API 변경
    • (ch 3. 시험 항목은 검토 제외)
  • SG 개선 관련 개략 일정은 다음과 같습니다.

  1. Rule 규격 검토 및 확정 ----------------------- 4/6(수), 정의: Server 파트, 검토: Driver 파트
  2. AddRules(), RemoveRules() 기능 추가
    (1) Driver API 정의/공유/검토 ------------------ 4/6(수), 정의: Server 파트, 검토: Driver 파트
    (2) 담당 Driver 반영/개발/시험 ----------------- 4/13(수), Driver 파트 (국내 Driver 제외)
    (3) Server API 런타임 반영/개발 ---------------- 4/13(수), Server 파트 (Go API 제외)
  3. 통합 Test & Report ---------------------------- 4/14(목), Server 파트
  4. Bug fix ------------------------------------------ 4/15(금), 전체 (국내 Driver 제외)

@innodreamer
Copy link
Member

@powerkimhub @seokho-son
각 driver에서 위의 사항과 관련된 update 전에도 error가 발생하지 않도록 CB-Spider common interface에서 한동안은 과도기적인 상태로 유지하는게 좋을거 같습니다.

@powerkimhub
Copy link
Member

@innodreamer (@seokho-son )

@innodreamer
Copy link
Member

@jihoon-seo 위의 comment 참고하십시오.

@powerkimhub
Copy link
Member

[Mock Driver]

  • Mock Driver's AddRules() and RemoveRules() 추가
  • Basic Unit Test 추가 및 시험
  • b6d85c5

@powerkimhub
Copy link
Member

powerkimhub commented Apr 8, 2022

@seokho-son @jihoon-seo ( @inno-cloudbarista @dev4unet @innodreamer )

[AddRules/RemoveRules 관련 REST API 추가 완료]

  • 관련 REST API 지원을 추가 하였습니다. (f1d497b)
  • 관련 개발에 참고해주시기 바랍니다.
  • 활용 방법은 아래를 참고해주시기 바랍니다.
  • Server Plan:
    • Go API 추가
    • AdminWeb 반영
    • 다양한 SG Rule 시험 항목 추가 및 Driver 통합 시험
    • 문서 반영

[REST API 특이사항]

  • RemoveRules는 관련 API는 force option 불필요
    • Rules 개별 ID가 없기 때문에, Rules IID 관리 불필요
    • Rules 삭제시 CSP에서 삭제 처리만 수행
  • RemoveCSPRules 관련 별도 API 불필요
    • Rules 개별 ID가 없기 때문에, Rules IID 관리 불필요
    • RemoveRules API와 처리가 동일함

[Mock + REST API 활용 방법 참고]

  • Scenario: SG(1rule) 생성 => 2 rule 추가 및 3 rule 확인 => 2 rule 삭제 및 1 rule 확인 => SG 삭제

Mock Driver 및 Connection 설정

RESTSERVER=localhost

 # Cloud Driver Info
curl -X POST http://$RESTSERVER:1024/spider/driver -H 'Content-Type: application/json' -d '{"DriverName":"mock-driver01","ProviderName":"MOCK", "DriverLibFileName":"mock-driver-v1.0.so"}'

 # Cloud Credential Info
curl -X POST http://$RESTSERVER:1024/spider/credential -H 'Content-Type: application/json' -d '{"CredentialName":"mock-credential01","ProviderName":"MOCK", "KeyValueInfoList": [{"Key":"MockName", "Value":"mock_name00"}]}'

 # Cloud Region Info
curl -X POST http://$RESTSERVER:1024/spider/region -H 'Content-Type: application/json' -d '{"RegionName":"mock-region01","ProviderName":"MOCK", "KeyValueInfoList": [{"Key":"Region", "Value":"default"}]}'

 # Cloud Connection Config Info
curl -X POST http://$RESTSERVER:1024/spider/connectionconfig -H 'Content-Type: application/json' -d '{"ConfigName":"mock-config01","ProviderName":"MOCK", "DriverName":"mock-driver01", "CredentialName":"mock-credential01", "RegionName":"mock-region01"}'

Setup env.

export CONN_CONFIG=mock-config01

Create a SG with 1 rules

curl -sX POST http://localhost:1024/spider/securitygroup -H 'Content-Type: application/json' -d '{ "ConnectionName": "'${CONN_CONFIG}'", "ReqInfo": { "Name": "sg-01", "VPCName": "vpc-01", "SecurityRules": [ {"FromPort": "1", "ToPort" : "65535", "IPProtocol" : "tcp", "Direction" : "inbound"} ] } }' |json_pp
{
   "KeyValueList" : null,
   "SecurityRules" : [
      {
         "CIDR" : "0.0.0.0/0",
         "IPProtocol" : "TCP",
         "FromPort" : "1",
         "Direction" : "inbound",
         "ToPort" : "65535"
      }
   ],
   "IId" : {
      "NameId" : "sg-01",
      "SystemId" : "sg01-c983962ba5oc6hmdj8cg"
   },
   "VpcIID" : {
      "SystemId" : "vpc-01-c9831uiba5oc6hmdj8b0",
      "NameId" : "vpc-01"
   }
}

Add 2 rules => 3 rules

curl -sX POST http://localhost:1024/spider/securitygroup/sg-01/rules -H 'Content-Type: application/json' -d '{ "ConnectionName": "'${CONN_CONFIG}'", "ReqInfo": { "RuleInfoList" : [ {"Direction": "inbound", "IPProtocol": "TCP", "FromPort": "22", "ToPort": "22"}, {"Direction": "outbound", "IPProtocol"
: "TCP", "FromPort": "22", "ToPort": "22"} ]} }' |json_pp
{
   "SecurityRules" : [
      {
         "IPProtocol" : "TCP",
         "CIDR" : "0.0.0.0/0",
         "Direction" : "inbound",
         "ToPort" : "65535",
         "FromPort" : "1"
      },
      {
         "FromPort" : "22",
         "ToPort" : "22",
         "Direction" : "inbound",
         "IPProtocol" : "TCP",
         "CIDR" : "0.0.0.0/0"
      },
      {
         "FromPort" : "22",
         "CIDR" : "0.0.0.0/0",
         "IPProtocol" : "TCP",
         "Direction" : "outbound",
         "ToPort" : "22"
      }
   ],
   "IId" : {
      "SystemId" : "sg01-c983962ba5oc6hmdj8cg",
      "NameId" : "sg-01"
   },
   "KeyValueList" : null,
   "VpcIID" : {
      "SystemId" : "vpc-01",
      "NameId" : "vpc-01"
   }
}

Remove 2 rules => 1 rules

curl -sX DELETE http://localhost:1024/spider/securitygroup/sg-01/rules -H 'Content-Type: application/json' -d '{ "ConnectionName": "'${CONN_CONFIG}'", "ReqInfo": { "RuleInfoList" : [ {"Direction": "inbound", "IPProtocol": "TCP", "FromPort": "22", "ToPort": "22"}, {"Direction": "outbound", "IPProtocol"
: "TCP", "FromPort": "22", "ToPort": "22"} ]} }' |json_pp
{
   "Result" : "true"
}

Get SG => 1 rules

curl -sX GET http://localhost:1024/spider/securitygroup/sg-01 -H 'Content-Type: application/json' -d '{ "ConnectionName": "'${CONN_CONFIG}'"}' |json_pp
{
   "KeyValueList" : null,
   "IId" : {
      "NameId" : "sg-01",
      "SystemId" : "sg01-c983962ba5oc6hmdj8cg"
   },
   "VpcIID" : {
      "SystemId" : "vpc-01-c9831uiba5oc6hmdj8b0",
      "NameId" : "vpc-01"
   },
   "SecurityRules" : [
      {
         "IPProtocol" : "TCP",
         "FromPort" : "1",
         "CIDR" : "0.0.0.0/0",
         "Direction" : "inbound",
         "ToPort" : "65535"
      }
   ]
}

Delete the SG

curl -sX DELETE http://localhost:1024/spider/securitygroup/sg-01 -H 'Content-Type: application/json' -d '{ "ConnectionName": "'${CONN_CONFIG}'"}' |json_pp
{
   "Result" : "true"
}

@innodreamer
Copy link
Member

innodreamer commented Apr 14, 2022

@powerkimhub NCP VPC Cloud에 대한 SecurityGroup 관련 개선 작업을 1차 완료했습니다.

  • SecurityGroup 및 SecurityRule 관련 개선된 사항

    • SecurityGroup 및 Rule definition 변경 사항 적용 완료
    • AddRules(), RemoveRules() method 추가 완료
    • 'All Protocol / All Port Open Rule' Add 기능 추가 완료
    • 'All Protocol / All Port Open Rule' Remove 기능 추가 완료
    • CB-Spider API 기준 테스트 완료
  • Related PR : https://github.com/cloud-barista/ncpvpc/pull/17

@powerkimhub
Copy link
Member

powerkimhub commented Apr 15, 2022

@jihoon-seo @seokho-son (@inno-cloudbarista @dev4unet @innodreamer)

Driver Driver 개발 및 기능 시험 Rule 검증 시험 도구 개발 (서버용) 1차 Rule 검증 시험 결과 (Driver별 추진)
AWS 4/19(화) , 4/21(목) 1차: 4/15(금, 2차: 4/21(목) ~ 4/22(금)
GCP 4/19(화) , 4/21(목) // ~ 4/22(금)
Alibaba 4/19(화) , 4/21(목) // ~ 4/22(금)
Tencent 4/19(화) , 4/21(목) // ~ 4/22(금)
Azure 4/19(화) // ~ 4/22(금)
OpenStack 4/19(화) // ~ 4/22(금)
CloudIt 4/19(화) // ~ 4/22(금)
IBM 4/19(화) // ~ 4/22(금)
NCP 생성/삭제 미지원
(CSP: API 미제공)
N/A N/A
NCPVPC 완료 // ~ 4/22(금)
NHN 4/15(금) // ~ 4/22(금))
  • Rule 적용 검증은 1차 시험 이후에도 지속될 예정입니다.
  • CSP별로 복병을 만나면, 지연될 수도 있겠습니다^^
  • Tumblebug 활용 가능 시점은 별도 안내 예정입니다.

@powerkimhub
Copy link
Member

@inno-cloudbarista @dev4unet @innodreamer (@jihoon-seo @seokho-son)

  • Rule 검증 시험 도구 초기 버전을 공유 드립니다.
  • 현재는 All/-1/-1 inboud/outbound에 대한 검증만 제공하고 있습니다.
    • 필요하신 분들께서는 활용해보시기 바랍니다.
  • 나머지 시험 항목들은 4/21(목) 제공 예정입니다.
    • Rule 검증 시험 일정에 참고해주시기 바랍니다.
  • 세부 내용 및 활용 가이드는 다음을 참고해주시기 바랍니다.

@powerkimhub
Copy link
Member

powerkimhub commented Apr 16, 2022

  • nc(netcat) 도구를 이용한 SG Port 개방 및 서버 유무 시험 결과
  • 예상과 다른 UDP 특징이 존재하며, 검증 시험 도구에 반영 필요
  • 시험 환경: AWS VM
  • 이하 시험 결과 참고

----------- Test: All Closed

  • [TCP]

    $ nc -w3 -zvt 1.2.3.4 22
    nc: connect to 1.2.3.4 port 22 (tcp) timed out: Operation now in progress
    
  • [UDP]

    $ nc -w3 -zvu 1.2.3.4 2000
    Connection to 1.2.3.4 2000 port [udp/cisco-sccp] succeeded!          <=============
    
  • [ICMP:ping]

    $ ping -w3 -c3 1.2.3.4
    PING 1.2.3.4 (1.2.3.4) 56(84) bytes of data.
    
    --- 1.2.3.4 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2033ms
    

----------- Test: All Opened

  • [TCP] listening

    $ nc -w3 -zvt 1.2.3.4 22
    Connection to 1.2.3.4 22 port [tcp/ssh] succeeded!
    
  • [TCP] no listener

    $ nc -w3 -zvt 1.2.3.4 1000
    nc: connect to 1.2.3.4 port 1000 (tcp) failed: Connection refused
    
  • [UDP] listening

    $ nc -w3 -zvu 1.2.3.4 2000
    Connection to 1.2.3.4 2000 port [udp/cisco-sccp] succeeded!
    
  • [UDP] : no listener

    $ nc -w3 -zvu 1.2.3.4 2000
    $                                                                     <============= no return
    
  • [ICMP:ping]

    $ ping -w3 -c3 1.2.3.4
    PING 1.2.3.4 (1.2.3.4) 56(84) bytes of data.
    64 bytes from 1.2.3.4: icmp_seq=1 ttl=42 time=125 ms
    64 bytes from 1.2.3.4: icmp_seq=2 ttl=42 time=124 ms
    64 bytes from 1.2.3.4: icmp_seq=3 ttl=42 time=124 ms
    
    --- 1.2.3.4 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2002ms
    rtt min/avg/max/mdev = 124.951/124.970/125.009/0.289 ms
    

@powerkimhub
Copy link
Member

powerkimhub commented Apr 16, 2022

  • SG Rule UDP 폐쇄 설정 검증 시험 항목 제외

  • 사유 및 세부 내용 이하 참고

  • UDP Rule 검증 관련 : 아래 (1), (3) 구분 불가

    • SG Rule UDP Port 개방 설정
      • server listening시 결과: open 상태 반환 -------------- (1)
      • no server시 결과: closed 상태 반환 -----------------(2)
    • SG Rule UDP Port 폐쇄 설정
      • server 가동 무의미: open 상태 반환 ----------------------(3)
  • 현황: 대상 IP가 없거나 접근 불가 IP UDP 호출의 경우 Open 상태로 반환
  • 사유: UDP는 응답 없는 패킷

  • 참고: nmap 이용한 추가 시험도 결과 동일

    • nmap 시험 결과
    $ sudo nmap -sU -Pn -p 2000 1.2.3.4    ------------ (1)  포트 개방/서버 가동
    
    Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-16 07:03 UTC
    Nmap scan report for ec2-1-2-3-4.us-west-2.compute.amazonaws.com (1.2.3.4)
    Host is up.
    
    PORT     STATE         SERVICE
    2000/udp open|filtered cisco-sccp
    
    
    $ sudo nmap -sU -Pn -p 2000 1.2.3.4    ------------ (3)  포트 폐쇄
    
    Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-16 07:10 UTC
    Nmap scan report for ec2-1-2-3-4.us-west-2.compute.amazonaws.com (1.2.3.4)
    Host is up.
    
    PORT     STATE         SERVICE
    2000/udp open|filtered cisco-sccp
    

@innodreamer
Copy link
Member

innodreamer commented Apr 19, 2022

@powerkimhub NHN Cloud에 대한 SecurityGroup 관련 개선 작업을 1차 완료했습니다.
NHN Cloud에서 제공하는 API를 다시 확인해서 AddRules(), RemoveRules()도 추가 가능했습니다.

  • SecurityGroup 및 SecurityRule 관련 개선된 사항
    • SecurityGroup 및 Rule definition 변경 사항 적용 완료
    • AddRules(), RemoveRules() method 추가 완료
    • 'All Protocol / All Port Open Rule' Add 기능 추가 완료
    • 'All Protocol / All Port Open Rule' Remove 기능 추가 완료
    • CB-Spider API 기준 테스트 완료

(참고) 위의 개선 관련하여, NCP VPC와 NHN Cloud에서 제공하는 API를 이용했을때 아래와 같은 특성이 있었습니다.

  • NCP VPC 제공 API 특성
    • AddRules() 및 RemoveRules()과 관련된 NCP VPC API가 inbound용 API와 outbound용 API가 별도로 있음.
  • NHN Cloud 제공 API 특성
    • NHN Cloud는 각각의 rule도 S/G과 같이 ID값을 가짐
    • NHN Cloud API를 이용해서 rule을 제거하기 위해서도 먼저 사용자가 제거를 위해 request한 rule 정의 info를 이용해서 NHN Cloud에 사용자가 이미 Create/Add한 rule중에서 검색하여 rule ID값을 얻어와야함.(관련 function 신규로 추가했음.)
      • 그 rule ID값을 이용해서 rule 제거를 요청해야함.

@innodreamer
Copy link
Member

@powerkimhub S/G의 AddRules()/RemoveRules() 관련하여 아래의 상황에서는 어떻게 처리할지 결정하여 여러 driver에서 가능한한 통일시키면 좋을거 같습니다.

[ 결정 필요 사항 1 ]

  • AddRules() 실행시, 기존에 동일한 rule이 존재하면 error message로 알릴지
    : (참고) 노형현 매니저님이 문의하신 내용으로, Alibaba의 경우는 존재하는 동일한 rule이 있어도 update로 처리하고 정상 종료되게 할수도 있음.
  • RemoveRules() 실행시에, 제거 대상인 기존 rule이 존재하지 않을때 error message로 알릴지
    : (참고) 노형현 매니저님이 문의하신 내용으로, Alibaba의 경우는 존재하지 않는 경우에도 'Success'로 return됨.

[ 결정 필요 사항 2 ]

  • AddRules()로 한번에 여러 rule을 추가할때, 그 여러 rule중 일부의 rule이 기존에 동일하게 존재할 경우

    • 방안1) 기존의 동일한 rule이 존재하면 error message로 알림. 추가할 rule중 기존에 존재하지않는 나머지 rule은 추가함.
    • 방안2) 기존의 동일한 rule이 존재하면 error message로 알리고, return으로 종료시킴. 기존에 존재하지않는 나머지 rule도 추가되지 않음.
    • 방안3) 기존의 동일한 rule이 존재하면 info message로 알림. 추가할 rule중 기존에 존재하지않는 나머지 rule은 추가함.
  • RemoveRules()로 한번에 여러 rule을 제거할때, 그 여러 rule중 일부의 rule이 기존에 존재하지 않을 경우

    • 방안1) 기존의 동일한 rule이 존재하지 않으면 error message로 알림. 제거할 rule중 기존에 존재하는 나머지 rule은 제거함.
    • 방안2) 기존의 동일한 rule이 존재하지 않으면 error message로 알리고, return으로 종료시킴. 기존에 존재하는 나머지 rule도 제거되지 않음.
    • 방안3) 기존의 동일한 rule이 존재하지 않으면 info message로 알림. 제거할 rule중 기존에 존재하는 나머지 rule은 제거함.

@powerkimhub
Copy link
Member

powerkimhub commented Apr 22, 2022

@inno-cloudbarista @dev4unet @innodreamer

Driver Driver 개발 및 단순 기능 시험 Rule 검증 시험 도구 개발
(서버용)
1차 Rule 검증 시험 결과
(Driver별 추진)
AWS 완료 1차: 4/15(금, 2차: 4/22(금) ~ 4/25(월)
Azure 완료 // //
GCP 완료 // //
Alibaba 완료 // //
Tencent 완료 // //
IBM 완료 // //
OpenStack 완료 // //
CloudIt 완료 // //
NCPVPC 완료 // //
NCP 생성/삭제 미지원
(CSP: API 미제공)
N/A N/A
NHN 완료 // //
  • 1차 Rule 적용 검증 시험은
    • CSP별 차이점 파악을 위한 단순 결과 취합 수준입니다.
    • 1차 시험 이후에도 지속될 예정입니다.
  • 이슈 대안은 시험 결과 분석 후 방안 마련 예정입니다.
  • CSP별로 복병을 만나면, 지연될 수도 있겠습니다^^

@powerkimhub
Copy link
Member

powerkimhub commented Apr 24, 2022

@inno-cloudbarista @dev4unet @innodreamer

inbound test 도구 개발 및 AWS 검증 시험 완료

  • inbound 시험 항목 참고

    • 엑셀 시험 항목 중 inbound 시험
      <Single rule add/remove Test Cases>
          01.inbound-case-01.sh
          02.inbound-case-02.sh
          03.inbound-case-03.sh
          04.inbound-case-04.sh
          05.inbound-case-05.sh
          06.inbound-case-06.sh
      
      <Multi-rule add/remove Test Cases>
         10.inbound-case-10.sh
         11.inbound-case-11.sh
      
      <CIDR Test Cases>
         20.inbound-case-20.sh
         21.inbound-case-21.sh
      
  • 간단 시험 방법 (예시: AWS, Connection Config 사전 등록 필요: 관련 참고)

    • 시험 도구 위치로 이동
      cd $CBSPIDER_ROOT/test/sg-rules-validation-cli/1.inbound-rule-test
      
    • 필요 자원 생성: VPC/Subnet -> SG(ALL/-1/-1) -> Key -> VM
      ./00.prepare-00.sh aws
      
    • inbound 모든 시험 항목 시험
       ./all.inbound-case-all.sh aws
      
    • 생성 자원 삭제: VM -> Key -> SG -> VPC
       ./100.clear_all.sh aws
      
  • AWS Rule 검증 시험 결과

    cat aws-result-04.24.out
    

[aws-01.inbound-case-01.sh-Test:2022.04.24-16:30:34]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-02.inbound-case-02.sh-Test:2022.04.24-16:30:56]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[aws-03.inbound-case-03.sh-Test:2022.04.24-16:31:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-04.inbound-case-04.sh-Test:2022.04.24-16:31:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-05.inbound-case-05.sh-Test:2022.04.24-16:31:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-06.inbound-case-06.sh-Test:2022.04.24-16:32:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-10.inbound-case-10.sh-Test:2022.04.24-16:32:39]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[aws-11.inbound-case-11.sh-Test:2022.04.24-16:32:52]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-20.inbound-case-20.sh-Test:2022.04.24-16:33:16]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-21.inbound-case-21.sh-Test:2022.04.24-16:33:39]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

@powerkimhub
Copy link
Member

powerkimhub commented Apr 25, 2022

@inno-cloudbarista @dev4unet @innodreamer

  • SG Rule 설정에 따른 inbound, outbound 검증 시험 결과입니다.

  • Rule 추가/삭제/정보 제공에 대한 기능 시험은 아닙니다.

  • 일부 CSP에 대한 시험 결과가 다음과 같습니다.

    • AWS: 전체 성공
    • Azure: inbound-case-02 이슈 발생 (현재 이후 시험 항목 결과는 무의미)
      • inbound:ALL/-1/-1 rule 삭제 후 접근 시험에서 inbound 접근이 허락 되고 있음
      • expected: 모든 inbound traffic rule 삭제했으므로, inbound 접근이 안 되야 함.
      • @inno-cloudbarista 확인 부탁드립니다.
    • Alibaba: 시험 전에 key permission 오류 만남
  • 나머지 담당 CSP에 대한 시험을 추진 부탁 드립니다.

    • 현 이슈 답글로 현재 글과 유사한 형태로 부탁 드립니다.
    • 시험 방법 및 결과 확인 방법은 바로 윗 글을 참고해주시기 바랍니다.
    • git pull 후 진행해주시기 바랍니다
    • 4/26(화) 까지 1차 시험 결과 공유 부탁 드립니다.

  • 결과에 (X) 표시가 존재하면 Rule 검증 시험 오류 발생 항목임

[AWS Test Results: all pass]

[aws-01.inbound-case-01.sh-Test:2022.04.25-06:20:34]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-02.inbound-case-02.sh-Test:2022.04.25-06:20:57]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[aws-03.inbound-case-03.sh-Test:2022.04.25-06:21:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-04.inbound-case-04.sh-Test:2022.04.25-06:21:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-05.inbound-case-05.sh-Test:2022.04.25-06:21:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass

[aws-06.inbound-case-06.sh-Test:2022.04.25-06:22:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-10.inbound-case-10.sh-Test:2022.04.25-06:22:40]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[aws-11.inbound-case-11.sh-Test:2022.04.25-06:22:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-20.inbound-case-20.sh-Test:2022.04.25-06:23:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[aws-21.inbound-case-21.sh-Test:2022.04.25-06:23:41]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[Azure Test Results: Rule 적용 이슈 존재]

[azure-01.inbound-case-01.sh-Test:2022.04.25-07:33:38]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[azure-02.inbound-case-02.sh-Test:2022.04.25-07:34:12]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / pass (X) fail / pass (X) skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[azure-03.inbound-case-03.sh-Test:2022.04.25-07:34:23]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / pass

[azure-04.inbound-case-04.sh-Test:2022.04.25-07:34:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / fail (X)

[azure-05.inbound-case-05.sh-Test:2022.04.25-07:35:22]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / pass fail / fail pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[azure-06.inbound-case-06.sh-Test:2022.04.25-07:36:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / pass pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[azure-10.inbound-case-10.sh-Test:2022.04.25-07:36:45]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[azure-11.inbound-case-11.sh-Test:2022.04.25-07:37:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / pass pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[azure-20.inbound-case-20.sh-Test:2022.04.25-07:37:48]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / pass pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[azure-21.inbound-case-21.sh-Test:2022.04.25-07:38:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) fail / fail pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

@inno-cloudbarista
Copy link
Contributor

[Cloudit]
00.prepare-00.sh 실행시 CREATEVM 시 에러

  • Image를 찾을 수 없다는 에러 문구(Image not found..)가 나와 TestResource로 Name Ubuntu 18.04를 주어 생성시 생성되어 포맷이 잘못 넘어가는 것이 아닐까 합니다.
    VM 수동 생성 후 테스트 진행
  • VM을 수동으로 생성한 후 sudo nc -vktl 1000 sudo nc -vkul 2000 실행,
  • vm 생성 시 뒤에 랜덤한 단어가 들어가 IP로 테스트 진행하도록 io-tarffic-test.sh 수정 후 테스트 진행 (P_IP를 생성된 VM의 IP 할당)

[cloudit-01.inbound-case-01.sh-Test:2022.04.26-14:34:20]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[cloudit-02.inbound-case-02.sh-Test:2022.04.26-14:34:43]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[cloudit-03.inbound-case-03.sh-Test:2022.04.26-14:34:48]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / fail (X) pass / fail (X) pass / pass pass / pass

[cloudit-04.inbound-case-04.sh-Test:2022.04.26-14:35:09]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / pass (X) pass / fail (X) pass / fail (X) pass / pass pass / pass

[cloudit-05.inbound-case-05.sh-Test:2022.04.26-14:35:30]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / pass (X) pass / fail (X) pass / fail (X) pass / pass pass / pass

[cloudit-06.inbound-case-06.sh-Test:2022.04.26-14:35:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[cloudit-10.inbound-case-10.sh-Test:2022.04.26-14:36:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[cloudit-11.inbound-case-11.sh-Test:2022.04.26-14:36:22]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[cloudit-20.inbound-case-20.sh-Test:2022.04.26-14:36:28]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / pass pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[cloudit-21.inbound-case-21.sh-Test:2022.04.26-14:36:35]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) fail / fail pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[Openstack]
00.prepare-00.sh 실행시 CREATEVM 시 에러

  • 위와 마찬가지로 이미지이름의 Json포맷의 문제라고 생각됩니다. TestResource로 Name Ubuntu 18.04를 주어 생성시 생성되어 포맷이 잘못 넘어가는 것이 아닐까 합니다.
    VM 수동 생성 후 테스트 진행
  • VM을 수동으로 생성한 후 sudo nc -vktl 1000 sudo nc -vkul 2000 실행,
  • vm 생성 시 뒤에 랜덤한 단어가 들어가 IP로 테스트 진행하도록 io-tarffic-test.sh 수정 후 테스트 진행 (P_IP를 생성된 VM의 IP 할당)

[openstack-01.inbound-case-01.sh-Test:2022.04.26-09:26:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-02.inbound-case-02.sh-Test:2022.04.26-09:27:00]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / pass (X) fail / pass (X) skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[openstack-03.inbound-case-03.sh-Test:2022.04.26-09:27:08]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) fail / fail skip / skip fail / fail pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-04.inbound-case-04.sh-Test:2022.04.26-09:27:39]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) skip / skip fail / fail pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-05.inbound-case-05.sh-Test:2022.04.26-09:28:07]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / fail pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-06.inbound-case-06.sh-Test:2022.04.26-09:28:35]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-10.inbound-case-10.sh-Test:2022.04.26-09:29:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / pass (X) fail / pass (X) skip / skip fail / pass (X) skip / skip skip / skip skip / skip skip / skip

[openstack-11.inbound-case-11.sh-Test:2022.04.26-09:29:12]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-20.inbound-case-20.sh-Test:2022.04.26-09:29:49]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[openstack-21.inbound-case-21.sh-Test:2022.04.26-09:30:21]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass pass / pass

[Ibm-VPC]

admin-web에서 Ibm-vpc에 대한 Connection 생성이 되지 않습니다.
admin-web에서는 IBM으로 되어있어 Driver Library Name이 ibm-driver-v1.0.so로 매핑되어 테스트가 불가합니다.
cloudos.yaml, cloudos_meta.yaml IBM-VPC로 string을 변경하여 Driver Library Name을 맞춰주었으나, cloud-driver에 매핑되는 부분에서 문제가 생깁니다.

IBM - IBM-VPC의 혼용되어 사용되어 생기는 문제 같습니다.

수동적인 테스트는 시간이 좀더 필요할거 같습니다.

[Azure]

테스트 결과에 대해서 간단한 vm과 client 통신 환경을 가지고 수동으로 테스트해보았습니다.

해당 문제는 Rule 수정 삭제는 정상적으로 작동하나, Rule 수정 후 적용시간이 필요한것으로 보입니다.

일정시간이 지나면 변경된 Rule이 적용되는것은 확인하였습니다.

@dogfootman
Copy link
Contributor

dogfootman commented Apr 26, 2022

  1. SG-Rules-Test-keypair-01.pem 이 존재해서 덮어쓰기가 되지 않는 경우
    TestScript를 돌리면 아래와 같이
    invalid format, permission denied 오류가 날 수 있습니다.
    삭제 후 00번을 통해 해당 csp의 pem 파일이 생성되는지 확인하시기 바랍니다.
    --
    Load key "SG-Rules-Test-keypair-01.pem": invalid format
    cb-user@101.43.190.232: Permission denied (publickey).
    Load key "SG-Rules-Test-keypair-01.pem": invalid format
    cb-user@101.43.190.232: Permission denied (publickey).
    run tcp server and udp server on the client(this node)
    sudosudo: nc: command not found
    : nc: command not found
    --

  2. Tencent의 경우 S3.SMALL1 은 현재 사용불가해서 다른 spec을 사용해야 합니다. ex)S3.MEDIUM8
    . Sorry, Standard S3 (1-core 1 GB) has been sold out in Random AZ. We will restock ASAP

  3. Alibaba의 Permission Denied는 확인중입니다.

  4. Tencent 실행 결과 입니다.
    결과만 확인시에는 fail(x)로 나와서 수동으로 다시 확인 해 봐야 할 것 같습니다.

[tencent-01.inbound-case-01.sh-Test:2022.04.26-16:46:59]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-02.inbound-case-02.sh-Test:2022.04.26-16:47:41]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[tencent-03.inbound-case-03.sh-Test:2022.04.26-16:47:50]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) fail / fail skip / skip fail / fail pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-04.inbound-case-04.sh-Test:2022.04.26-16:48:25]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) skip / skip fail / fail pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-05.inbound-case-05.sh-Test:2022.04.26-16:49:11]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) fail / fail pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-06.inbound-case-06.sh-Test:2022.04.26-16:49:47]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-10.inbound-case-10.sh-Test:2022.04.26-16:50:23]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[tencent-11.inbound-case-11.sh-Test:2022.04.26-16:50:32]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-20.inbound-case-20.sh-Test:2022.04.26-16:51:13]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

[tencent-21.inbound-case-21.sh-Test:2022.04.26-16:51:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / fail (X) fail / fail pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X)

@powerkimhub
Copy link
Member

powerkimhub commented Apr 26, 2022

@inno-cloudbarista

[Cloudit] [OpenStack]

@powerkimhub
Copy link
Member

@inno-cloudbarista

[IBMVPC]

  • AdminWeb 이슈는 다음 이슈에서 버그 픽스하도록 하겠습니다.
  • 개선되기 전에는 아래 스크립트 방법으로 연결 설정을 등록하실 수 있습니다.
    • 연결 설정 이후에 자원 제어는 AdminWeb으로도 가능한 상태입니다.

[연결 설정 스크립트 활용 예시]

  • 연결 설정 등록 스크립트 예시 경로로 이동
    cd $CBSPIDER_ROOT/api-runtime/rest-runtime/test/connect-config
    
  • ibm 관련 스크립트 열기
    vi 12.ibmvpc-conn-config.sh 
    
  • 보유하신 ApiKey 값으로 ApiKey 키 값에 대한 Value 설정
  • 스크립트 실행(driver 등록에서 connection 설정까지 실행)
    ./12.ibmvpc-conn-config.sh
    

  • 현재 Rule 검증 시험을 해보니,

  • prepare 단계에서,

  • VPC 생성 후 SG 생성시 다음과 같은 오류가 발생하고 있습니다.

    • 확인 부탁 드립니다.
    ============== before create SecurityGroup: 'SG-Rules-Test-SG01'
    message: rpc error: code = Internal desc =  error while calling CCMService.CreateSecurity() method: Failed to Create Security. err = Specified discriminator value does not match any schemas or invalid
    ============== after create SecurityGroup: 'SG-Rules-Test-SG01'
    
  • 이때, SG rule 설정 값은 다음과 같습니다.

              {
                "Direction" : "inbound",
                "IPProtocol" : "all",
                "FromPort": "-1",
                "ToPort" : "-1"
              }
    

@powerkimhub
Copy link
Member

@inno-cloudbarista

[Azure]

  • 현황 고려하여 재시험 해보도록 하겠습니다.

@powerkimhub
Copy link
Member

@dogfootman

  • 시험 및 현황 공유 감사드립니다.

[Test Script]

  • 현황 재현 후 개선하도록하겠습니다.

[Tencent]

  • 확인 후 시험용 Spec을 좀더 대중적인(?) Spec으로 교체하겠습니다.

@choryang
Copy link
Contributor

  • GCP 실행 결과입니다.
    GCP의 경우 모든 rule이 삭제되는 것을 허용하지 않아 tcp:9999 rule을 고정하고 테스트 진행하였습니다.

  • inbound-case-20 / inbound-case-21 실행 시
    "message" : "googleapi: Error 400: The resource 'projects/okee-330901/global/firewalls/sgrules-test-sg03-c9ka0vest8fcd33e6p2g' is not ready, resourceNotReady"
    와 같은 에러가 발생하고 rule 추가가 되지 않습니다.
    cloud-control-manger/cloud-driver/drivers/gcp/main/Test_Resource.go를 통해서는 추가 가능하나 스크립트를 통해 실행하면 추가가 되지 않습니다.

[gcp-01.inbound-case-01.sh-Test:2022.04.27-13:53:32]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-02.inbound-case-02.sh-Test:2022.04.27-13:55:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[gcp-03.inbound-case-03.sh-Test:2022.04.27-13:56:37]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-04.inbound-case-04.sh-Test:2022.04.27-13:57:07]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) skip / skip fail / fail pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-05.inbound-case-05.sh-Test:2022.04.27-13:57:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) pass / fail (X) fail / fail pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-06.inbound-case-06.sh-Test:2022.04.27-13:58:00]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-10.inbound-case-10.sh-Test:2022.04.27-13:58:28]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[gcp-11.inbound-case-11.sh-Test:2022.04.27-13:58:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-20.inbound-case-20.sh-Test:2022.04.27-13:59:38]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / fail (X) pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

[gcp-21.inbound-case-21.sh-Test:2022.04.27-14:01:13]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / fail (X) pass / pass pass / fail (X) pass / fail (X) pass / fail (X) pass / fail (X)

@inno-cloudbarista
Copy link
Contributor

inno-cloudbarista commented May 10, 2022

[Azure] Outbound 테스트 결과 공유드립니다. / merge 적용 시 #630

[azure-01.outbound-case-01.sh-Test:2022.05.10-14:42:25]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[azure-02.outbound-case-02.sh-Test:2022.05.10-14:44:51]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[azure-03.outbound-case-03.sh-Test:2022.05.10-14:47:20]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[azure-04.outbound-case-04.sh-Test:2022.05.10-14:49:46]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[azure-05.outbound-case-05.sh-Test:2022.05.10-14:52:09]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass fail / fail

[azure-06.outbound-case-06.sh-Test:2022.05.10-14:54:36]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[azure-10.outbound-case-10.sh-Test:2022.05.10-14:57:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[azure-11.outbound-case-11.sh-Test:2022.05.10-15:00:32]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[azure-20.outbound-case-20.sh-Test:2022.05.10-15:03:09]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[azure-21.outbound-case-21.sh-Test:2022.05.10-15:06:01]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@choryang
Copy link
Contributor

Inbound
[alibaba-01.inbound-case-01.sh-Test:2022.05.10-06:08:24]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[alibaba-02.inbound-case-02.sh-Test:2022.05.10-06:08:49]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[alibaba-03.inbound-case-03.sh-Test:2022.05.10-06:09:08]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-04.inbound-case-04.sh-Test:2022.05.10-06:09:35]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-05.inbound-case-05.sh-Test:2022.05.10-06:09:58]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-06.inbound-case-06.sh-Test:2022.05.10-06:10:25]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[alibaba-10.inbound-case-10.sh-Test:2022.05.10-06:10:51]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[alibaba-11.inbound-case-11.sh-Test:2022.05.10-06:11:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[alibaba-20.inbound-case-20.sh-Test:2022.05.10-06:11:40]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

[alibaba-21.inbound-case-21.sh-Test:2022.05.10-06:12:09]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / pass pass / pass pass / pass pass / pass pass / pass pass / pass

Outbound
[alibaba-01.outbound-case-01.sh-Test:2022.05.10-05:57:57]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-02.outbound-case-02.sh-Test:2022.05.10-05:58:24]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[alibaba-03.outbound-case-03.sh-Test:2022.05.10-05:58:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[alibaba-04.outbound-case-04.sh-Test:2022.05.10-05:59:19]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[alibaba-05.outbound-case-05.sh-Test:2022.05.10-05:59:42]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass fail / fail

[alibaba-06.outbound-case-06.sh-Test:2022.05.10-06:00:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-10.outbound-case-10.sh-Test:2022.05.10-06:00:37]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[alibaba-11.outbound-case-11.sh-Test:2022.05.10-06:01:07]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-20.outbound-case-20.sh-Test:2022.05.10-06:01:37]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[alibaba-21.outbound-case-21.sh-Test:2022.05.10-06:02:06]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@dogfootman
Copy link
Contributor

GCP 로직 보완 및 Test 결과 공유드립니다.
Test 결과에서 inboud test, outbound test 모두 port 1000,2000번에 대한 outbound가 모두 실패하고 있습니다.
GCP Console을 확인했을 때에는 firewall이 정상적으로 등록되어 있습니다.
현재 버전으로 PR했습니다.

  • TAG를 사용하도록 하여 기존 한 방향의 Direction만 가능 -> 양방향 Direction 가능
  1. GCP Test 할 때 다음과 같은 현상이 있습니다.
    00.prepare.sh 를 실행하고 가장 마지막에 nc 관련 메시지가 나옵니다.
    .# check VM status until 'Running'
    .# run tcp server and udp server on the target VM

.# clear nc processes on the client(this node)
.# run tcp server and udp server on the client(this node)
nc: getnameinfo: Temporary failure in name resolution
nc: getnameinfo: Temporary failure in name resolution

  1. Test 결과입니다.
    -- INBOUND
    [gcp-01.inbound-case-01.sh-Test:2022.05.10-10:25:32]
    I:TCP-01
    (22) | I:TCP-02
    (1000) | I:UDP-01
    (2000) | I:ICMP-01
    (ping) | |O:TCP-01
    (22) | O:TCP-02
    (1000) | O:UDP-01
    (2000) | O:ICMP-01
    (ping)
    -- | -- | -- | -- | -- | -- | -- | -- | --
    pass / pass | pass / pass | pass / pass | pass / pass | | pass / pass | pass / fail (X) | pass / fail (X) | pass / pass |

[gcp-02.inbound-case-02.sh-Test:2022.05.10-10:26:05]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[gcp-03.inbound-case-03.sh-Test:2022.05.10-10:26:29]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-04.inbound-case-04.sh-Test:2022.05.10-10:27:04]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass skip / skip fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-05.inbound-case-05.sh-Test:2022.05.10-10:27:35]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-06.inbound-case-06.sh-Test:2022.05.10-10:28:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-10.inbound-case-10.sh-Test:2022.05.10-10:28:59]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
fail / fail fail / fail skip / skip fail / fail skip / skip skip / skip skip / skip skip / skip

[gcp-11.inbound-case-11.sh-Test:2022.05.10-10:29:41]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-20.inbound-case-20.sh-Test:2022.05.10-10:30:23]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass pass / pass pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-21.inbound-case-21.sh-Test:2022.05.10-10:31:04]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail pass / pass pass / pass pass / pass pass / fail (X) pass / fail (X) pass / pass

-- OUTBOUND
[gcp-01.outbound-case-01.sh-Test:2022.05.10-06:59:24]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-02.outbound-case-02.sh-Test:2022.05.10-07:02:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail fail / pass (X) fail / fail skip / skip fail / pass (X)

[gcp-03.outbound-case-03.sh-Test:2022.05.10-07:03:51]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass fail / fail skip / skip fail / pass (X)

[gcp-04.outbound-case-04.sh-Test:2022.05.10-07:05:04]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / fail (X) skip / skip fail / pass (X)

[gcp-01.outbound-case-01.sh-Test:2022.05.10-07:31:36]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-04.outbound-case-04.sh-Test:2022.05.10-07:43:29]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / fail (X) skip / skip fail / pass (X)

[gcp-01.outbound-case-01.sh-Test:2022.05.10-08:48:02]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / fail (X) pass / fail (X) pass / pass

[gcp-01.outbound-case-01.sh-Test:2022.05.10-09:02:55]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-02.outbound-case-02.sh-Test:2022.05.10-09:03:28]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail fail / pass (X) fail / pass (X) skip / skip fail / pass (X)

[gcp-03.outbound-case-03.sh-Test:2022.05.10-09:03:55]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass fail / pass (X) skip / skip fail / pass (X)

[gcp-04.outbound-case-04.sh-Test:2022.05.10-09:04:24]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass skip / skip fail / pass (X)

[gcp-05.outbound-case-05.sh-Test:2022.05.10-09:04:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass pass / pass fail / pass (X)

[gcp-06.outbound-case-06.sh-Test:2022.05.10-09:05:29]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-10.outbound-case-10.sh-Test:2022.05.10-09:06:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail fail / pass (X) fail / pass (X) skip / skip fail / pass (X)

[gcp-11.outbound-case-11.sh-Test:2022.05.10-09:06:55]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-20.outbound-case-20.sh-Test:2022.05.10-09:07:30]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-21.outbound-case-21.sh-Test:2022.05.10-09:08:06]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / pass (X) skip / skip fail / fail pass / pass fail / pass (X) pass / pass pass / pass

@powerkimhub
Copy link
Member

@dogfootman

[GCP 결과 분석]

1. 00.prepare.sh 이슈

  • 다음 링크를 확인해 보시면 시험 노드에 dns server 설정이 안된 것이 원인으로 생각됩니다.

  • 관련하여, 두가지 방안을 고려해볼수 있을 것 같습니다.
    (1) test 진행 노드 dns server 설정
    (2) 00.prepare.sh 임시 수정 후 시험
    (nc option에 -n 추가, 시험을 해보지는 않았습니다)

       ```
       - before
        sudo nc -vktl 1000&
        sudo nc -vkul 2000&
    
        - after
        sudo nc -nvktl 1000&
        sudo nc -nvkul 2000&
        ```
    

2. 시험 결과

  • 제 환경에서 시험 결과는 다음과 같습니다.

  • inbound test: all pass

  • outbound test: 02.test~ 오류 발생

  • 분석

    • GCP의 경우 outbound는 기본이 개방입니다.

    • 00.prepare~를 실행하면, inbound:TCP/22/22를 생성 요청합니다.

    • 여기에, outbound를 열기 위한 규칙을 driver에서 추가해서 결과는 다음과 같이 2개 rule이 생성됩니다.

      • 결과
        • image
    • 02.test~에서는 outbound:ALL/-1/-1 rule을 삭제 요청하고 잘 삭제 되어 rule 목록 결과는 다음과 같습니다.

      • 결과
        • image
    • 하지만, GCP경우 outbound가 기본이 개방이기 때문에, 의도(fail)와는 달리 outbound 요청이 pass가 나오고 있습니다. 조치가 필요합니다.

  • 참고: 02.test 시험 결과

[gcp-02.outbound-case-02.sh-Test:2022.05.10-17:48:18]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / pass (X) fail / pass (X) skip / skip fail / pass (X)

3. 출력 결과 이슈

  • 현재 CreateSecurityGroup 후 제공되는 rule 표시 정보가 아래와 같습니다.
    • SG 정보를 반환하는 API 경우 Spider rule 규격에 맞게 교정 부탁드립니다.
    IId:
      NameId: SG-Rules-Test-SG01
      SystemId: sgrules-test-sg01-c9t9rkaba5od5h92b1n0
    VpcIID:
      NameId: SG-Rules-Test-vpc-01
      SystemId: sgrules-test-vpc-01-c9t9reiba5od5h92b1m0
    SecurityRules:
    - FromPort: ""
      ToPort: ""
      IPProtocol: ALL
      Direction: ingress
      CIDR: 0.0.0.0/0
    - FromPort: ""
      ToPort: ""
      IPProtocol: ALL
      Direction: egress
      CIDR: 0.0.0.0/0
    KeyValueList:
    - Key: Priority
      Value: "1000"
    - Key: Allowed
      Value: all
    - Key: Vpc
      Value: sgrules-test-vpc-01-c9t9reiba5od5h92b1m0
    

@powerkimhub
Copy link
Member

@choryang @dogfootman @dev4unet

[Tencent SG 검증 시험]

  • in/out 검증 시험: All Pass

[Tencent SG 출력 결과 이슈]

  • 현재 반환되는 rule 표시 정보가 아래와 같습니다.

    • VPC IID 정보 설정 가능 방법 확인 부탁 드립니다.
    • 비어 있는 ToPort 설정 부탁드립니다.
    • 추가로, SG 정보를 반환하는 API 경우 Spider rule 규격에 맞는지 점검 부탁 드립니다.
  • inbound SG Info returns

     {
        "KeyValueList" : null,
        "IId" : {
           "NameId" : "SG-Rules-Test-SG01",
           "SystemId" : "sg-e2r2osyh"
        },
        "VpcIID" : {
           "NameId" : "N/A",
           "SystemId" : "N/A"
        },
        "SecurityRules" : [
           {
              "Direction" : "inbound",
              "ToPort" : "",
              "FromPort" : "22",
              "IPProtocol" : "TCP",
              "CIDR" : "0.0.0.0/0"
           },
           {
              "CIDR" : "0.0.0.0/0",
              "IPProtocol" : "UDP",
              "Direction" : "inbound",
              "ToPort" : "65535",
              "FromPort" : "1"
           },
           {
              "Direction" : "inbound",
              "FromPort" : "-1",
              "ToPort" : "-1",
              "IPProtocol" : "ICMP",
              "CIDR" : "0.0.0.0/0"
           },
           {
              "Direction" : "inbound",
              "ToPort" : "",
              "FromPort" : "1000",
              "IPProtocol" : "TCP",
              "CIDR" : "4.5.6.7/32"
           },
           {
              "IPProtocol" : "ALL",
              "CIDR" : "0.0.0.0/0",
              "Direction" : "outbound",
              "ToPort" : "-1",
              "FromPort" : "-1"
           }
        ]
     }
    

  • outbound SG Info returns

     {
        "IId" : {
           "NameId" : "SG-Rules-Test-SG01",
           "SystemId" : "sg-8w9quj2z"
        },
        "KeyValueList" : null,
        "SecurityRules" : [
           {
              "IPProtocol" : "TCP",
              "FromPort" : "22",
              "Direction" : "inbound",
              "CIDR" : "0.0.0.0/0",
              "ToPort" : ""
           },
           {
              "CIDR" : "0.0.0.0/0",
              "ToPort" : "",
              "IPProtocol" : "TCP",
              "FromPort" : "22",
              "Direction" : "outbound"
           },
           {
              "IPProtocol" : "UDP",
              "FromPort" : "1",
              "Direction" : "outbound",
              "CIDR" : "0.0.0.0/0",
              "ToPort" : "65535"
           },
           {
              "Direction" : "outbound",
              "FromPort" : "-1",
              "IPProtocol" : "ICMP",
              "ToPort" : "-1",
              "CIDR" : "0.0.0.0/0"
           },
           {
              "Direction" : "outbound",
              "IPProtocol" : "TCP",
              "FromPort" : "1000",
              "ToPort" : "",
              "CIDR" : "4.5.6.7/32"
           }
        ],
        "VpcIID" : {
           "SystemId" : "N/A",
           "NameId" : "N/A"
        }
     }
    

@powerkimhub
Copy link
Member

@choryang @dogfootman @dev4unet

[Alibaba SG 검증 시험]

  • in/out 검증 시험: All Pass

[Alibaba SG 출력 결과 이슈]

  • AddRules 시 반환되는 rule 표시 정보가 아래와 같습니다.

    • 반환 정보 중 비어 있는 VPC IID.NameId 정보는 무시하셔도 되겠습니다.
      • 서버에서 채우도록 하겠습니다.(다른 CSP도 마찬 가지입니다.)
      • VPC IID.SystemId만 올려주시면 되겠습니다.
    • ingress/egress 변환 부탁 드립니다.
      • 점검 필요 API: CreateSG/GetSG/ListSG/AddRules
  • inbound SG info returns

    {
       "KeyValueList" : [
          {
             "Value" : "sgrules-test-sg01-c9tka7qba5oe9eeimb20",
             "Key" : "SecurityGroupName"
          },
          {
             "Value" : "2022-05-11T05:09:51Z",
             "Key" : "CreationTime"
          }
       ],
       "IId" : {
          "SystemId" : "sg-2zehgqgys50u7rmmi0hs",
          "NameId" : "SG-Rules-Test-SG01"
       },
       "VpcIID" : {
          "NameId" : "",
          "SystemId" : "vpc-2zexgpitz4a6ip691yw64"
       },
       "SecurityRules" : [
          {
             "Direction" : "ingress",
             "ToPort" : "1000",
             "CIDR" : "4.5.6.7/32",
             "FromPort" : "1000",
             "IPProtocol" : "TCP"
          },
          {
             "ToPort" : "65535",
             "Direction" : "ingress",
             "CIDR" : "0.0.0.0/0",
             "FromPort" : "1",
             "IPProtocol" : "UDP"
          },
          {
             "ToPort" : "-1",
             "Direction" : "ingress",
             "FromPort" : "-1",
             "CIDR" : "0.0.0.0/0",
             "IPProtocol" : "ICMP"
          },
          {
             "Direction" : "ingress",
             "ToPort" : "22",
             "FromPort" : "22",
             "CIDR" : "0.0.0.0/0",
             "IPProtocol" : "TCP"
          },
          {
             "CIDR" : "0.0.0.0/0",
             "FromPort" : "-1",
             "Direction" : "egress",
             "ToPort" : "-1",
             "IPProtocol" : "ALL"
          }
       ]
    }
    

@inno-cloudbarista
Copy link
Contributor

[Ibm-VPC] Outbound 테스트 결과 공유드립니다. / merge 적용 시 #632

00.prepare-00.sh 실행시, /test/sg-rules-validation-cli/common/ibm/setup.env에서 Image_Name을 수정하여야 작동됩니다.(/cloud-control-manager/cloud-driver/drivers/ibmcloud-vpc/main/conf/config.yaml.sample 참고)

[ibm-01.outbound-case-01.sh-Test:2022.05.11-13:48:29]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[ibm-02.outbound-case-02.sh-Test:2022.05.11-13:49:08]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[ibm-03.outbound-case-03.sh-Test:2022.05.11-13:49:49]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[ibm-04.outbound-case-04.sh-Test:2022.05.11-13:50:27]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[ibm-05.outbound-case-05.sh-Test:2022.05.11-13:51:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass fail / fail

[ibm-06.outbound-case-06.sh-Test:2022.05.11-13:51:43]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[ibm-10.outbound-case-10.sh-Test:2022.05.11-13:52:23]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[ibm-11.outbound-case-11.sh-Test:2022.05.11-13:53:05]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[ibm-20.outbound-case-20.sh-Test:2022.05.11-13:53:55]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[ibm-21.outbound-case-21.sh-Test:2022.05.11-13:54:43]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@powerkimhub
Copy link
Member

@inno-cloudbarista

[Azure SG 검증 시험]

  • in/out 검증 시험: All Pass
    • 시험 조건: export SLEEP=60

[Azure SG 출력 결과 이슈]

  • Protocol : ALL 인 경우 Spider 규격과 차이가 있습니다.
  • 변경 및 최종 시험 부탁 드립니다.
    • Spider 규격 참고
    • AS-IS
         "SecurityRules" : [
            {
               "ToPort" : "65535",
               "Direction" : "outbound",
               "CIDR" : "0.0.0.0/0",
               "IPProtocol" : "ALL",
               "FromPort" : "1"
            },
      
    • TO-BE
         "SecurityRules" : [
            {
               "ToPort" : "-1",
               "Direction" : "outbound",
               "CIDR" : "0.0.0.0/0",
               "IPProtocol" : "ALL",
               "FromPort" : "-1"
            },
      

@powerkimhub
Copy link
Member

@inno-cloudbarista

[IBM SG 검증 시험]

  • in/out 검증 시험: All Pass ------------------------------------------------------ 수고많으셨습니다^^

    • 특이 사항: VM 생성 안될 경우 => Image ID 갱신이 필요할 수도 있음
      • 단, IBM의 경우 Region에 따라 제공하는 Image ID가 다름
        • 동일 Region 내의 Zone들은 동일한 Image를 제공
      • Image ID 예시: r014 => us-east Region의 Image
        r014-a044e2f5-dfe1-416c-8990-5dc895352728
        

[참고] AdminWeb을 이용한 Region내 가용한 Image ID 얻는 방법

  • image

@powerkimhub
Copy link
Member

@dev4unet @dogfootman @choryang

[AWS SG 검증 시험]

  • in/out 검증 시험: All Pass

[AWS SG 출력 결과 이슈]

  • CreateSG() 반환 시 제공 정보 수정 필요 (List/Get도 확인 부탁 드립니다.)

    ...
    SecurityRules:
    - FromPort: ""
      ToPort: ""
      IPProtocol: "-1"
      Direction: inbound
      CIDR: 0.0.0.0/0
    - FromPort: ""
      ToPort: ""
      IPProtocol: "-1"
      Direction: outbound
      CIDR: 0.0.0.0/0
    ...
    
  • AddRules() 반환시 제공 정보 수정 필요

    • 아래 출력에서 마지막 Rule 참고
    ...
        {
           "Direction" : "inbound",
           "CIDR" : "0.0.0.0/0",
           "FromPort" : "22",
           "IPProtocol" : "TCP",
           "ToPort" : "22"
        },
        {
           "ToPort" : "1000",
           "IPProtocol" : "TCP",
           "FromPort" : "1000",
           "CIDR" : "4.5.6.7/32",
           "Direction" : "inbound"
        },
        {
           "IPProtocol" : "UDP",
           "FromPort" : "1",
           "ToPort" : "65535",
           "CIDR" : "0.0.0.0/0",
           "Direction" : "inbound"
        },
        {
           "CIDR" : "0.0.0.0/0",
           "Direction" : "inbound",
           "IPProtocol" : "ICMP",
           "FromPort" : "-1",
           "ToPort" : "-1"
        },
        {
           "Direction" : "outbound",
           "CIDR" : "0.0.0.0/0",
           "FromPort" : "",
           "IPProtocol" : "-1",
           "ToPort" : ""
        }
    ...
    

@powerkimhub
Copy link
Member

@inno-cloudbarista @hyokyungk @dev4unet @dogfootman @choryang @innodreamer

  • 이제 험한 산을 거의 넘은 듯합니다^^
  • 금일 까지 현황 요약이 다음과 같습니다.
  • CSP별 세부 현황은 위의 각 시험 결과를 참고해주시기 바랍니다.

CSP inbouund/outbound 검증 시험 반환 정보 검증 특이 사항
AWS All Pass 진행중  
Azure All Pass 진행중 - export SLEEP=60 필요
GCP inbound: Pass / outbound: fixing 검증전  
Alibaba All Pass 진행중  
Tencent All Pass 진행중  
IBM(VPC) All Pass 완료 - 필요시 Image ID 갱신
- Region별로 Image ID 다름
OpenStack WIP -  
CloudIt WIP -  
       
NCPVPC WIP -  
NCP WIP -  
NHNCloud WIP -  
KT(VPC) 개발 예정    

@dogfootman
Copy link
Contributor

@powerkimhub
[GCP] test 결과입니다. : ALL/PASS

알려주신 "02.test~에서는 outbound:ALL/-1/-1 rule을 삭제" 에 대하여

  • outbound : ALL Deny, priority=65535
  • outbound : ALL Allow, priority=1000
    두개의 rule을 기본으로 생성하도록 했습니다.

그리하여 ALL Allow를 삭제하면 ALL Deny로 적용되고
우선순위가 높은(1000) rule이 먼저 적용되도록 했습니다.

보안정책에서
"
Security Group 생성 시 default Rule은 다음과 같고, CSP별로 관련 Rule이 보일 수도 있고 안보일 수도 있다.

inbound: 모든 트래픽 차단
outbound: 모든 트래픽 허용
"
으로 되어있어 outbound관련해서는 적용하지 않았는데

2번항목에 의해
outbound의 기본 rule은 all deny이며
SecurityGroup 생성시 all allow rule 추가(시스템 생성시 SKIP) 가 낫지 않을까요?
. aws, ali 등의 경우 시스템에서 자동으로 추가 시키고 있습니다.


GCP Test 결과입니다.

[gcp-21.outbound-case-21.sh-Test:2022.05.11-09:37:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

[gcp-01.outbound-case-01.sh-Test:2022.05.11-10:45:10]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-02.outbound-case-02.sh-Test:2022.05.11-10:47:46]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[gcp-03.outbound-case-03.sh-Test:2022.05.11-10:49:26]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[gcp-04.outbound-case-04.sh-Test:2022.05.11-10:51:00]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[gcp-05.outbound-case-05.sh-Test:2022.05.11-10:52:09]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass fail / fail

[gcp-06.outbound-case-06.sh-Test:2022.05.11-10:53:19]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-10.outbound-case-10.sh-Test:2022.05.11-10:54:43]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[gcp-11.outbound-case-11.sh-Test:2022.05.11-10:56:18]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-20.outbound-case-20.sh-Test:2022.05.11-11:00:24]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[gcp-21.outbound-case-21.sh-Test:2022.05.11-11:02:36]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@powerkimhub
Copy link
Member

@dogfootman

  • PR 반영 버전으로 in/out 시험 모두 PASS함을 확인하였습니다.

  ```
  > 2번항목에 의해
  > outbound의 기본 rule은 all deny이며
  > SecurityGroup 생성시 all allow rule 추가(시스템 생성시 SKIP) 가 낫지 않을까요?
  > . aws, ali 등의 경우 시스템에서 자동으로 추가 시키고 있습니다.
  ```
  • 위 항목에 대해서는 제가 명확히 이해하지 못하는 것 같아서 대신 방향에 대한 부연 설명을 드리겠습니다.

    • Spider 사용자(Tumblebug 등)는 기본적으로 AWS, GCP, Tencent 등 여러 CSP를 대상으로
    • 동일한 API 호출로 동일한 관리와 동일한 상태가 유지되기를 원한 다는 사실에 최대한 맞추면 좋을 것 같습니다.
    • 이런 측면에서, SG의 Create/List/Get이나 Rule의 Add/Remove 호출 후 상태 및 제공 정보를
    • AWS 기준으로 최대한 맞추고자 합니다.
  • 반환 정보는 아직 교정 전이신 듯하지만, 시험한 김에 결과 공유 드립니다.

    ============== before AddRules: 'SG-Rules-Test-SG01' --- inbound:ICMP/-1/-1
    {
       "KeyValueList" : [
          {
             "Value" : "1000",
             "Key" : "Priority"
          },
          {
             "Value" : "all",
             "Key" : "Allowed"
          },
          {
             "Key" : "Vpc",
             "Value" : "sgrules-test-vpc-01-c9tq0e2ba5o586v589n0"
          }
       ],
       "IId" : {
          "NameId" : "SG-Rules-Test-SG01",
          "SystemId" : "sgrules-test-sg01-c9tq0kiba5o586v589o0"
       },
       "VpcIID" : {
          "SystemId" : "sgrules-test-vpc-01-c9tq0e2ba5o586v589n0",
          "NameId" : "SG-Rules-Test-vpc-01"
       },
       "SecurityRules" : [
          {
             "ToPort" : "",
             "Direction" : "ingress",
             "IPProtocol" : "TCP",
             "FromPort" : "22",
             "CIDR" : "0.0.0.0/0"
          },
          {
             "CIDR" : "0.0.0.0/0",
             "FromPort" : "1000",
             "IPProtocol" : "TCP",
             "ToPort" : "",
             "Direction" : "ingress"
          },
          {
             "FromPort" : "1",
             "IPProtocol" : "UDP",
             "ToPort" : "65535",
             "Direction" : "ingress",
             "CIDR" : "0.0.0.0/0"
          },
          {
             "CIDR" : "0.0.0.0/0",
             "FromPort" : "",
             "Direction" : "ingress",
             "ToPort" : "",
             "IPProtocol" : "ICMP"
          },
          {
             "FromPort" : "",
             "ToPort" : "",
             "Direction" : "egress",
             "IPProtocol" : "ALL",
             "CIDR" : "0.0.0.0/0"
          }
       ]
    }
    

@inno-cloudbarista
Copy link
Contributor

[Openstack] Outbound 테스트 결과 공유드립니다. / merge 적용 시 #635

[openstack-inno-01.outbound-case-01.sh-Test:2022.05.12-01:14:53]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[openstack-inno-02.outbound-case-02.sh-Test:2022.05.12-01:15:19]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[openstack-inno-03.outbound-case-03.sh-Test:2022.05.12-01:15:49]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[openstack-inno-04.outbound-case-04.sh-Test:2022.05.12-01:16:15]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[openstack-inno-05.outbound-case-05.sh-Test:2022.05.12-01:16:37]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass fail / fail

[openstack-inno-06.outbound-case-06.sh-Test:2022.05.12-01:17:05]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[openstack-inno-10.outbound-case-10.sh-Test:2022.05.12-01:17:29]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[openstack-inno-11.outbound-case-11.sh-Test:2022.05.12-01:18:00]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[openstack-inno-20.outbound-case-20.sh-Test:2022.05.12-01:18:35]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[openstack-inno-21.outbound-case-21.sh-Test:2022.05.12-01:19:11]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@inno-cloudbarista
Copy link
Contributor

[Cloudit] Outbound 테스트 결과 공유드립니다. / merge 적용 시 #635

Cloudit은 ICMP 기능을 제공하지 않기에, 해당 프로토콜이 있을 경우 Error를 리턴하여 AddRule, RemoveRule이 실패하게 되기에,
ICMP Rule 부분은 수정하여 테스트 하였습니다.(10.outbound-case-10, 11.outbound-case-11)

[cloudit-01.outbound-case-01.sh-Test:2022.05.11-17:42:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / pass

[cloudit-02.outbound-case-02.sh-Test:2022.05.11-17:42:37]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) fail / fail fail / fail skip / skip fail / pass (X)

[cloudit-03.outbound-case-03.sh-Test:2022.05.11-17:42:58]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass fail / fail skip / skip fail / pass (X)

[cloudit-04.outbound-case-04.sh-Test:2022.05.11-17:43:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass skip / skip fail / pass (X)

[cloudit-05.outbound-case-05.sh-Test:2022.05.11-17:43:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass pass / pass fail / pass (X)

[cloudit-06.outbound-case-06.sh-Test:2022.05.11-17:43:52]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / pass

[cloudit-10.outbound-case-10.sh-Test:2022.05.11-17:44:12]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) fail / fail fail / fail skip / skip fail / pass (X)

[cloudit-11.outbound-case-11.sh-Test:2022.05.11-17:44:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / pass

[cloudit-20.outbound-case-20.sh-Test:2022.05.11-17:44:54]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass pass / pass pass / pass pass / pass

[cloudit-21.outbound-case-21.sh-Test:2022.05.11-17:45:14]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / pass (X) pass / pass fail / fail pass / pass pass / pass

@dogfootman
Copy link
Contributor

GCP securityInfo의 port 포맷 보완 #640

[GCP] Port 포맷 보완 완료했습니다.
OutBound Test결과 : 성공

============== before AddRules: 'SG-Rules-Test-SG04' --- outbound:TCP/1000/1000/4.5.6.7/32
{
"IId" : {
"NameId" : "SG-Rules-Test-SG04",
"SystemId" : "sgrules-test-sg04-c9v1fhsgbu16jaha3utg"
},
"KeyValueList" : [
{
"Key" : "Priority",
"Value" : "1000"
},
{
"Key" : "Allowed",
"Value" : "tcp"
},
{
"Key" : "Vpc",
"Value" : "sgrules-test-vpc-04-c9v1fbsgbu16jaha3usg"
}
],
"SecurityRules" : [
{
"CIDR" : "0.0.0.0/0",
"Direction" : "inbound",
"FromPort" : "22",
"IPProtocol" : "TCP",
"ToPort" : "22"
},
{
"CIDR" : "0.0.0.0/0",
"Direction" : "outbound",
"FromPort" : "1",
"IPProtocol" : "UDP",
"ToPort" : "65535"
},
{
"CIDR" : "0.0.0.0/0",
"Direction" : "outbound",
"FromPort" : "22",
"IPProtocol" : "TCP",
"ToPort" : "22"
},
{
"CIDR" : "0.0.0.0/0",
"Direction" : "outbound",
"FromPort" : "1",
"IPProtocol" : "UDP",
"ToPort" : "65535"
},
{
"CIDR" : "0.0.0.0/0",
"Direction" : "outbound",
"FromPort" : "-1",
"IPProtocol" : "ICMP",
"ToPort" : "-1"
},
{
"CIDR" : "4.5.6.7/32",
"Direction" : "outbound",
"FromPort" : "1000",
"IPProtocol" : "TCP",
"ToPort" : "1000"
}
],
"VpcIID" : {
"NameId" : "sgrules-test-vpc-04-c9v1fbsgbu16jaha3usg",
"SystemId" : "sgrules-test-vpc-04-c9v1fbsgbu16jaha3usg"
}
}

@powerkimhub
Copy link
Member

@dogfootman

  • 넵. 수고많으셨습니다.

@powerkimhub
Copy link
Member

@inno-cloudbarista @hyokyungk @dev4unet @dogfootman @choryang @innodreamer

  • 한번에 여러 CSP를 순차 시험할 수 있는 script가 추가되었습니다.
    • 필요하신 분은 참고하기 바랍니다.
    • csp.all.inbound-case-all.sh
      • 사용방법:
        • 이전 시험 결과인 *.out 파일 삭제
        • 스크립트 내부에 연속으로 시험할 CSP 나열
          • 예시: CSPLIST=( aws azure gcp alibaba tencent ibm )
          • 예시: CSPLIST=( tencent tencent tencent tencent )
        • 인자 없이 실행
          • ./csp.all.inbound-case-all.sh
          • 참고: azure는 sleep=80으로 실행됨
        • 결과 확인 방법
          • 시험한 항목 확인: $ grep case *.out or $ grep case *.out | wc -l
          • 오류 항목 확인: $ grep X *.out

  • 금일 오후 시험 결과 현황 요약이 다음과 같습니다. (대상 Spider 버전은 맨 아래 참고)
  • 아직 이슈가 존재하는 일부 CSP의 경우 별도 이슈를 Open 하고, 아래 표기하였습니다.
  • 이제 어느 정도 안정화가 되어 현재 이슈는 close하고
  • 개별 이슈로 마무리해가도록 하겠습니다.

CSP inbouund/outbound 검증 시험 반환 정보 검증 특이 사항
AWS All Pass issue  
Azure inbound: ALL Pass
outbound: 아래 참고
OK - export SLEEP=80 필요
GCP All Pass OK
Alibaba All Pass OK  
Tencent issue OK  
IBM(VPC) All Pass OK - 필요시 Image ID 갱신
- Region별로 Image ID 다름
OpenStack All Pass OK - Driver팀 시험 결과로 대체
- 사유: ETRI 환경 이슈 존재
CloudIt All Pass(ICMP제외) OK - Driver팀 시험 결과로 대체
 - 사유: ssh 접속 이슈
- ICMP 비지원
       
NCPVPC WIP -  
NCP WIP -  
NHNCloud WIP -  
KT(VPC) 개발 예정    

  • 참고: 금일 시험 대상 Spider Version 및 적용된 PR

  • Azure outbound 시험 결과

    • 아직 오류 분석 전입니다.
    • 아마도 시험 환경 문제로 보입니다.
    • 분석 후 다시 공유 드리도록 하겠습니다.

[azure-01.outbound-case-01.sh-Test:2022.05.16-07:45:17]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass pass / pass pass / pass

[azure-02.outbound-case-02.sh-Test:2022.05.16-07:47:16]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[azure-03.outbound-case-03.sh-Test:2022.05.16-07:49:15]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail skip / skip fail / fail

[azure-04.outbound-case-04.sh-Test:2022.05.16-07:51:11]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / pass skip / skip fail / fail

[azure-05.outbound-case-05.sh-Test:2022.05.16-07:53:04]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / fail (X) pass / pass fail / fail

[azure-06.outbound-case-06.sh-Test:2022.05.16-07:55:03]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / fail (X) pass / pass pass / pass

[azure-10.outbound-case-10.sh-Test:2022.05.16-07:57:33]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail fail / fail fail / fail skip / skip fail / fail

[azure-11.outbound-case-11.sh-Test:2022.05.16-08:00:07]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / fail (X) pass / pass pass / pass

[azure-20.outbound-case-20.sh-Test:2022.05.16-08:02:20]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass pass / fail (X) pass / pass pass / pass

[azure-21.outbound-case-21.sh-Test:2022.05.16-08:04:22]

I:TCP-01
(22)
I:TCP-02
(1000)
I:UDP-01
(2000)
I:ICMP-01
(ping)
O:TCP-01
(22)
O:TCP-02
(1000)
O:UDP-01
(2000)
O:ICMP-01
(ping)
pass / pass fail / fail skip / skip fail / fail pass / pass fail / fail pass / pass pass / pass

@inno-cloudbarista
Copy link
Contributor

@powerkimhub
Azure의 경우 Rule이 바뀌고 적용되기까지 시간이 오래 걸리는 경우가 있습니다.
Azure의 Rule 변경은 아래 두가지의 액션이 시행되어야 Rule이 적용됩니다.

  1. Rule의 변경 사항 업데이트 완료 (Context를 통한 waiting 적용중)
  2. Rule 실제 적용 완료

Azure 콘솔에서는 Rule의 변경 사항 업데이트 완료와 적용 완료까지 판단하여 성공을 리턴 하는걸로 알고 있었으나 콘솔에서 완료가 되어도 Rule이 바로 적용되지 않는 현상이 있었습니다.

  • 웹 콘솔에서 Rule 수정 => 성공 팝업 대기 후, 해당 룰에 대한 TCP 통신 확인 => 실패 후 일정 시간 지난 후 재시도시 성공

현재 잠정적인 결론은 Azure 콘솔도 Rule이 완전히 적용된 후 완료를 리턴해주는 것이 아니라, Rule의 변경 사항 업데이트 완료를 리턴하지만,
웹 콘솔 자체가 속도가 빠르지 않기에 그 사이 Rule이 적용되는 것이라 생각하고 있습니다.

위 결과가 적용 시간에 대한 이슈가 아닐 경우도 있지만, SLEEP을 길게 잡아 테스트하거나, 해당 테스트 상황을 같은 조건으로 수동으로 테스트 할 경우 성공하게 되어,Rule의 적용시간 이슈가 아닐까 합니다.

@powerkimhub
Copy link
Member

@inno-cloudbarista

  • 넵, 상세한 현황 공유 캄사드립니다.
  • 아시는 바와 같이,
  • Test Tool에서는 Azure의 경우 CSP 적용 시간을 고려하여 현재 80sec sleep으로 시험 중에 있습니다.
    • sleep history: 7 => 10 => 30 => 60 => 80(현재)
  • 위 결과는 1000번 port outbound 시에만 발생하고 있습니다. (VM -> Client:1000)
    • 아직 분석 전이지만, 아마도 Client에 1000번 daemon 동작에 문제가 있을 수 있을 것 같습니다.
  • 좀 더 시험 해본 후 여전히 sleep 증가가 필요한 상황이라면, 좀 더 증가 조절하도록 하겠습니다.
    • sleep 증가 => 시험 시간 증가 이어서 가능한 범위에서 최소 값으로 하고자 합니다^^
  • 현재는 driver 단에서는 신경을 안 쓰셔도 될 거 같습니다.

@powerkimhub powerkimhub unpinned this issue May 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants