반응형

출처 : https://stackoverflow.com/questions/27981545/suppress-insecurerequestwarning-unverified-https-request-is-being-made-in-pytho


python 으로 https 요청을 하는데... https 라서 ssl 인증서를 검증받는다..

그래서 

requests.post(url, data, verify=False)

라고 옵션을 넣어서 검증을 하지 않도록 한다.


그랬더니 실행이 될때마다 system warning 메세지가 자꾸 뜬다..

Unverified HTTPS Request......


request is being made to host '192.168.1.100'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

  InsecureRequestWarning,


error

InsecureRequestWarning 이라고 시스템 에러가 자꾸 발생한다.

처음엔 그냥 냅뒀는데.. 시간이 지나고 보니 뭔가 계속 뜨는게 신경쓰였다..;;;;

그!래!서!

이걸 안뜨게 싶어서 검색을 좀 해봤더니.. 방법을 겟!! 


#impport urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)


에러가 나는 urllib3 에서 insecureRequestWarning 메세지를 예외처리(except)하는 방법이 있었음..!!

반응형
반응형

mattermost 설치 이후 컴퓨터 웹브라우저를 통하면 접속이 잘 되는데

핸드폰에서 APP(앱)을 통해 접속하면 접속이 안되더라고요


에러 메시지가 정확히 기억이안나는데.. (이미 해결해버려서 ㅠㅠ)

서버에 연결할 수 없다고 뜨고

패킷캡쳐해보면 400 bad gateway 가 떴어요


뭔가 이상하다.. 이상하다.. 생각하면서 2시간의 삽질끝에 알아냈습니다.


1. mattermost 앱이 2개다.

   - 5.대 버전의 mattermost 서버에 접속할때 쓰는 앱을 다운로드 받아서 사용했던게 문제였습니다.

   - 3.대 버전의 mattermost 서버에 접속하는 경우 playstore 에서 mattermost clasic 을 다운로드 받아서 접속하셔야 합니다.

2. 그렇다면 내가 설치한 mattermost 버전을 확인해야 한다.

   - mattermost 버전확인하는 방법은 어제 글을 별도로 썼습니다.

     mattermost version check 방법[여기 클릭!!]


버전을 확인했는데 3.0.0 이면 3.0.3으로 먼저 업그레이드를 하고 그 뒤로는 한번에 올리셔도 된다고 합니다.

저는 확인해보니 3.6.0이여서 한번에 바로 올렸어요~

mattermost 5.20.1 버전mattermost 5.20.1 버전


version upgrade 방법은 별도로 포스팅 하겠습니다


그렇게 버전을 5.20.1로 업그레이드 했더니 핸드폰에 설치했던 mattermost 앱에서 정상 접속 됩니다!!


혹시라도 핸드폰 어플에서 접속이 안되시는 분들은 mattermost 서버 버전을 확인해보시기 바랍니다

서버 버전을 upgrade 하면 mattermost clasic 어플에서는 더 이상 로그인이 안되고 팅깁니다.



반응형
반응형

mattermost version 확인방법 찾아보는데 잘 안나오네요


mattermost 앱에 들어가시면 확인할 수 있는 부분이 있다고 합니다


mattermost versionmattermost version


좌측 메뉴는 경우에 따라 조금씩 다르지만 제일 상단쪽에 log 관련 메뉴를 찾으면 됩니다.

사진은 5.대 버전이고 3.대에서는 그냥 logs 라고 되어 있던걸로 기억합니다.

(방금전인데 기억이 안나는...)


보시면 3.6.0이라고 버전이 나오네요.


웹사이트에 올라온 글 보고 설치하셨으면 대부분 3.대 버전으로 설치되셨을꺼예요

(제가 그랬듯이.. ㅠㅠ)


꼭!! 공식 사이트에 가셔서 다운로드 받으시거나 github 가셔서 다운 받으세요!!


5.대로 올리셔야 됩니다.. 꼬옥...

지금 글쓰는 시간 기준, 최신버전은 5.20.1 입니다~



추가

명령어가 있었네요.. 바보 같군요

/opt/mattermost/bin/mattermost version

반응형
반응형

O365 및 AWS와 같이 클라우드 기반으로 동적IP가 할당되고 수시로 변경되는 경우, 방화벽에서 IP만 가지고 차단하는것은 불가능합니다.

하물며 도메인도 여러가지로 변경이 되는 것은 더 큰 문제!!


기존 방화벽 기반으로 처리를 하던 기존 수 많은 담당자들은

Maybe.. 

그냥 Any Open일 거예요. 100%!!


매번 변경되는 IP를 쉽게 크롤링(수집)하고 수집된 정보를 적용(활용)할 수는 없을까..?

라는 고민으로

방화벽 자동화의 첫번째 발걸음!

그 시작을 크롤링으로 시작합니다.


minemeld를 선택한 이유.

팔로알토에서 제공하는 오픈소스입니다. 믿을만하죠?


팔로알토에서 Autofocus 라는 서비스를 유료로 제공하는데 그 서비스의 일부로 minemeld를 넣어서 제공할 만큼 minemeld를 활용하고자 하는 것 같습니다.


자.. 그럼 이 minemeld라는 녀석을 어떻게 활용할 수 있을까요?

팔로알토는 친절하게도 사용할 수 있는 상황(CASE)에 대해 정리하고 있네요.

저 중에서 다양한 용도로 사용할 예정입니다.


자 그럼.. 이 minemeld를 어떻게 설치하느냐?

MineMeld Github 사이트 링크 [클릭]


위 github에서 다운로드 받아서 설치하거나 팔로알토에서 제공하는 이미지파일을 받아 VM 환경에 올리면 됩니다.

install minemeld설치방법

4가지 설치방안을 제공하고 있으니 아래 링크 클릭해서 각자 원하는 설치방법으로 설치!!

MineMeld 설치 링크 [클릭]


설치하는 방법은 위에 링크에 잘 나와있으니 별다른 말을 첨언할게 없어요~ 따라만 하시면 됩니다.

이렇게 설치가 완료되면 웹데몬이 떠서 웹서비스 형태로 동작하게 됩니다.

바로 이렇게!!

logiin minemeldlogiin minemeld

ID/PASS는 default로 admin / minemeld 로 되어 있으니 참고~!!

로그인하면 대시보드를 확인 할 수 있습니다.

minemeld dashboardminemeld dashboard

이미 꽤 오래전부터 운영하고 있었기 때문에 수집되고 있는 IP가 꽤 많습니다.


설치하면 기본적으로 수집하는 IP들도 있고 원하는 것들은 추가해서 볼 수 있고

크롤링하는 inteval은 각각 지정할 수 있는데 대부분 1~20초, 600초, 3600초 정도로 설정되어 있는데 이 값은 바꾸면 되지만 굳이 바꿀 이유를 찾지 못해 그냥 쓰고 있습니다.

minemeld nodeminemeld node

이건 하나의 예시입니다.

AWS IP는 인터넷에 공개되어 있어요

AWS IP Range(범위) [클릭]


하.지.만. JSON 형태로 되어 있어 쓰려면 가공이 필요합니다.

minemeld는 수집과 가공을 동시에 제공하는데, 다른 솔루션을 통해서도 할 수 있지만 처음부터 minemeld를 써서 그런가..

이게 굉장히 편하더라고요.


위에 사진에서도 있지만

1. 제일 첫번째 녹색은 miner. 수집하는 노드

2. 두번째 가운데 있는 분홍색은 processor. 가공하는 노드

3. 제일 마지막으로 오른쪽에 있는 노란색은 output. 결과물을 출력해주는 노드


외부 인터넷에 있는 IP들을 수집하고, 가공(분류)하고 출력(웹형태)해주는 기능을 하는게 바로 이 minemeld의 정체!


저런식으로 AWS의 서비스와 리전을 기반으로 모든 IP들을 구분하고 사용하고 있습니다.

방화벽 설정을 할때 ANY를 안쓰기 위한 방법 중 하나라고 할까요..?

AWS IP RANGEAWS S3 US-EAST-2 IP RANGE

minemeld에서는 이렇게 출력을 해줍니다.


팔로알토에서 제공해주는 오픈소스이기 때문에 팔로알토 방화벽에서 바로 적용이 가능하며 Objects > External Dynamic Lists 에서 객체화 시킬 수 있습니다.

paloalto aws ip 적용방법external dynamic lists 활용

국내 팔로알토 엔지니어들(코리아 제외)은 이 기능(External Dynamic Lists)을 "차단"을 하는 기능이라고 말하더라고요

굉장히.. "차단", "Deny"에 국한해서 이야기를 합니다. 왜 그런 이야기를 하는지는 모르겠어요. 누가 그렇게 가르쳐주나?


실제로 화면상에도 보면 알겠지만 malicous ip, high risk ip 들을 별도로 정의 해줍니다.

하지만 나는 blacklist가 아닌 whitelist 기반으로 쓸거예요!!

firewall policy방화벽 정책

이렇게 적용할 수 있습니다.

물론 일부는 IP는 ANY로 두고 URL Category만 지정해서 하면 되지 않느냐~ 라고 하실 수 있지만

제 개인적인 생각은 이렇습니다.


1. ANY 객체를 쓰고 싶지 않다.

   - ANY 객체를 쓰면 정책 최적화 과정에서도 굉장히 불편합니다.

2. URL Category만 쓸 경우 오류가 있다.

   - URL까지 확인되기 위해 3-way handshake가 발생합니다. 웹인지 확인해야되니까요. 즉, 통신은 이루어 집니다.

   - 환경에 따라 일부 트래픽들이 URL Category로 식별되지 않아 차단되기도 합니다.


minemeld prototypeminemeld prototype

추가로 악성도메인이나 IP, URL 정보를 수집할 수 있는 프로토타입들이 있으니 참고하셔도 좋을 것 같습니다.

아니면 저처럼 프로토타입을 추가해서 사용하는 것도 좋습니다. :)


이렇게 IP크롤링 시스템 구축이 끝!

적용까지 완료!!


다음엔 다른걸 자동화 해봅시다. 하나하나 자동화하여 업무의 80%가 자동화 되는 그날까지!!


#보안, #security, #자동화, #automatic, #방화벽, #크롤링, #팔로알토, #Minemeld, #externaldynimiclists

반응형

+ Recent posts