IPS(IDS), Firewall(WAF) 차이점

HYEONG HWAN, MUN/ 8월 8, 2022/ 미분류/ 0 comments

오늘도 ISO 27001 교육을 받았다. 하나씩 듣다보면 너무나 당연한 것들을 말하곤 한다. ISMS 및 ISMS-P 관련 교육이다. 정보는 중요하고, 개인정보는 더 중요하다. Human error를 줄이게하고, Script kiddy 로 부터 시스템을 보호하는게 나의 주요 업무. 아래의 보안 용어를 혼용해서 쓰기도 한다. IPS라는 단어에 모든걸 포함하고 사용하는 경우도 있더라.   네트워크 보안 1. WAF (Web Application Firewall) OWASP TOP 10 A01:2021-Broken Access Control A02:2021-Cryptographic Failures A03:2021-Injection A04:2021-Insecure Design A05:2021-Security Misconfiguration A06:2021-Vulnerable and Outdated Components A07:2021-Identification and Authentication Failures A08:2021-Software and Data Integrity Failures A09:2021-Security Logging and Monitoring Failures A10:2021-Server-Side Request Forgery OWASP TOP 10 을 막는 소프트웨어. 트래픽을 해석해야 하기 때문에 Application Layer(Layer 7) 에서 동작한다. 내 편견일 수도 있는데, 비 전공자는 이것에 대하여 설명해주어도 이해를 못하더라. (왜 잘못된 요청까지 처리해야하느냐? 그…

2022년 FOMC 일정

HYEONG HWAN, MUN/ 8월 1, 2022/ 미분류/ 0 comments

FOMC는 Federal Open Market Committee(연방공개시장위원회)를 뜻한다. 요즘 한국 사람이면 알아야할 정보이다.   아무튼 FOMC 2022년 회의 날짜는 다음과 같다. 그리고 한국시간 기준으로 발표시간도 아래와 같다. 정확히 정각에 발표한다. 뉴스만 보면, 장기불황 이야기가 나오는데, 어떻게 대처해야 할지 모르겠다. 서울 홍대 쪽에서 일하고 있는데, 홍대쪽 빈 상가 엄청나게 많다. 점심 먹으러 갈만한 곳들이 많지 않다. 맛집이 망해가는걸 보니 요즘 불황이 체감이 되고 있다. 위 영상도 한번 살펴보자.   이렇게 불황속에 살게되는 것인가.   참고 : https://twobbang.tistory.com/3

AWS Graviton3과 클라우드 비용관리 (C7g, t5g 인스턴스)

HYEONG HWAN, MUN/ 7월 27, 2022/ 미분류/ 0 comments

내가 다니는 회사의 (내가 관리하는 클라우드 인프라) 한달 AWS 이용요금은 약 2500만원이다. 주력 인스턴스는 t3a 이며, 소수의 c5 도 섞어서 사용하고 있다. 이정도로 비용이 커지면, 클라우드 리소스를 하나 생성하기 전에 정말 많은 검토를 해야한다. 그리고 월 사용 비용이 커진것의 장점은, 신규 AWS 서비스가 출시 되었을 때 거리낌없이 테스트 해볼수 있는 것이다. 크게 테스트 해봐도 월 이용요금에서 티가 안나기 때문이다. 그리고 공식행사의 초대장이 부여되기도 하더라. 전용 어카운트 매니저가 할당된다. 아무튼 이 글에서는 AWS Graviton3 에 대해서 설명하도록 하겠다. AWS 회사에서 지난 2015년에 ARM설계회사 Annapurna Labs(안나푸르나 랩스)를 인수했다. 그 후 자체적으로 CPU를 설계하기 시작했다. AWS 자체개발 CPU 브랜드명은 “AWS Graviton” (그래비톤 CPU) 이다. Apple 의 M1 칩과 비슷한 경우인데, 하나의 회사에서 Hardware 와 Software 를 모두 관리하니, 최적화된 설계가 가능해지는 것이다. Apple…

Ubuntu – No space left on device 장애 처리

HYEONG HWAN, MUN/ 7월 21, 2022/ 미분류/ 0 comments

리눅스 사용 중에 No space left on device 장애 대응 방법에 대해 설명한다.   1. 증상 이미지 캐시 서버에서 서비스 불능 장애가 발생했다.   2. 장애 대응 1) 서버 이상 징후는 없어보였다. 2) 문제가 발생한 코드 단위로 디버깅하였고, 캐시 파일이 생성되지 않는 것을 확인하였다. 3) 해당 서버의 ssh shell 로 접속하였고, 수동으로 캐시 생성 작업을 진행해 보았다. mkdir: cannot create directory ‘test’: No space left on device # df -h disk free space 는 충분했다. TIP : 만약 디스크 공간을 다 소비했을 경우, 사용할 수 있는 명령어는 rm 뿐이다. 무조건 무언가를 삭제해야 한다. 나의 경우 이럴 때를 대비하여 swap 메모리를 설정해둔다. 문제가 발생하면 swap을 해제하고(삭제하고) 서버를 정상화 시킨다음 장애 대응을 계속 진행한다.   디스크 공간이 충분한데 왜 생성이 되지 않는…

Google Pagespeed 를 사용하여 사이트 최적화하기 (캐시서버 구축하기)

HYEONG HWAN, MUN/ 7월 18, 2022/ 미분류/ 0 comments

이 글을 통해 소스코드를 바꾸지 않고 나의 웹서비스를 최적화 하는 방법에 대해 알아보도록 합시다. 어느정도 리눅스를 다루어본 경험이 있다고 가정하고 설명합니다.   웹서비스의 가장 끝단에 필터를 설치하여 최적화를 진행합니다. 이렇게 동작하는 서비스 예시로는 Cloudflare가 있습니다. 사용자 <=> 필터(또는 프록시) <=> 웹서버 결과물   1. Ubuntu OS에 Apache, PHP 설치 Apache 만 설치해도 됩니다. 다만 일반적으로 PHP 웹서비스와 함께 사용합니다. MYSQL 같은 DB는 설치하지 않아도 됩니다. – Ubuntu 18.04 LTS – https://blog.lael.be/post/7264 – Ubuntu 20.04 LTS – https://blog.lael.be/post/10608 – Ubuntu 22.04 LTS – https://blog.lael.be/post/11072   2. MY CDN 소스코드 설치 사용 예제 코드입니다. 이것을 사용하지 않고 나만의 웹사이트에 바로 적용할 수도 있습니다. – https://blog.lael.be/post/7605   3. Google PageSpeed 설치 공식 사이트 : https://www.modpagespeed.com/doc/download Google PageSpeed 프로젝트는 Google 에서 적극적으로 개발하고 있는 Open…

Logging, Tracing, Metric 의 개념 및 차이점

HYEONG HWAN, MUN/ 7월 14, 2022/ 미분류/ 0 comments

시스템 관리자이든 개발자이든 동작 중인 소프트웨어의 작동 방식을 이해하고 싶을 것입니다. 단일 마이크로서비스 부터 방대한 모놀리식 시스템에 이르기까지 Logging, Tracing 및 Monitoring은 모두 시스템의 정확성을 보장하고, 문제가 발생할 때 무엇이 ​​잘못되었는지 추적하고, 전체 기능을 개선하는 데 도움이 되는 모든 방법입니다. 중요한 것은 Logging, Tracing 및 Monitoring이 동일한 프로세스이며, 다른 단어가 아니라는 것 입니다. 단지 각각 고유한 방식으로 작동하는 것입니다.   이러한 작업들의 목적 Investigate(Diagnostics) 가 목적입니다. 조사할 수 있고, 진단할 수 있는 것이 목적입니다. Investigate 후 장애상황 발생시, Alarm과 연동하면 MTTD를 줄일 수 있습니다. (Tracing 사용시 MTTR도 줄일 수 있음)   Logging 이란? 로깅의 목적은 오류 보고 및 관련 데이터를 중앙 집중식으로 추적하는 것입니다. 로깅은 큰 응용 프로그램에서 사용해야 하며 특히 중요한 기능을 제공하는 경우 작은 응용 프로그램에서 사용할 수…

서버 모니터링 툴 검토

HYEONG HWAN, MUN/ 7월 7, 2022/ 미분류/ 0 comments

모든 서비스 서버에 설치할 관리툴을 검토하는 중입니다. 서버 자체의 모니터링, 서비스의 모니터링, 보안기능 위주로 보고 있습니다. 적절한 환경에서 테스트중. 아직 마음에 쏙 드는것을 찾지 못했다. 일부는 유료로 테스트중이고, 일부는 trial 만 진행했다. Solutions Architect 라는게 특별한 일을 하는 사람은 아니고, 이렇게 이것저것 사용해보고, 나중에 다른사람의 문제를 듣고 원스톱으로 해결할 수 있는 솔루션을 구축하거나 말해주는 사람이다.   1. clamav 무료 백신 프로그램   2. trendmicro 이것저것 다되는 솔루션. 방화벽 관리가 마음에 든다.   3. ElasticSearch 기능이 엄~~청 많다. 특히 로그분석에 엄청 특화되어 있다.       4. whatap   5. jennifer   6. site24 이것도 기능이 엄청 많은 올인원 솔루션이다. 여기 apm 은 whatap apm 보다 성능도 떨어지고 비싸다. 7. datadog   8. New Relic     결론 : 서비스들 마다…

일과시간 이외의 서버접속

HYEONG HWAN, MUN/ 7월 4, 2022/ 미분류/ 0 comments

여러가지 모니터링 / 보안 소프트웨어를 테스트 해보고 있다.   괜찮은 항목이 있어서 메모할겸 적어봄.   Successful login during non-business hours. Successful login during weekend.    

hosts 파일의 퍼미션 권한이 없으면

HYEONG HWAN, MUN/ 6월 14, 2022/ 미분류/ 0 comments

ISMS-P 작업중임. hosts 파일의 퍼미션 권한이 없으면 다른 프로그램이 인터넷 통신을 못함.   딜로이트와 sg시큐리티컨설팅 에서는 hosts 파일을 600 으로 바꾸라고 가이드하고 있음.   systemd-resolved 가 root가 아닌 권한으로 동작하므로 name resolution 이 실패해버린다. 가이드대로 처리하면 이름 해석이 안되서 통신 문제가 발생함. 이것이 탁상 행정인가? 어떻게 해결하지.   서버 운영시 내부 서버가 통신해야 할것은, ELB, NTP, DNS, Database .   /etc/hosts 파일의 퍼미션은 644 로 설정해도 된다고 한다. non-root Process 의 network 통신을 위해서 600 대신 644로 하는게 맞는듯.    

AWS IVS 를 사용하여 Low Latency Live Streaming 구현하기

HYEONG HWAN, MUN/ 5월 10, 2022/ 미분류/ 0 comments

작성중.   솔루션즈 아키텍트 나 또한 AWS Solutions Architect 자격증을 취득하였기 때문에, SA라고 칭하도록 하겠다. SA는 클라우드 컴퓨팅이 도입되면서 나타난 포지션이다. Infra Structure 또한 Software Service 처럼 다루어지기 시작하면서, 이 서비스들을 사용해서 얼마나 잘 설계했느냐가 중요한 요점이 되었다. SA는 요구사항을 이해하고 서비스들을 설계하는 일을 하는 사람이다. 인프라는 단순히 서버 한대를 말하는 것이 아니다. CPU, RAM, DISK 를 넘어서, 네트워크 장비, 글로벌 통신망, 미디어 장비, 심지어 위와 같이 인공위성 또한 Infra 에 포함된다. 참고로 1분당 12000원을 내면 인공위성을 사용할 수 있다.  (사용처 : 일기예보, 항공뷰 등)   라이브 스트리밍 지금 이렇게 가볍게 블로그에 글을 쓸 수 있는 것은, 이미 다 구축하였고, 국내 대기업들 상대로 2년이상 무사히 운영중 이기 때문이다. COVID19이 터지기 두달 전에 개발완료 했었는데, 다행히(?) COVID19이 터지고, 비대면 수요가 엄청 증가하면서…

Ubuntu desktop 1일 사용 후기

HYEONG HWAN, MUN/ 5월 1, 2022/ 미분류/ 1 comments

아직도 소프트웨어 지원이 부족하네요. 사용하는데에, 개발자 정도의 지식수준이 필요합니다. 폰트 문제도 있습니다. 안되는걸 되게 할 수는 있는데, 너무 많은 고통이 필요합니다. 역시 컴퓨터는 mac 이 최고인것 같네요! 한줄 결론 : 괜히 이상한 짓 하지 말자.

Ubuntu 22.04 LTS 에서 웹서버(Apache + PHP + MySQL) 구성하기

HYEONG HWAN, MUN/ 4월 25, 2022/ 미분류/ 11 comments

이 글을 통해 Ubuntu 22.04 LTS 운영체제에서 APM 웹서버를 구축하는 방법에 대해 알아보도록 하겠습니다. 주의 : 이 글을 통해 설치되는 PHP 8.1 은 구문이 많이 엄격합니다! 당신의 소프트웨어가 PHP 8.1을 지원하는지 알 수 없다면, 18.04 버전이나 20.04 버전으로 구축하는것을 권장합니다. LINK : 20.04 LTS 에서 Apache PHP MySQL 설치 방법 LINK : 18.04 LTS 에서 Apache PHP MySQL 설치 방법 일반 사업체 및 실무 서비스에서 사용할 수 있는 안정적인 구축 방법을 설명 하겠습니다. * 리눅스 명령어 환경으로 접속하는 방법을 모른다면 이 글로 이동하세요. 리눅스 명령어 환경으로 원격 접속하는 방법 : https://blog.lael.be/post/7574 * 리눅스 설치 후 기초 원격접속 설정을 하려면 이 글로 이동하세요. 리눅스 서버 ssh 원격접속 설정하기 : https://blog.lael.be/post/7678 * VI 에디터(리눅스 편집기) 사용하는 방법 : https://blog.lael.be/post/7321 * Ubuntu 클라우드 서버호스팅을 찾는 중이라면 https://blog.lael.be/post/44 글로 이동하세요. *…

SSH 키, OpenSSH 키, 그리고 내 서버에 키를 사용해서 로그인하기

HYEONG HWAN, MUN/ 3월 30, 2022/ 미분류/ 0 comments

이 글을 통해 무심코 그냥 사용하고 있는, SSL, HTTPS, RSA, Public key 암호화 방식에 대해 알아보도록 하자. 공개 키와 개인 키 공개 키 인증은 암호 인증보다 더 안전합니다. 이것은 컴퓨터가 인터넷에서 노출되어 있는 경우 특히 중요합니다. 만약 암호 인증 만으로도 충분히 안전하다고 생각한다면 서버의 /var/log/auth.log 파일을 살펴보십시오. 공개 키 인증 방식의 요소는, 공개 키와 개인 키로 이루어져 있습니다. 각 키는 특별한 수학적 속성을 가진 엄청나게 큰 숫자입니다. 공개 키 알고리즘 표준 – RSA 방식 알아보기 Q) 221 = A * B 일 때, 각 A, B 는 무엇인가? A) 13 * 17 이처럼 2개의 매우 큰 소수(prime number)를 찾은 후 이것들을 곱한 값을 사용하는 방식이 RSA 암호화. Q) 2140324650240744961264423072839333563008614715144755017797754920881418023447140136643345519095804679610992851872470914587687396261921557363047454770520805119056493106687691590019759405693457452230589325976697471681738069364894699871578494975937497937 = A * B 일 때, 각 A, B 는 무엇인가?…

Ubuntu 22.04 LTS 에서의 기본 PHP 버전은 8.1.2 이군요.

HYEONG HWAN, MUN/ 3월 30, 2022/ 미분류/ 0 comments

웹서버 세팅 글을 작성하기 위해, OS패키지를 검토해보고 있는데, Ubuntu 22.04 LTS 에서의 기본 PHP 버전은 8.1.2 이군요. php 5.5.9 -> php 7.0 때의 변화보다 php 7.x -> php 8.0 때의 변화가 크기 때문에, php 소프트웨어들의 변화가 있을것 같네요. 유지보수 되지 않는 소프트웨어는 빠르게 사라질것 같습니다.   Backward Incompatible Changes https://www.php.net/manual/en/migration80.incompatible.php 를 보았는데, PHP개발자가 strict 하게 코딩하기를 바라는 마인드가 담겨있네요.   사용하시는 PHP소프트웨어가 8.1에서 잘 호환되는지 신중히 검토한 후 업데이트 하셔야 할 것 같습니다. 0 == “0” 은 여전히 계속 TRUE 를 리턴합니다. 0 == “” 는 TRUE 이었지만, 이제는 FALSE 를 리턴합니다.

AWS t3a, c5a, t4g, c6g 성능 비교

HYEONG HWAN, MUN/ 3월 15, 2022/ 미분류/ 0 comments

매우 heavy job 코드를 작성하였고, local docker 에서 개발 후, aws development 환경으로 올려서 테스트 했다. development 환경에서는 시간이 매우 오래 걸리더라. 시간이 오래 걸리는 원인은 처리하는 데이터 사이즈가 크기 때문이었다. 코드 자체는 간단한 것이라서, 코드상 최적화는 더 할 수 없는 상황이었다. 따라서 물리적인 해결방법을 하려고 생각하였고, aws instance family 별로 서버 환경을 다 구축하여, 동일한 코드로 성능 테스트를 해 보았다. 나는 RAM 이 4GB 인 서버를 매우 선호한다. 따라서 아래 Instance Size는 모두 4GB RAM 의 서버들이다. 현재 나는 ELB의 Path routing 기능을 사용하여, 경로별로 서버를 다르게 라우팅하여 고사양과 저사양 서버를 섞어서 사용 중이다.   m 은 사용한 peak memory 를 뜻한다. (단위 : MB) 1) t3a.medium 43.72 초 걸림.   2) c5a.large 28.93 초 걸림. 3) 나의 로컬…