IT System Management/Security 12

MAC 계층 보안: 802.1X와 802.1AE(MACSec)

MAC 계층에서 사용할 수 있는 보안 기능으로는 포트별 접근 제어 표준 IEEE 802.1X MACSec으로 불리는 암호화 통신 표준 IEEE 802.1AE가 있습니다. 조직 LAN에서 사용하는 스위치가 위 표준들을 지원한다면 이더넷 탭을 통한 도청 무력화, 인가되지 않은 장비의 연결 차단 및 리포팅 등 조직의 보안 목표를 달성하는 데 활용할 수 있습니다. 802.1X 먼저 IEEE 802.1X는 포트별 접근 제어를 위한 표준입니다. 802.1X에서는 인증 대상 호스트를 supplicant, 스위치를 authenticator라는 용어로 부릅니다. 그리고 RADIUS 등의 authentication server가 있다고 가정합니다. 스위치에서 802.1X가 활성화된 포트를 controlled port, 그..

네트워크/애플리케이션 공격 유형 정리

네트워크 공격 유형 수동적 공격 Switch Jamming(MAC Address Flooding): 스니핑을 위해 스위치의 MAC 테이블을 채워 스위치가 허브처럼 동작하도록 함 TCP Full Open Scan(Connect Scan): 포트가 열린 경우 SYN+ACK가 돌아옴을 이용한 스캔 TCP Half Open Scan(SYN Scan): Full Open Scan 중 SYN+ACK 수신 후 바로 RST를 전송하여 추적 회피 TCP NULL/FIN/XMAS Scan: 포트가 열린 경우 응답이 없음을 이용한 스캔 TCP ACK Scan: 대상 방화벽이 stateful한지, 대상 포트가 방화벽에 의해 필터링 되는지 여부를 파악 능동적 공격 ARP Redirect: 공격자가 게이트웨이 MAC을 위조하여 ..

암호 알고리즘 종류 정리 & 시험용 암기 팁

대칭키 암호 알고리즘 Feistel Network 구조 DES, RC5, RC6 Blowfish, Twofish CAST, LOKI, MARS, MISTY IDEA (Feistel의 변형인 Lai-Massey Scheme 구조, PGP 채택) SEED (국내) SPN (Substitution-Permutation Network) 구조 AES (Rijndael) SAFER, SHARK, Square, Serpent CRYPTON, PRESENT ARIA (국내, Involutional SPN 구조) 비대칭키 암호 알고리즘 공개키(비대칭키) 암호 알고리즘을 사용하면 대칭키 암호에서의 키 교환 문제를 해결할 수 있다. 소인수분해 문제 기반 RSA, Rabin 이산대수 문제 기반 ElGamal ECC (Elli..

sslstrip, sslstrip+

소개 sslstrip은 클라이언트의 비보안 프로토콜(HTTP)요청을 가로채어 서버에 대신 접속하고, 클라이언트와는 비보안 연결을 유지하는 MITM 공격 도구입니다. 이걸 클라이언트에서 방지하기 위한 HSTS (HTTP Strict Transport Security)가 있으나, HSTS는 URL 기준으로 작동하기 때문에 이를 노려 HSTS를 우회하는 sslstrip+가 있습니다. Strict-Transport-Security - HTTP | MDN HTTP Strict-Transport-Security response header (종종 HSTS (en-US) 로 약칭) 는 HTTP 대신 HTTPS만을 사용하여 통신해야한다고 웹사이트가 브라우저에 알리는 보안 기능. developer.mozilla.org ..

독립망 HTTPS 연결 지연 문제

인터넷에 연결되지 않은 네트워크(e.g. 인트라넷)에서, 외부 인증기관에서 발급받은 웹 서버 인증서를 사용하면 해당 웹페이지 접속이 많이 느려지게 됩니다. 가장 좋은 방법은 내부에 사설 인증 프로세스를 구축하는 것인데, 그런 게 가능한 경우가 아니라면 아래 GPO를 수정해서 접속 지연 시간을 줄일 수 있습니다. 접속이 지연되는 이유는 인증서의 유효성을 검사하기 위한 알고리즘이 완료되지 못하고 timeout되기 때문입니다. 자세한 내용은 아래 위키피디아에 잘 설명되어 있습니다. https://en.wikipedia.org/wiki/Certification_path_validation_algorithm Certification path validation algorithm - Wikipedia From Wi..

자주 쓰는 OpenSSL 명령어 정리 (self-signed 인증서 생성)

유용한 OpenSSL 명령어를 정리해둔 페이지입니다. 1. Self-signed 인증서 생성 # -nodes 옵션을 포함시키면 평문 개인키를 얻을 수 있습니다. # 따라서 애플리케이션을 실행할 때 복호화 패스워드가 필요 없게 됩니다. openssl req -out cert.pem -newkey rsa:2048 -keyout key.pem -x509 -days 365 -nodes 2. 인증서 요청(CSR) 생성 # nodes 옵션을 포함시키면 평문 개인키를 얻을 수 있습니다. openssl req -out request.csr -newkey rsa:2048 -keyout privkey.pem 3. 인증서 인코딩 변환 # PEM to DER openssl x509 -inform pem -outform der..

strongSwan과 상용 방화벽 제품 간 IPsec 연결 구성

기본적으로 IKE/IPsec은 산업 표준이므로 해당 표준을 잘 구현한 구현체들은 큰 문제 없이 연동이 됩니다. 혹시나 필요할 수도 있을까봐, 오픈소스 IKE 데몬 strongSwan과 Cisco ASA간의 순수 IPsec 터널 설정을 정리해서 올려둡니다. 192.168.0.0/24 - [SWAN] - WAN - [ASA] - 192.168.1.0/24 strongSwan ipsec.conf config setup # strictcrlpolicy=yes # uniqueids = no # 연결 설정 기본값으로, 다른 connection에게 상속된다. conn %default ikelifetime=1440m# IKE Phase 1의 수명으로, 기본 1일. keylife=60m# IKE Phase 2의 수명으로..

CVE-2021-44228; Log4j 2 취약점 Log4Shell 확인과 대응

Log4j는 자바로 작성된 애플리케이션을 위한 로그 기록용 API를 제공하는 패키지입니다. 이번에 Log4j 2.0-beta9 이후 버전의 패키지를 통한 원격 코드 실행 취약점이 공개되면서 조치가 필요하게 되었습니다. 취약점이 포함된 파일은 log4j-core-*.jar 파일입니다. 다른 파일들은 이 취약점에 영향을 받지 않습니다. Log4j Security 페이지에서 취약점 목록과 대응 방법을 찾아볼 수 있습니다. https://logging.apache.org/log4j/2.x/security.html#

오픈소스 웹 애플리케이션 방화벽 ModSecurity

원래 Apache2.0 웹 서버 모듈로 제공되었던 modsecurity가 Apache 의존성을 없앤 독립 웹 방화벽 프로젝트(ModSecurity v3)가 되었습니다. ModSecurity는 Trustwave라는 회사의 후원을 통해 개발되었는데, 24년 7월 1일을 End-of-Life로 발표하고, 이후 개발을 오픈소스 커뮤니티에 인계한다고 발표했습니다. https://www.trustwave.com/en-us/resources/security-resources/software-updates/end-of-sale-and-trustwave-support-for-modsecurity-web-application-firewall/ 그리고 아래 github에서 ModSecurity v3 소스와 문서를 확인할 수..

TLS 작동 방식

1. TCP 3 Way Handshake 2. 클라이언트는 서버에게 자신이 지원하는 Cipher Suite를 서버에게 알려준다. (Client Hello) 3. 서버는 클라이언트에게 자신이 지원하는 Cipher Suite를 응답해 준다. (Server Hello 시작) 4. 서버는 RSA 공개키가 포함된 서버 인증서를 클라이언트에게 전달한다. 5. 만약 서버가 클라이언트 인증서를 요구할 것이라면, 이에 대한 요청도 함께 전달한다. (Server Hello 완료) 6. 클라이언트는 인증서를 요구받은 경우 인증서를 서버에게 전송한다. 7. 클라이언트는 전송받은 서버 인증서를 검증(CN 일치요부, 해지여부, 신뢰된 CA 여부)한다. 8. 클라이언트는 대칭 암호화에 사용할 임의의 숫자(PreMasterSecre..