;

728x90

2020년 7월부터 크롬 정책 변경으로 인해 결제 시스템 오류가 생겼던 것 해결 방법입니다.

다양한 조치방법이 있던데 아파치 톰캣 서버를 쓰고 있어서 다소 쉬운 방법으로 해결했습니다.

 

서버에 설치한 톰캣 폴더 conf파일 밑에 context.xml 소스에 아래 구문을 추가하시면 됩니다.

 

 <CookieProcessor sameSiteCookies="none"/>

 

 

 

 

 

 

 

728x90

파일 업로드와 다운로드의 인터넷 표준프로토콜이 FTP이다.

-> inetd에 의해 ftpd 라는 데몬에 의해서 유닉스에서 실행 

-> 데몬은 메모리에서 상주하는 실행되는 프로그램 뒤에 d가 붙음


FTP Active 모드

-> 파일 업로드 및 다운(get, put) 이런 명령어를 사용하기 위해서는 21번 포트를 사용

-> 데이터를 보내고 받을 땐 random port를 사용한다. 클라이언트가 임의의 포트를 선택해서 21포트로 보내주면 통신함


FTP Passive 모드

-> 데이터를 보내고 받을 때 FTPD(FTP DEMON)이 포트를 선택해서 데이터를 주고 받음.

-> FTPD는 실행할 때 -L 이라는 설정을 주면 XFERLOG에 FTP 로그기록을 남긴다.


FTP는 익명의 사용자가 있다. 패스워드 없이 쓸 수 있음

-> 익명의 사용자를 통해서 PORT SCANNING 공격을 할 수 있는데 BOUNCE ATTACK을 할 수 있다. 열려있는 포트를 파악하기 위해 사용


SMTP는 메일을 송수신 할 때 사용하는 프로토콜이다. 


OUTLOOK PG-> OUTLOOK SV(송신자)-> OUTLOOK SV -> OUTLOOK CL(수신자)


메일을 읽어갈때 원본의 내용을 지우는 것을 POP이라하고 지우지 않는 것을 IMAP이라 한다.


SEND MAIL의 ACCESS FILE의 설정값 암기하기.


한국인터넷진흥원에서 제시하는 웹서버는 APACHE와 IIS가 있다.

APACHE는 HTTPD라는 데몬에서 기동이 되고 80번 포트를 사용한다. 

-> 80번 포트를 사용하기 위해서는 반드시 ROOT USER로 기동이 되야 한다.

-> 자식 프로세스까지 ROOT USER로 기동될 필요는 없음.

-> HTTPD.COF라는 파일을 읽어서 작동. 설정파일이다.


언제 연결, 시간, 어떤 페이지를 요청, 응답값을 정상적으로 보냈는지. 이런 로그들을 ACCESS 로그라 함. 


DNS 는 WWW.NAVER.COM -> 을 123.123.12.12 로 바꿔주는 역할

-> 자신의 이름을 모르는 DNS가 들어오면 

-> 상위 DNS인 NIC에 요청을하여 응답을 받는다. 이것을 쿼리라 한다.

-> 매번 이렇게 요청하면 느리기 때문에 CACHE TABLE에 IP주소, URL을 가지고 있어서 TABLE에 한번 갔다가 없으면 NIC에 요청한다. 

-> CACHE TABLE 조작하면 DNS Spoofing이 발생

-> NAMED.CONF라는 파일을 읽어서 작동. 설정파일이다.

-> DNS는 서버가 죽으면 주소를 읽지 못하기 때문에 2개의 주서버와 보조서버를 둔다. 주서버의 데이터를 보조서버에 보내는 것을 JOHN TRANSFER라 한다.


데이터베이스 암호화

1. 암호화 -> plug in방식은 데이터베이스 내에 암호화 소프트웨어 설치 , api방식은 애플리케이션에서 암호화함.

-> 현재는 컬럼단위의 암호화만 사용함.

2. G/W 

3.Sniffing
















728x90

유닉스 파일시스템 구조는 UFS -> 윈도우 탐색기와 같다.

운영체제에 메모리에 올리는 것을 로드라 한다. -> 이것을 올리는 프로그램을 부트 프로세스 -> 이것에 대한 정보가 부트블럭이라한다. 


빈 공간, 디스크사이즈, 파일들에 대한 정보, i-node 목록 -> 슈퍼블록


I-node 블록(파일에 대한 정보)

A.txt 라는 파일을 만들었을 때 컴퓨터는 이름으로 관리할 수 없다. 2진수 체계이기 때문에 Number 단위로 관리를 한다. 이름이 똑갈수도 있기 때문에 -> 이것을 i-node라함. -> 하위의 다른폴더에 A.txt가 생성됬을 때 링크정보가 있어야됨. -> 파일을 누가 언제 만들고 수정했나?, 파일 권한정보


유닉스는 부트블록, 슈퍼블록, I-node블록, 데이터블록로 구성


비번설정 /etc/passwd 에 저장되는데 보안을 위해 비밀번호만 shadow에서 관리. MD5 해시함수로 저장


명령치면 응답해주는것을 셀이라하고 이것을 인터프리트 한다.


디폴트 권한은 UMASK라 한다.

022 일 경우 777에서 뺐을때 -> 755


PASSWD 파일엔 SETUID 권한이 부여되어있다.


SETUID (4000) 순간적으로 루트의 권한

SETGID (2000)                그룹의 권한을 가짐.

STIC BIT(1000) 공유폴더 -> 여기에 악성파일을 심어두고 다른 사람이 공유폴더를 읽으면 오작동한다. -> Race condition이라 함.


윈도우의 핵심은 레지스트리다(설정정보를 가지고 있음)


PROTOCOL

1. 동기인지 비동기인지 2. 형태 (STX로 시작) 3.에러(FEC, 포워드에러컨트롤), CRC 특정한값을 나눠서 이상이없으면 이상이없다고 봄.

BEC(백워드 에러 컨트롤?) -> TCP







728x90

리눅스 - 오픈 , 윈도우 - 폐쇄형 


작업이 들어오고 순서대로 들어오는 것을 준비 큐(작업)이라 한다. 큐라는 자료구조를 사용한다. -> 스케줄링에 사용한다. FIFO


CPU 상태전이

준비큐에 작업들이 기다리고 있다가 CPU에 들어가서 실행을 한다. -> DISPATCH라 한다 (CPU점유) -> 일정한 시간 할당량을 준다.(TIME RUN OUT) 


연산을 하다가 디스크에서 데이터를 읽어와야된다. I/O채널에다가 디스크에서 자료를 읽어줘 -> 준비큐에서 대기상태로가는데 이것을 블록킹이라함


입출력을 다하고 다시 CPU에 가는데 그것을 WAKE UP이라함. 


모든 프로세스는 한 개의 스레드를 가지고 있다. -> 병렬적처리가 멀티 스레드라함.

ex) 백신 프로그램이 동시다발적으로 검사함(멀티 스레드)


CPU 스케줄링

야 너 1초안에 못하면 나가 -> ROUND ROBIN 방식


멀티 레벨큐

큐가 하나였는데 레벨별로 큐를 분류하여 일을 함.


멀티 레벨 피드백큐 (ROUND ROBIN + 멀티레벨큐)

큐가 똑같이 여러개 있는데 첫 번재 큐에 들어갔을때 1초 안에 처리못하면 나와서 두번 째 큐로 감 또 못하면 세번 째로감. 피드백된다.


교착상태

교차로에 차가 다 들어오면 다들 움직이지 못함.


조건 : 비선점, 상호배제(하나만 쓸수 있음), 점유와대기, 환형대기

예방기법 : 은행원 알고리즘(대출심사 : 프로세스가 자원을 요청하면 그 프로세스가 쓸수 있는 한도를 준다.)


디스크

FCFS : 왼쪽 갔다 오른쪽 갔다하면서 실행

SSTK : 가장 짧은 거리를 실행

SCAN :진행방향에 있는 것부터 우선실행, 엘레베이터 알고리즘(1층에서 5층까지) 

C-SCAN : 바깥쪽에서 안쪽으로만 가서 실행












728x90

컴퓨터 시스템 전체정리

CPU는 반드시 메모리(RAM, ROM)를 참조해서 데이터를 가져와야된다. 

CPU는 컴퓨터중에 가장 빠르다. 메모리는 가장 느리다. 


-> 캐시 메모리 사용(속도 맞추기 위해)

-> 용량은 메모리보다 작고 CPU보다 크지만 속도는 메모리보다 빠르고 CPU보단 느리다.

-> 메모리와 디스크사이의 속도를 조절하기 위해 중간에 두는 것이 I/O 채널(입출력장치)


CPU - 캐시메모리 - 메모리 - 디스크 길이 있어야 데이터를 보내는데 이것을 버스라 한다.


-> 위로 갈수록 속도가 빠르고 용량이 작다. 이 것을 계층형 구조라한다.


MAR(Memory address register), MBR(Memory Buffer Register), IR(Instruction register)

-> 1 + 2을 더 할때 1도 가져와야되고 + 도 가져와야되는데 이것을 읽어오는 것이 MAR이다.

MAR은 메모리에가서 데이터를 쭉 읽어옴. 읽어온 것을 MBR에 집어넣는다. + 는 명령이다. 명령하는 것은 OP CODE라 부른다. IR(Instruction register)에 집어넣는다. MBR과 IR을 읽어들여서 +를 하고 그 결과를 임시로 저장하는 곳을 ACC라고 한다. 연산이 되고 다음의 명령을 실행하는 메모리 주소를 PC(Program Counter)라고 한다. 


-> CPU안에 임시적으로 저장할 수 있는 작은 메모리를 레지스터라 한다.


CPU 가 연산을 하고 결과를 반납하는 일련의 과정을 Major State 혹은 Instruction Cycle 이라한다.


사이클 반복(CPU와 메모리사이의 일)

Fetch -> Indirect(너 여기가면 다른데로가, 한번 더 참조) -> Execution -> Interupt


캐시 메모리의 일관성

캐시메모리와 메모리가 결과값 일시적으로 다를 수 있는데 이것을 캐시 메모리의 일관성이라함

-> CPU가 캐시메모리를 바꿀 때 메모리를 바꾸는 방법(WRITE-THROUGH), CPU가 캐시메모리를 바꿀 때 캐시메모리를 바꿨다가 한번에 바꾸는 방법(WRITE-BACK)


메모리는 데이터를 DISK에서 가져옴, DISK에 있는 내용을 메모리에 올려야됨. CPU가 +,- 를하다가 어떤 값을 읽을때 메모리에 요청을 하고 메모리는 DISK에서 데이터를 읽어서 CPU에게 전달한다. 이 과정에서 CPU는 가만히 기다리고 있다. 

-> 프로그램에 의한 입출력(비효율)


CPU는 +, - 를 하다가 입출력 인터럽트가 일어날 때 순간적으로 그때만 함 

-> 입출력 인터럽트 방식


DMA제어기를 하나두고 입출력을 처리하게 해줌. DMA 제어기에 프린터기, 디스크, SSD를 연결해서 CPU가 메모리를 사용하지 않을 때 그때만 메모리에 가서 데이터를 올려주거나 내려줌

-> DMA 방식


입출력 전용 카드(CPU)를 꽂음(병렬)

-> I/O 채널


CPU는 WORD 단위이다. 1WORD(논리적) = 4BYTE(물리적) = 32BIT 컴퓨팅, CPU가 데이터 32BIT를 한꺼번에 올려서 데이터를 처리한다.


주소 체계 흐름

메모리는 물리적인 주소를 프레임이라한다.  보조기억장치중에 디스크는 섹터라하고 SSD는 천크라 부름. 가상 메모리는 디스크를 메모리처럼 사용한다는 것인데 디스크의 일부를 메모리의 주소체계를 둔다. 


주소 체계가 모두 다름.

메모리 - 프레임

가상기억장치(디스크) - 버추얼 어드레스

디스크 - 섹터


세개의 주소체계가 달라서 각각의 매핑표가 필요하다. 가상기억 장치의 메모리를 관리하기 위해서 가상의 공간을 고정길이도 두면 페이지, 때의 따라서 크기가 다른 것을 세그먼트


페이지 - 페이지 맵 테이블을 참조해서 메모리에 직접갈 수 있게함.

세그먼테이션 - 세그멘트 맵 테이블이 필요하고 각 세그먼트는 고유한 이름과 크기를 가지고 있다.



728x90

정의 : 다른 시스템 간의 원활한 통신을 위해 ISO에서 제안한 통신규약


물리계층 -> 데이터링크계층 -> 네트워크계층 -> 전송계층 -> 세션 계층 -> 표현 계층 -> 응용 계층


물리계층 

- 전송에 필요한 두 장치 간의 실제 접속과 절단 등에 필요한 전송 매체의 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의


종류 

허브 : 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치, 각 회선을 통합적으로 관리, 신호 재생기을 하는 리피터의 역할도 포함

리피터 : 전송되는 신호를 재생함


데이터 링크 계층

 - 2개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함.

 - 흐름 제어, 프레임 동기화, 오류 제어, 순서제어

 - HDLC, LAPB. PPB. LLC


네트워크 계층

 - 개방 시스템들 간의 네트워크 연결관리, 데이터 교환 및 중계, 

 - 경로 설정(라우팅), 트래픽 제어, 패킷정보 전송

 - x.25, IP


전송 계층

 - 종단 시스템간에 투명한 데이터 전송을 가능하게 함

 - 전송 연결 설정, 데이터 전송, 연결 해제 기능

 - 주소 설정, 다중화, 오류제어, 흐름제어

 - TCP, UDP


세션 계층

 - 송수신 측 간의 관련성을 유지하고 대화 제어를 담당

 - 대화 구성 및 동기 제어, 데이터 교환 관리기능

 

표현 계층

 - 응용 계층으로부터 받은 데이터를 세션 계층에 맞게, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환


응용 계층

 - 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공함