SSO(Single Sign-On)

[정의] 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있도록 하는 통합 로그인 솔루션

[구성요소] 사용자, 인증 서버(ACL(Access Control List)을 통한 통합 인증 서버), SSO Agent(각 정보시스템에 자동인증 정보), LDAP(네트웍상의 자원을 식별하고, 사용자와 Application이 자원에 접근할 수 있도록 하는 네트워크 디렉토리 서비스)

[기술요소]
-인증 : PKI(비대칭키(공개키, 비밀키) 기반의 인증 및 암호화), 생체인식, OTP.
-관리 : LDAP(X.500을 근거로 한 디렉터리 데이터베이스에 접속하기 위한 통신규약), 쿠키.
-암호화 통신 : SSL, IPSec.
[구축유형]
-인증대행 모델(Delegation) : 인증방식을 변경하기 어려울 때 많이 사용됨. 애플리케이션 인증 정보를 에이전트가 관리해 사용자 대신 로그온 해주는 기능. ID/Password의 집중화로 유출 시 큰 피해 우려. C/S나 패키지 소프트웨어도 SSO통합가능.(C/S방식, 패키지 소프트웨어, ERP 시스템)
-인증정보 전달 모델(Propagation) : 통합 인증을 수행하는 곳에서 인증을 받아 대상 애플리케이션에 전달한 Token을 발급. 웹 환경 에서는 쿠키를 이용해 Token을 자동으로 대상 애플리케이션에 전달.(웹 기반에서 구현되는 대부분의 시스템)

 

 

EAM(Extranet Access Management)

[정의] 다양한 응용 플랫폼 환경에서 효과적인 통합인증 (SSO)환경과 이를 기반으로 통합된 권한 관리(Access Contol)시스템을 구축하기 위한 접근제어 시스템.

[특징] EAM = SSO + 권한관리 + 자원관리 기능 + 보안정책 수립지원 기능.
[동작원리] 


[구성요소]
-Clients(사용자) : 다양한 사용자 층에게 인터넷(Extranet) 기반으로 서비스 제공
-Authentication(인증/SSO) : SSO 기반, 로그인(ID/PASSWORD)기반, PKI 인증서 기반 사용자 인증
-Authorization(권한관리) : ACL (Access Control List) 기반 권한 관리와
PMI(Privilege Management Infrastructure) 기반 권한 관리 방식. 사용자별/서비스별/역할별 접근제어 기능.
-Legacy System(접근시스템) : 그룹웨어, ERP, KMS 등 다양한 기간 시스템 및 응용.

 

 

 

 

 

 

IAM(Identity Access Management)

[정의] 조직이 필요로 하는 보안정책을 수립하고 정책에 따라 자동으로 사용자의 계정과 권한을 관리하는 솔루션

[개념] 3A(Authentication, Authorization, Administration)에 Provisioning 기능을 포함한 포괄적인 의미의 IM(Identity Management) 솔루션
[프로세스] SSO(통합인증) ->(AAA) -> EAM(전사 접근제어) ->(AAA+Provisioning) -> IAM (통합관리,자동화)
[구성도 및 주요기능] 


-인증(Authentication) : 통합인증(SSO: Single Sign On). PKI, 생체인식 등 다양한 인증방법. 중앙처리
-권한부여(Authorization) : 기업의 일관된 정책을 유연하게 반영하도록
RBAC(Role Based Access Control)기반 접근권한관리 체계.
-관리(Administration) : 통합적인 Logging, 감시 리포팅. 모든 3A 기능을 관리할 수 있는 일원화된 관리.
-Provisioning : 정책기반 인증, 권한 자동생성관리. 사용자 역할/규칙에 맞는 보안요소 식별.
자동화된 프로세스로 각 업무 시스템 계정을 통합적으로 관리.
-Audit : 중앙통제, 감시강화, 평가.
-연합서비스(Federation Service) : 외부시스템과의 정보공유를 위한 보안환경 제공.
계정관리 Infrastructure 를 외부 환경으로 확장지원.
-디렉토리 서비스(Directory Service) : 계정 및 접근제어는 사용자 관련정보를 포함하며 디렉토리에 저장됨. 프로파일 및 정책등과 같은 공유정보를 관리.

 

 

 

 

 

 

 

 

 

 

 

 

[정의] 유럽의 개인에 대한 개인 정보 보호권 및 개인 정보의 자유로운 이동 보장을 위해 유럽연합 (EU)가 제정한 국제규정

 

[필요성] EU 권역내 개인정보의 자유로운 이동 보장, 일관성 있는 개인정보보호체제 확립

 

[주요골자]

① EU 역내 국민의 개인정보를 처리하는 역외 기업에게도 적용
② 중대 사항 위반 시 최대 전년도 글로벌 매출액의 4%까지 벌금이 부과
③ 개인정보처리 기준을 매우 향상
④ 정보주체인 개인의 권리를 확대하기 위해 데이터 삭제권과 이동권 등을 법제화


[GDPR 의 개인 정보처리 원칙] 적법성, 목적제한, 정보처리 최소화, 정확성, 기간제한, 기밀성/무결성, 책임성


[주요내용]
1) 적용대상 : 개인정보, 가명화정보, 민감정보
2) 적용범위 : 물리적범위(DB, 컴퓨터기반 파일링 시스템 등), 지리적 범위(EU역내/EU역외)
3) 적용대상주체 : EU 역내 거점을 둔 사업장(자회사, 지점, 판매소, 영업소 등), EU 역외 거점을 둔 사업장
4) 주요원칙 : 개인정보의 처리원칙(적법, 공정, 투명성, 목적제한, 개인정보처리 최소화), 동의(구체성 추가. 진술 적극적 행동 등), 아동 개인정보(만 16세 미만시 친권자 동의), 민감정보(법률적 이유 제외하고 원칙적으로 처리금지)


[DPO(Data Protection officer)] 개인정보보호책임자 지정

 


[컨트롤러] 개인정보의 처리 목적 및 수단을 단독 또는 공동(jointly)으로 결정하는 자연인, 법인, 공공기관, 에이전시 기타 단체 ≒ 개인정보 위탁자

[의무] 개인정보 처리의 성격, 범위, 목적, 위험성 등을 고려하여 GDPR 준수 하에 개인정보 처리가 수행되고 있다는 것을 보장. 컨트롤러는 개인정보에 관한 모든 1차적인 책임을 짐

[공동 컨트롤러] 둘 이상의 컨트롤러가 공동으로 개인정보 처리의 목적과 수단을 결정하는 경우.

 

[프로세서] 컨트롤러를 대신하여 개인정보를 처리하는 자연인, 법인, 공공기관, 에이전시, 기타 단체. 컨트롤러의 명령으로만 개인정보 처리 ≒ 개인정보 수탁자
[의무]
1)컨트롤러의 서면승인: 컨트롤러의 사전적/구체적 또는 일반 서면 승인 없이 다른 프로세서를 추가할 수 없음.
2) 프로세서의 사용: 개인정보의 처리가 GDPR 의 요구사항을 준수하고 정보주체의 권리의 보호를 보장하는 방식으로 적절한 기술적, 조직적 조치의 이행을 보증하는 프로세서만을 이용
3) 문서화 된 지시사항: 원칙적으로 문서화된 지시사항에 의해서만 처리
4) 기밀 준수, 보안조치, 컨트롤러 권리 보장, 개인정보 폐기, GDPR 준수 입증 등
5) 공동 프로세서: 만약 다른 프로세서가 개인정보 보호의무를 이행하지 않을 경우 프로세서는 다른 프로세서의 의무이행에 대해 컨트롤러에게 전적으로 책임.
[특징] 프로세서가 처리의 목적 및 수단을 결정함으로써 GDPR을 위반하는 경우, 해당 처리에 관해 컨트롤러로 간주.

 

 

 

 

 

 

 

 

 

[EU GDPR의 기업 대응방안 및 EU GDPR 적정성 평가]

 

 

 

 

 

 

 

 

 

 

[정의] 국가마다 서로 다른 정보보호시스템 평가 기준을 연동하고, 평가 결과를 상호 인증하기 위해 제정된 정보보안 평가기준,국제표준

 

[표준 구성]
Part1(cc 소개 및 일반모델) :  공통평가기준에 대한 소개부분. IT보안성 평가의 원칙과
일반 개념을 정의. 평가의 보편적인 모델 제시.
Part2(보안기능 요구사항) : TOE(Target of Evaluation:평가제품)에 대한 기능요구
정립 표준이 되는 기능컴퍼넌트의 집합.  패밀리 및 클래스로 구성.
Part3(보증 요구사항, EAL 단계별 요구사항) : 보호프로파일 및 보안목표명세서에 대한
평가기준 정의, 7 개 등급 보증패키지를 제시.


[특징] 평가, 보안등급체계, 관련작성 문서, 평가수행지침, 인증서 효력
-평가 : 보안 기능과 보호기능으로 나누어 평가. 각 기능 및 보증 요구는 사용자로 하여금
원하는 보안요구사항을 쉽게 활용 가능한 계층적 구조 정의.
-보안등급체계 : EAL(Evaluation Assurance Level) 부여. EAL 0 : 부적절. EAM 1.0 ~ EAL 7
(정형적으로 검증된 설계 및 시험평가 보안 등급체계)
-관련작성 문서: 보호프로파일(Protection Profile), 보안 목표 명세서(Security Target).
PP : 정보 제품이 갖추어야 할 공통적인 보안 요구사항을 모아 놓은 것.ST : 요구사항을 구현할 수 있는 보안 기능 및 보증 수단 정의.
-평가수행지침 : CEM(Common Evaluation Methodology). 평가진행을 위한 방법론 혹은 프로세스.
-인증서 효력 : CCRA(Common Criteria Recognition Arrangement) 가입시 효력 발생.

 

 

 

 


[절차] 준비단계(평가제출물), 평가단계(평가보고서), 인증단계(인증서, 인증결과서), 사후관리(보안영향분석서)


[PP와 ST 비교] 그림참조


[cPP(Collaborative Protection Profile)] : 기존 필수대상이 아니었으나 3 등급 이상 상호인증을 위해 필수.
- EAL 등급기반에서 보안지침(cPP) 기반으로 변경되는 제도는 국제용에서부터 적용
- EAL3 이상 인증을 받고자 하는 국내 보안업체들은 cPP 개발 참여가 반드시 필요

 

 

이후 2020년에 개정됨

 

 

 

 

 

 

 

 

 

 

1. 관계 대수(relational algebra)

  - 절차 언어 : how, what 대상

[정의] 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어

[일반집합연산] 합집합, 교집합, 차집합(-), 카티션 프로덕트(X)
[순수관계연산] Select, Project, Join, Division, Rename

 

 

 

 

 

 

 

 

2. 관계(relational calculus)

 - 비 절차 언어 : what

[정의] “어떻게 검색할 것인가” 보다 “무엇을 검색할 것인가” 만을 기술하는 선언적 표현법을 사용하는 비절차적 질의어

[구분] 투플 관계 해석(tuple relational calculus)와 도메인 관계 해석(domain relational calculus)으로 구분.


[관계 대수와의 차이점]
– 관계 해석은 하나의 선언적(declarative) 해석식으로 검색질의를 명시하며, 비절차적인 언어임
– 관계 대수에서는 연산들을 순차적으로 사용하므로 절차적인 성질을 가짐
– 두 언어의 표현력(expressive power)은 동등함

 

 

 

 

'ITPE > DB' 카테고리의 다른 글

Sharding  (0) 2021.03.06
데이터 리팩토링  (0) 2021.03.06
CRUD Matrix  (0) 2021.03.06
함수적 종속성  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06

 

 


[정의] 물리적으로 다른 데이터베이스에 데이터를 수평 분할 방식으로 분산 저장하고 조회하는 방법

 

[특징] 성능개선(큰 데이터를 압축, 개별 테이블은 각 샤드에서 더 빠른 작업을 지원),
신뢰성 개선(한 샤드가 실패하더라도 다른 샤드는 데이터 서비스를 제공), 위치 추상화


[개념도]

- 샤드 키로 설정된 칼럼의 기반으로 각각의 값에 맞는 Shard 에 저장
- 사용하는 Application 단에서는 MongoS 라는 라우팅 프로세스만 연결하므로
 Shard 구조에 대해서 알 필요가 없음.

 

 


[분할방법]
1) Vertical Partitioning : 테이블 별로 서버를 분할하는 방식
2) Range based Partitioning : 하나의 feature 나 table 이 점점 거대해지는 경우 서버를 분리하는 방식.
3) Key or Hash Based Partitioning : 엔티티를 해쉬함수에 넣어서 나오는 값을 이용해서 서버를 정하는 방식.
4) Directory Based Partitioning : 파티셔닝 메커니즘을 제공하는 추상화된 서비스를 만듦.


[고려사항] 데이터 재분배, 조인불가, 파티션 등

 

 

 

'ITPE > DB' 카테고리의 다른 글

관계 데이터 언어(relational data language)  (0) 2021.03.09
데이터 리팩토링  (0) 2021.03.06
CRUD Matrix  (0) 2021.03.06
함수적 종속성  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06

 

 

 

 

 

 

 

 

[정의] DataBase 의 Semantic의 변화없이 Schema의 변경을 통해 관리 편의성이나 속도, 정합성 개선을 확보하는 일련의 작업

 

[목적] 구조 최적화, 품질 향상, Agile 개발 지원


[DB Smell]

1. 다목적 컬럼 : 단일컬럼이 다양한목적으로 사용

2. 다목적 테이블 : 단일 테이블이 다양목적 사용

3. 중복데이터 : 많은 행과 열을 보유한 테이블

4. 스마트 컬럼 : 하나의 컬럼이 다기능적 목적 수행가능한 컬럼

5. 변화의 두려움

6. 비정상적 참조경로

7. 테이블 관계의 부적절함

8. 조회성능 및 삽입성능의 저하

 

 

 

 

 

 

 

 


[유형]

구조 리팩토링(스키마의 구조적 변경)

데이터 품질(테이블 데이터값의 일관성 및 사용성 개선)

참조무결성(제약조건 추가)

아키텍처(외부 프로그램과 상호 작용방법 개선)

기능 변환(저장 프로시저의 품질, 트리거 개선 등)


[고려사항]
1) 기존 의미에 대한 변경을 가하지 않았는지, 정보에 대한 손실은 없는지 반드시 DB Regression Test 를 수행함
2) 복원 가능한 시나리오 및 검증체계 구축

 

 

 

 

 

 

 

 

'ITPE > DB' 카테고리의 다른 글

관계 데이터 언어(relational data language)  (0) 2021.03.09
Sharding  (0) 2021.03.06
CRUD Matrix  (0) 2021.03.06
함수적 종속성  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06

 

 

 

 

 

 


[정의] 프로세스와 엔티티 타입에 대한 상관관계를 분석하여 데이터 모델의 정확성을 검증하기 위한 모델링 기법

 

[특징] 모델링 작업 검증, 중요 산출물, 테스트에서 사용, 인터페이스 현황 파악


[입력] 업무분해(기능분해도) → 프로세스, 데이터모델링(ERD) → 엔티티 타입


[관계] 데이터와 프로세스는 다:다


[특징] 모델링 검증, 테스트 설계, I/F 파악

 

 

 

 

 

 

 

 

 

[작성규칙] 상관분석표에서 행은 업무프로세스, 열은 엔티티타입


[점검]
① 모든 엔티티 타입은 CRUD가 한 번 이상 표기
② 모든 엔티티 타입에 'C'가 한 번 이상 표기
③ 모든 엔티티 타입에 'R'이 한 번 이상 표기
④ 모든 단위 프로세스는 하나 이상의 엔티티 타입에 표기
⑤ 두 개 이상의 단위 프로세스가 하나의 엔티티 타입을 생성 불가(잘못된 경우는 아니나 업무 규칙에 비추어 다시 한번 판단해 볼 필요 있음)

 

 

 

 

 

 

 

 

'ITPE > DB' 카테고리의 다른 글

Sharding  (0) 2021.03.06
데이터 리팩토링  (0) 2021.03.06
함수적 종속성  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06
ARIES (Algorithms for Recovery and Isolation Exploiting Semantics)  (0) 2021.03.06

 

 

 

 

 

 

 

[정의] 릴레이션 R에서 특정 속성 X가 특정고유속성 Y를 결정짓는 관계

 

[표현] 함수 종속도(FDD: Functional Dependency Diagram) - 애트리뷰트들간의 함수 종속관계를 도식으로 표현


[함수종속성에 대한 정규화 규칙] - 두부이결다조
- 완전함수종속성(FD) : XY -> Z 일 때, X -> Z 가 성립하지 않고 Y -> Z 가 성립하지 않는 경우 Z는 XY에 완전함수종속
- 부분함수종속성(2NF) : XY -> Z 일 때, X -> Z 와 Y -> Z 중 하나만 성립하는 경우 부분함수종속. 제 2정규화 필요
- 이행함수종속성(3NF) : 릴레이션 R에서 속성 X -> Y이고, Y -> Z이면 X -> Z임.  제 3정규화 필요
- 결정자함수종속성(BCNF) : 함수적 종속이 되는 결정자가 후보키가 아닌 경우. 즉, X->Y 일때 X 가 후보키가 아님. BCNF 필요
- 다중값 종속성(4NF)
- 조인종속성(5NF)

 

 

 

 

 

 

 

 

 


[암스트롱 공리 규칙] - 재부이분합의

 

 

 

 

 

 

 

 

'ITPE > DB' 카테고리의 다른 글

데이터 리팩토링  (0) 2021.03.06
CRUD Matrix  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06
ARIES (Algorithms for Recovery and Isolation Exploiting Semantics)  (0) 2021.03.06
MVCC (MultiVersion concurrency control)  (0) 2021.03.06

 

 

 

[정의] 현실 세계의 업무 프로세스를 추상화하여 데이터베이스의 데이터로 표현하기 위한 설계 과정

 

[단계] 요구사항분석 -> 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
 - 개념적일수록 추상적 --> 물리적일수록 구체적


[개념적 모델링 ERD 작성절차]
1) 주제영역 선정 : 하위주제 영역 또는 데이터 집합들로 구성업무 기능과 대응(상향식, 하향식, Inside-out, 혼합식)
2) 핵심데이터 집합 선정(Entity) : 데이터의 보관 단위로서 주제영역에서 중심이 되는 데이터 집합을 정의(독립중심, 의존중심, 의존특성, 의존연관데이터)
3) 관계설정(Cardinality) : 업무적 연관성에 따라 개체간 갖는 relationship 설정(1:1, 1:N, M:N, 순환관계)
4) 핵심속성 정의(Attribute) : 데이터 집합의 특성을 나타내는 항목 ==> (핵심속성 : 원자단위검증, 유일값 유무판단, 관리수준 상세화 결정)
5) 식별자 정의 (Identifier) : 데이터 집합을 유일하게 식별해주는 속성(PK 로 구현), PK, CK, AK, FK 로 구분.

 

 

 


[논리적 모델링 주요 Task]
1) 엔티티타입 도출 - 기본, 중심, 행위 엔티티타입 도출
2) 관계 도출 - 엔티티 타입간의 관계 도출
3) 식별자 도출 - PK, FK, UK, AK 등에 대한 정의
4) 속성 도출 - 기본, 설계, 파생속성을 정의함
5) 세부사항 도출 - 용어사전, 도메인정의, 속성의 규칙(기본값, 체크값)등 정의
6) 정규화 - 1 차,2 차, 3 차, BCNF, 4 차, 5 차 정규화 적용
7) 통합/분할 - 엔티티타입의 성격에 따라 통합,분할 수행- 수퍼/서브 타입 모델링 수행
8) 완료기준 task: 데이터 모델 검증 - 엔티티타입, 속성, 관계 등에 대한 적합성 검증


[물리적 모델링 주요 변환단계]
(1)일괄전환 : 1) Entity 를 Table 로 전환 : Sub Type 설계 방안 -> 2) 식별자의 PK 정의 : Artificial Key 검토, PK 컬럼 순서 검토 -> 3) 속성을 컬럼으로 전환 : 영문 컬럼명 매핑, 데이터 타입/길이 결정, Domain 정의, 컬럼 순서 결정
4) 관계를 컬럼으로 전환 : 참조무결성 규칙 및 구현방향 결정
(2)구조조정 : 슈퍼타입/서브타입 모델 전환 : 트랜잭션의 성격에 따라 전체 통합, 부분 통합, 개별 유저에 대한 의사 결정을 통해 데이터 모델 조정
(3)성능향상 : 성능을 고려한 반정규화 : SQL 활용 능력의 미흡으로 인한 빈번한 비정규화는 배제하도록 신중하게 검토

 

 

 

'ITPE > DB' 카테고리의 다른 글

CRUD Matrix  (0) 2021.03.06
함수적 종속성  (0) 2021.03.06
ARIES (Algorithms for Recovery and Isolation Exploiting Semantics)  (0) 2021.03.06
MVCC (MultiVersion concurrency control)  (0) 2021.03.06
Timestamp Ordering  (0) 2021.03.06

 

 

 

[정의] REDO중 역사 반복(Repeating history) 붕괴가 발생했을 때의 데이터베이스 상태를 복구하기 위해, 붕괴 발생이전에 수행했던 모든 연산을 다시 한번 수행하는 알고리즘

 

[특징]
- UNDO : 붕괴가 발생했을 때 완료되지 않은 상태였던 진행 트랜잭션은 UNDO 됨
- UNDO 중 로깅하여 도중 실패 시 반복 하지 않음: UNDO를 할 때에도 로깅을 함으로써
회복을 수행하는 도중에 실패하여 회복을 다시 시작할 때에 이미 완료된 UNDO 연산은 반복하지 않음

- WAL(Write-Ahead Logging)방식을 이용 : 데이터베이스 시스템에서 ACID의 특성 가운데 원자성과 내구성을 제공하는 기술의 한 계열이다. WAL을 사용하는 시스템에서 모든 수정은 적용 이전에 로그에 기록된다.

 

 


[회복 알고리즘의 3단계]
1단계) 분석단계 : 붕괴가 발생한 시점에 버퍼에 있는 수정된 페이지와 진행 트랜잭션을 파악,
REDO가 시작되어야 하는 로그의 위치를 결정
2단계) REDO단계 : 분석 단계에서 결정한 REDO 시작 위치의 로그로부터 로그가 끝날 때 까지 REDO를 수행,
REDO 된 로그 레코드의 리스틀 관리하여 불 필요한 REDO 연산이 수행되지 않도록 함
3단계) UNDO단계 : 로그를 역순으로 읽으면서 진행 트랜잭션의 연산을 역순으로 UNDO 함


[필요정보]
- 로그(LOG) : 페이지에 대한 갱신(write), 트랜잭션 완료(commit), 트랜잭션 철회(abort), 갱신에 대한 UNDO, 트랜잭션 종료(end) 시 기록, 각 로그 레코드마다 로그 순차번호LSN 할당. (LSN: 디스크에 저장된 로그 레코드의 주소로서 단조 증가 –Log Sequence Number)
- 트랜잭션 테이블 : 진행 트랜잭션에 대한 정보(트랜잭션 식별자, 트랜잭션 상태, 해당 트랜잭션의 가장 최근 로그레코드의 LSN 관리)
- 오손 페이지 테이블(dirty page table) : 버퍼에 있는 오손 페이지에 대한 정보(페이지 식별자, 해당 페이지에 대한 가장 최근 로그 레코드 LSN 관리)

 

 

 

 

[ARIES에서의 검사점 기록]

1.로그에 begin_checkpoint 레코드를 기록하기

2.로그에 end_checkpoint 레코드를 기록하기

   트랜잭션 테이블과 오손 페이지 테이블의 내용도 함께 저장한다.

3.특수 화일에 begin_checkpoint 레코드의 LSN을 기록하기

 

 

[ARIES에서 회복의 예]

(a) 붕괴시의 로그

 

(b) 검사점을 기록할 때의 트랜잭션 테이블과 오손 페이지 테이블

 

(c) 분석단계가 끝난 후의 트랜잭션 테이블과 오손 페이지 테이블

 

 

 

'ITPE > DB' 카테고리의 다른 글

함수적 종속성  (0) 2021.03.06
데이터 모델링  (0) 2021.03.06
MVCC (MultiVersion concurrency control)  (0) 2021.03.06
Timestamp Ordering  (0) 2021.03.06
낙관적 검증(Validation)  (0) 2021.03.06

+ Recent posts