SSL 핸드쉐이크 SSL 핸드쉐이크는 TCP 연결이 성립된 상태(Established)에서 진행됩니다. TLS/SSL 핸드쉐이크는 클라이언트가 HTTPS 웹 사이트를 탐색할 때 원본 서버를 찾기 시작할 때 발생 API, HTTPS, DNS쿼리를 할 때에도 TLS 핸드쉐이크가 발생합니다. 신뢰할 수 있는 사이트인지 판단 서버가 SSL 인증서를 제공(공개키와 서비스의 정보) 브라우저는 이 인증서를 발급한 CA가 자신의 CA리스트에 있는지 확인 존재한다면 CA의 공개키를 이용해 인증서 복호화, 이게 가능하면 신뢰 가능 SSL 핸드쉐이크 과정 1. 클라이언트 -> 서버 : SSL버전 정보, 암호화 방식, 무작위 바이트 문자열 전달, 이미 SSL 연결을 했었다면 세션 재사용 가능 2. 서버 -> 클라이언트 : 암..
TCP 3-way handshake 세션 연결, 4-way handshake란? TCP는 비연결지향인 UDP와는 다르게 연결 지향 서비스로 연결에 신뢰를 보장하기에 connection 과정인 핸드쉐이크를 거치게 됩니다. 3-way handshaking을 통해 연결을 하고 4-way handshaking을 통해 연결을 해제합니다. UDP의 경우는 비연결형 서비스이기 때문에 따로 연결, 해제 과정이 존재하지 않습니다. UDP의 경우 네트워크 부하가 적다는 장점도 있지만 신뢰성이 낮은 단점이 있어 게임, 스트리밍 서비스 등에 사용됩니다. 쉽게 말해서 DATA를 주고 받기 전 연결을 맺는 과정입니다. 3way-Handshaking(연결) 1. 클라이언트 -> 서버 : SYN 2. 서버 -> 클라이언트 : SYN..
GRANT는 사용자에게 접속권한, 오브젝트 생성권한 등의 권한을 부여해주는 SQL 문입니다. 사용자에게 select, update, delete 등의 권한을 주는 등으로 사용할 수 있습니다. REVOKE는 사용자에게 부여한 권한을 다시 회수하는 명령어입니다. (MySQL 기준) 형식 GRANT 사용권한 ON 데이터베이스.테이블 TO 사용자이름@'호스트' IDENTIFIED BY '패스워드'; 위와 같이 사용할 수 있습니다 ALL PRIVILEGES 는 모든 권한을 다 준다는 의미로 SELECT, INSERT, UPDATE, DELETE 등의 권한을 별도로 줄 수도 있습니다 데이터베이스, 테이블 이름을 *.* 로 설정하면 모든 데이터베이스와 테이블에 대해서 권한이 생깁니다 SELECT user, host ..
리눅스 인터페이스 속도 확인 및 조절 방법 이더넷 네트워크의 속도는 10Mbps, 100Mbps, 1000Mbps 등으로 다양합니다. 인터페이스의 속도와 이더넷 케이블의 속도가 맞지 않으면 통신이 이루어지지 않을 수 있습니다. 오늘은 리눅스에서 인터페이스 지원 속도를 확인하는 방법에 대해서 알아보겠습니다. 현재 장치의 Lan 카드 사양 확인 # lspci -m |grep -I Ethernet Ethtool을 이용하여 인터페이스 최대 속도 변경 # ethtool [인터페이스명] 명령어로 인터페이스에 대한 정보들을 확인하실 수 있습니다/ 여기서 인터페이스의 전반적인 정보들과 지원하는 속도를 확인하고 변경할 수 있습니다. 인터페이스 지원 속도 변경 명령어 # ethtool -s speed [10 | 100 |..
리눅스 파일 복사 하는 법 cp는 copy의 줄임 말로 디렉토리(폴더)나 파일을 복사할 수 있는 명령어입니다. 보통 mv와 비슷하게 사용될 수 있지만 파일 자체가 옮겨지는 mv보다는 cp가 유실에 있어서는 더 안정적일 수 있습니 사용법 cp [옵션] [대상] [목적지] ex) $ cp OldFile NewFile OldFile을 NewFile로 복사합니다. 경로를 입력해서 # cp /home/oldfile /to/newfile 이런식으로 옮길 수도 있습니다. # cp /home/file1 /to/dir/ 이렇게 목적지에 /를 두면 file1이 dir 디렉토리 안으로 들어갑니다. 옵션 -i : 이미 존재할 경우 사용자에게 덮어 쓰기 여부를 묻습니다. -b : 이미 존재할 경우 백업파일을 생성합니다. -f ..
wheel 그룹 외 sudo 명령어 사용 제한 리눅스에서 관리자 계정 외 사용자들을 추가하고 그룹을 만들어 관리할 수 있습니다. 그중 wheel 그룹이라는 관리자 역할을 대행할 수 있는 그룹이 있습니다. wheel 그룹에 추가된 사용자 외에는 su, sudo 같은 명령어를 통제할 수 있습니다. wheel 그룹 외 su 명령어 사용 제한 방법 # vi /etc/pam.d/su 6번째 줄의 #auth required pam_wheel.so use_uid 부분의 주석을 제거하게 되면 wheel 그룹 외에는 su 명령어를 사용할 수 없게 됩니다. 그룹 확인 명령어 # cat /etc/group wheel 그룹의 계정 확인 명령어 grep wheel /etc/group wheel 그룹 추가/삭제하는 방법 chgr..
SNI(server name indicate) SN은 CN 과 비슷한데 sni는 와이어샤크 등으로 패킷 뜨면 server name 부분에 나옵니다. cn과 겹칠때가 간혹 있습니다. 보통 개발자 분들이 말할 때 cn 에 sni를 포함시켜 따로 분류하시지 않습니다. SNI는 TLS/SSL 프로토콜의 확장 표준입니다. 클라이언트가 처음 접속할때 어떤 Host로 접근하는지 그 이름을 서버한테 보내는 기능이고 컴퓨터 네트워크 프로토콜인 TLS의 확장으로, 핸드셰이킹 과정 초기에 클라이언트가 어느 호스트명에 접속 하려는지 서버에 알리는 역할을 한다. 이를 이용하면 같은 IP 주소와 TCP 포트 번호를 가진 서버로 여러 개의 인증서를 사용할 수 있게 되고, 따라서 모든 사이트가 같은 인증서를 사용하지 않아도 동일한 ..
Linux에서 nologin 계정이란? /sbin/nologin이란? nologin 되어있으면 shell 로그인 자체가 불가한 계정을 의미합니다. 일반적으로 cmd, putty, 하이탐, mobaxterm 등 서버 접근 제어 프로그램을 이용해서 SSH 로그인 되는 것을 못하게 막습니다. 일반 계정은 만들어질 때 /bin/sh에 할당되어 기본적으로 쉘 로그인이 허용됩니다. 하지만 nologin 유저는 /sbin/nologin에 할당 되며 쉘 로그인이 불가합니다. nologin 계정의 목적 임시 정지 계정 또는 FTP, SMTP, POP3 등의 기타 목적을 위해 생성하는 계정입니다. nologin 계정을 직접 만들어 보면서 실습해 보도록 하겠습니다. # cat /etc/shells /etc/shells 에서..
리눅스 cut 명령어로 문자열 자르기 cut 명령어는 파일(file)이나 입력에서 받은 문자열을 잘라서 새로운 문자열을 만들어 내는 명령어 입니다. 다양하게 활용이 가능하고 잘 사용하게 되면 굉장히 유용한 명령어 예요 옵션 의미 -b, --bytes 바이트를 기준으로 잘라냅니다. -c, --characters 문자열을 기준으로 잘라냅니다. -d, --delimiter 지정한 문자를 구분자로 사용합니다. (기본 TAB) -f, --fields 필드를 기준으로 잘라냅니다. -z, --zero-terminated 라인의 구분자를 개행문자가 아닌 NUL 을 사용합니다. /etc/passwd 계정 정보에서 cut을 사용해서 원하는 데이터를 분리해 보도록 하겠습니다. # cut -b 2-16 /etc/passwd ..
UTP 케이블에 대하여 장비와 장비를 연결하기 위해서는 케이블이 언제나 필요합니다. 케이블의 종류에는 광케이블, UTP 케이블, 동축 케이블 등이 있습니다. 이 중 우리가 일반적으로 많이 사용하는 UTP 케이블에 대해서 알아보겠습니다. UTP는 Unshieled Twisted-Pair 감싸지 않은 꼬인 두 가닥 입니다. 이와 비슷한 STP라는 Shieled 감싼 더 비싸고 성능 좋은 케이블도 있습니다. 카테고리 UTP에는 카테고리라는 개념이 있습니다. 카테고리 1 : 주로 전화망에 사용하는 용도로 만들어진 케이블입니다. 따라서 데이터 전송용으로는 맞지 않습니다. 카테고리 2 : 데이터를 최대 4Mbps의 속도로 전송할 수 있는 능력을 가지고 있는 케이블이라 고 합니다. 저 역시 본 적이 없는 케이블입니다..
anysign이라는 프로그램이 방해가 되는데 어떤 프로그램인지 알고 싶으신 분들을 위해서 준비했습니다. Anysign for PC는 한글과 컴퓨터의 보안기업 한컴 시큐어에서 만든 Non-ActiveX 기반 공인인증 및 웹 구간 암호화 프로그램입니다. ActiveX가 많이 사라지는 추세이지만 이제는 이런 보안 프로그램이 자리를 대체하고 나섰습니다. AnySign for PC 제거 및 서비스 중지 방법 보안에 있어 꼭 필요한 프로그램이지만 이 프로그램이 컴퓨터에 계속 상주하면서 cpu 메모리를 많이 갉아먹고 있습니다. 어떠한 오류로 인해서 가끔씩 anysign 때문에 cpu가 100%까지 차오르는 경우도 있습니다. 이러면 노트북의 경우는 배터리 감소가 더욱 심해지게 됩니다. 컴퓨터를 부팅하게 되면 항상 실행..
맥북을 오래 사용하시다 보면 용량도 적어지고, 속도도 느려지는 느낌을 받으실 때가 있을 겁니다. 그리고 알 수 없는 오류로 맥북이 멈춘다거나 하는 오류가 발생하는 경우도 생길 거예요 이런 일들을 방지하고 해결하기 위해서는 맥북을 포맷하고 클린한 상태에서 재설치를 하는 방법이 있습니다. MacOS 클린설치를 위한 부팅 USB를 만드는 방법에 대해서 알아보겠습니다. 준비물은 8GB 이상의 공간이 있는 포맷 가능한 USB가 필요합니다. 클린설치용 USB를 만들고 나면 USB 안에 있는 자료들은 모두 포맷되니 미리 다른 공간에 백업을 해주세요 1. 맥OS 다운로드 먼저 USB를 만들기 전에 맥OS 운영체제를 다운로드 해주셔야 합니다. 아래의 링크로 들어오셔서 맥용 운영체제를 다운로드 해주세요 https://su..