반응형

안녕하세요

오늘은 xcode 에서 발생한 에러 해결 방법 공유 드립니다.

 

Error (Xcode): Sandbox: rsync(13885) deny(1)

 

위와 같은 에러 발생시 

위 세팅처럼 user script sandboxing을 no로 변경해주시면 됩니다.

반응형
반응형

 

iOS 앱을 개발하고 광고까지 넣어서 출시한 경험이 있다면 잘 알겠지만, 본인 기기에서 광고를 클릭하면 부정 클릭으로 인식되어 광고가 막힌다. 하지만 AdMob에 본인 기기를 테스트 기기로 등록하면 앱 내 광고가 테스트 모드로 바뀌기 때문에 부정 클릭을 걱정할 필요가 없다.

배너 광고만 넣은 경우는 조심하면 될 것 같긴 한데, 전면 광고는 무조건 보이기 때문에 광고가 잘 나오는지 확인하려면 테스트 모드로 확인하는 수밖에 없을 것이다.

1. IDFA 값 알아오기
AdMob에 테스트 기기를 등록하려면 IDFA가 필요하다. Android는 설정에서 쉽게 알 수 있지만 iOS는 코드를 작성해서 알아와야 한다.

AppDelegate에 AdSupport와 AppTrackingTransparency를 import 하고 앱 추적 권한 요청 코드를 작성한다. 허용하면 IDFA 값을 print 하여 알아온다.

// AppDelegate.swift
import UIKit
import AdSupport
import AppTrackingTransparency
import GoogleMobileAds

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // 앱 추적 권한 요청
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            if #available(iOS 14, *) {
                ATTrackingManager.requestTrackingAuthorization { status in
                    switch status {
                    case .authorized:           // 허용됨
                        print("Authorized")
                        print("IDFA = \(ASIdentifierManager.shared().advertisingIdentifier)")
                    case .denied:               // 거부됨
                        print("Denied")
                    case .notDetermined:        // 결정되지 않음
                        print("Not Determined")
                    case .restricted:           // 제한됨
                        print("Restricted")
                    @unknown default:           // 알려지지 않음
                        print("Unknow")
                    }
                }
            }
        }

        // AdMob
        GADMobileAds.sharedInstance().start(completionHandler: nil)
        return true
    }

    // MARK: UISceneSession Lifecycle

    func application(
        _ application: UIApplication,
        configurationForConnecting connectingSceneSession: UISceneSession,
        options: UIScene.ConnectionOptions
    ) -> UISceneConfiguration {
        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
    }
}

 

2. AdMob에서 테스트 기기 추가하기
AdMob에 로그인한 후 대시보드에서 설정 ➜ 기기 테스트 ➜ 테스트 기기 추가를 선택한다.

 

 

 

출처: https://velog.io/@minji0801/AdMob-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B8%B0%EA%B8%B0-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0

 

반응형
반응형

안녕하세요

오늘은 파워포인트 눈금자 표시 또는 숨기기 방법에 대하여 포스팅 해보려고 합니다.

 

눈금자에서는 텍스트 및 슬라이드 개체를 던지기 위한 시각적 큐를 제공합니다. 더 이상 필요하지 않은 경우 눈금자 숨길 수 있습니다.

두 개의 눈금자는 활성 PowerPoint 위쪽에 가로로 표시하고 다른 눈금자는 슬라이드의 왼쪽 가장자리를 따라 세로로 표시됩니다(아래 그림).

 

눈금자 표시하려면 보기를 클릭하고 표시 그룹에서 눈금자 을 클릭합니다.

눈금자 숨기려면 보기를 클릭하고 표시 그룹에서 눈금자 상자를 선택 취소합니다.

수직 눈금자를 영구적으로 숨기려면 고급 > 옵션 > 파일 을 클릭하고표시 섹션으로 스크롤하고 세로 눈금자 표시 상자를 선택 취소합니다.

반응형
반응형

예를 들어, 구글 서비스의 비밀번호를 변경하기 위해서 IP : 111.111.111.111 로부터 메일이 왔다고 하자. 메일의 발송인에 From : abc@google.com 라고 표시되어 있다고 한다. 그런데 이 메일이 진짜 구글로부터 온 것일까? 어떤 해커가 사기칠려고 구글로 위장해서 메일을 보낸 것이라면 어떻게 이를 알 것인가?

 

 이를 확인 할 수 있는 것이 SPF, DKIM, DMARC를 통한 검증이다. 

 

1. SPF (Sender Policy Framework)

https://en.wikipedia.org/wiki/Sender_Policy_Framework

 

Sender Policy Framework - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Simple email-validation system designed to detect email spoofing Sender Policy Framework (SPF) is an email authentication method designed to detect forging sender addresses during the

en.wikipedia.org

 

그림 1. SPF 인증 절차 (출처 : https://postmarkapp.com/guides/spf) 

1.1 SPF란?

 SPF는 누군가(google.com)로부터 메일이 발송되었을 때, 이 메일의 발송지(111.111.111.111)가 진짜 google.com으로부터 발송된 메일인지 확인하는 시스템이다. 만약 이 주소가 진짜라면 google.com은 DNS 서버에 '이 IP로 보낸 것은 저(google.com)입니다.' 라고 등록한다. 이를 SPF record (혹은 TXT record)라고 한다. 

 

 즉, 특정 도메인이 DNS 서버에 자신의 메일 서버를 등록시키고, 메일 수신자가 발송 서버를 검증할 수 있도록 만든 것이다.

 

 

1.2 SPF를 쓰는 이유는?

 이런 일이 있을 수 있겠다. 어떤 스팸 업자가 자신의 제품을 홍보하기 위해서 구글의 이름을 사칭한다고 하자. 즉, 발송 도메인을 spam@google.com이라고 위조하는 것이다. SPF가 없을 때, 대다수의 사용자들은 이 스팸 메일을 받아도 "구글에서 보낸 것이니 믿을만 하겠지?" 라고 생각해서 열어보게 될 것이다.

 

 이를 방지하기 위해서 수신 메일 서버들은 어떤 송신 메일 서버로부터 어떤 메일을 수신했을 때, 이 도메인에 해당 송신 메일 서버가 유효한 서버인지 검증하는 것이다.

 

 사실 지금은 유저 수신자의 입장에서 서술하고 있지만, 실은 어떤 도메인의 소유자를 위한 보안이라 할 수 있겠다. 예를 든 google같은 경우에는 얼마나 많은 스팸업자들이 google을 사칭하고 싶어하겠는가? 그래서 google은 DNS 서버에 자신이 허가한 메일 송신 서버를 등록해둠으로서 스팸업자들이 자신을 사칭하는 것을 예방할 수 있는 것이다. 

 

 

1.3 SPF의 절차는?

위 그림 1에 설명이 잘 나와있다. 만약, IP 1.2.3.4에서 이메일이 도착했다고 하자. 이 메일의 Return Path(반송처;메일에 답장을 보냈을 때, 답장이 도착하는 주소)는 bounces@example.com이다. 수신 서버는 이 메일을 받았을 때, example.com에 1.2.3.4에게 자신의 도메인(example.com)을 사용할 수 있도록 했는지 검증해봐야한다. 만약 1.2.3.4가 example.com의 허가를 받은 메일 서버라면 SPF Record에 1.2.3.4가 등록되어있을 것이다. 그래서, 등록되어있다면 SPF를 통과할 것이다. 

 

 

1.4 왜 Return Path 를 검증하는가?

 사실 SPF는 Mail From (실제 메일을 보낸 주소)을 검증하는 것이 아니라 Return Path 를 검증한다. Return Path는 기본적으로 Mail From 과 동일하게 설정되어있고 대부분의 경우에도 동일하지만, 다른 경우에는 왜 Mail From을 검증하는 것이 아니라 Return Path를 검증하는 것일까?

 

만약 이런 일 있을 수 있겠다. A라는 고객이 B라는 쇼핑몰을 이용하고 있는데, 회원 가입를 위해 B쇼핑몰이 개인정보 인증을 권위가 있고 신뢰할 수 있는 인증사이트 C를 통해 인증을 받도록 한다고 하자. A는 B로부터 메일을 받게 되겠지만 반송처는 C 인증사이트로 개인정보를 보내게 될 것이다.

 

 C라는 곳은 믿을만 하지만 B쇼핑몰은 새로 생겨서 딱히 믿을만한 곳인지 모르겠다. 이럴 때, SPF를 통해 C에게 B가 믿을 만한 곳인지 확인할 수 있는 것이다. (만약 예제 활용이 틀렸다면 언제든지 댓글로 알려주세요.)

 

 

 

2. DomainKeys Indetified Mail (DKIM) 

https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail

 

DomainKeys Identified Mail - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Email authentication method designed to detect email spoofing DomainKeys Identified Mail (DKIM) is an email authentication method designed to detect forged sender addresses in email (e

en.wikipedia.org

2.1 DKIM 이란?

 DKIM 은 메일이 전송 중에 다른 사람(해커 등)에 의해서 변조되지 않았는지를 검증하는 절차이다.

 

 

2.2 왜 DKIM을 사용하는가?

 도메인 사용자가 메일을 전송했는데, 중간에 변조되어 스팸메일이나 악성 메일이 되어버린다면 영락없이 도메인 사용자가 죄를 뒤집어 쓰게 될 것이다. 이를 위해 도메인 사용자는 DKIM을 사용하여 수신자가 메일을 받았을 때 이 메일이 변조되지 않았다는 것을 확인하고, 이를 증명해야한다(마치 옛날에 밀랍으로 편지를 봉인함으로써 중간에 편지가 다른 사람에 의해 바뀌지 않았다는 것을 증명했듯이).

 

 

2.3 DKIM의 절차는?

  DKIM은 공개키/사설키를 사용하여 진행된다.

도메인이 메일을 발송할 때, 발송 서버는 사설키로 해시값을 만들고 이를 헤더에 넣어 발송한다. 메일 수신 서버가 메일을 받으면 발송자의 도메인의 DNS에 있는 공개키로 복호화한다. 복호화한 해시값을 확인하여 메일이 중간에 변조되었는지를 확인할 수 있다.

 

 

 

3. DMARC (Domain-based Message Authentication, Reporting and Conformance)

https://en.wikipedia.org/wiki/DMARC

 

DMARC - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search System to prevent email fraud This article is about an email validation system. For the telephony junction point, see demarcation point. DMARC (Domain-based Message Authentication, Rep

en.wikipedia.org

3.1 DMARC란?

 DMARC는 spoofing (발신자 정보를 위조하는 것)을 예방하기 위해 만들어진 보안 방법이다. DMARC는 위에서 소개한 SPF와 DKIM에다가 Reporting을 추가하였다. 

 

 

3.1 Reporting이란? 

 DMARC를 채택한다면 일반적으로 하루에 한 번 종합 보고서;Aggregate reports 를 받게 된다. 이 보고서는 XML 파일로 보내지며 해당 도메인으로부터 보내진 (혹은 보내졌다고 위조된) 메일들이 DMARC 인증 절차를 통과했는지를 알려준다. 이를 통해 발신측은 정상 메시지 중 인증 실패 비율이나 얼마나 많은 사칭 메일이 발송되고 있는가를 파악할 수 있게한다.

(참고 : DMARC 리포트 (jeesub.github.io))

 

 

3.2 DMARC를 쓰는 이유

 SPF 와 DKIM은 좋은 인증 방식이지만 각각에는 허점이 있다. SPF는 중간에 메일이 변조되어서 피싱 메일로 바뀌어도 이를 검증할 수 없고, DKIM의 경우는 해당 메일 자체가 피싱 사이트에서 왔어도 검증할 수 없다. 그래서 DMARC 는 이 둘을 모두 사용하여 1. 메일이 제대로 된 곳에서 왔는지 2. 메일이 위/변조 되지 않았는지를 검증한다. 

 

 

 

뒤로 가면 갈수록 짧아지는 것은 기분탓이다. -.-

 

참고자료)

 

https://ichi.pro/ko/spf-dkim-mich-dmarce-daehan-jjalb-eun-ibmunseo-167297216886173

 

SPF, DKIM 및 DMARC에 대한 짧은 입문서

더 많은 약어가 없으면 기술이 될 수 없습니다! 오늘 버전의 Buzzword Soup에서 SPF, DKIM 및 DMARC를 살펴보고받은 편지함을 괴롭히는 피싱 재앙을 막는 데 어떻게 도움이 될 수 있는지 살펴 보겠습니다

ichi.pro

 

https://medium.com/tresorit-engineering/securing-your-corporate-e-mail-system-ab302e68980c

 

Securing your corporate e-mail system

The problem with e-mails

medium.com

https://postmarkapp.com/guides/spf

https://postmarkapp.com/guides/dkim

https://postmarkapp.com/guides/dmarc

 

DKIM: What is it and why is it important?

DKIM is an email security standard designed to make sure messages weren’t altered in transit between the sending and recipient servers.

postmarkapp.com

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=aepkoreanet&logNo=222009758877 

 

이메일 보안을 위한 DMARC

DMARC(Domain-based Message Authentication, Reporting and Conformance)는 이메일 Validation...

blog.naver.com

 

https://firecatlibrary.tistory.com/135

반응형

'IT기술 관련 > 정보보안 관련' 카테고리의 다른 글

Splunk stats 함수  (0) 2023.09.13
Splunk - eval 함수  (0) 2023.09.13
Splunk 자주 사용하는 명령어  (0) 2023.09.13
Splunk 란?  (0) 2023.09.13

+ Recent posts