IT 거품이 엄청빨리 꺼지네요.

HYEONG HWAN, MUN/ 3월 11, 2023/ 미분류/ 0 comments

직접적인 트리거는 파월의 금리인상이며, 이로 인해 시장의 투자성 금액이 급격히 줄어들었습니다. 현재, 투자금으로 굴러가는(운영되는) 많은 IT 기업이 위기에 직면해 있습니다. 실제 수익이 나는 알짜 IT 기업만 남을 것입니다.     사실 이 현상이 일어날 것이라는 것은, IT 투자 전문펀드인 비전펀드의 위기로 미루어 짐작할 수 있었습니다. 과거 3년간, 블록체인, 메타버스, NFT 등의 용어를 사용하면 돈이 엄청나게 몰리는 기이한 현상을 보면서 의아해 했는데, 이제서야 그 버블이 터지기 시작하고 있네요. 너무 급격하게 거품이 터져서 우려스러울 정도입니다.   요즘, 생소한 용어를 사용하며 활동하는 IT 전문가가 많은데, 이번 기회에 가짜와 진짜가 잘 걸러졌으면 좋겠습니다. 제 블로그를 보고 있는 여러분도 어느것이 거품이었고, 어떻게 거품이 터지고 있는지 잘 살펴보시기 바랍니다.      

php max_execution_time 및 mysql 등 시간제어

HYEONG HWAN, MUN/ 2월 13, 2023/ 미분류/ 0 comments

관련 정의는 다음과 같다. https://www.php.net/manual/en/info.configuration.php#ini.max-execution-time   max_execution_time int This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0. On non Windows systems, the maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details. Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.…

미래의 유망한 사업 분야

HYEONG HWAN, MUN/ 2월 5, 2023/ 미분류/ 0 comments

AI에게 “미래의 유망한 사업 분야” 에 대해 질문하였고, 아래와 같은 답변을 받았다.   There are several promising business sectors for the future, including: Renewable Energy: With the increasing awareness about climate change and the need to reduce carbon emissions, the demand for renewable energy sources is expected to grow rapidly. Artificial Intelligence: AI is being increasingly adopted across industries, and its applications are vast, including automation, predictive maintenance, and personalized customer experiences. Healthcare: With an aging population and increasing demand for better healthcare services, the healthcare sector is poised for growth, particularly in areas such as telemedicine, genomics, and personalized medicine. E-commerce: Online shopping continues to grow in popularity and the trend is expected to continue. The market for e-commerce…

CloudFront Lambda 함수 삭제

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

1. 트리거는 표시가 부정확하다. 트리거에 안보여도 사용중일수 있음. 별로 신뢰하지 않음. 트리거에 보이다가도 몇번 수정작업 하다보면 사라져있는것을 볼 수 있음.     2. 삭제 해서 지워지면 안쓰고 있는것. CloudFront 에서 함수를 사용하면 replicated 상태가 된다. (어찌보면 당연한 동작임) 이러한 replicated 상태인 lambda는 삭제가 되지 않는다. CF 들어가서 모두 해제하면 삭제가능하게 바뀜.     https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-delete-replicas.html      

올바른 비밀번호 암호화 알고리즘 선택하기 (안전하게 패스워드 저장하기)

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

    암호화에 대한 마음에 드는 설명글이 없어서 내가 하나 작성해 보려고 한다. 암호화(暗號化)란? 먼저 “암호화“의 단어의 뜻에 대해 알아보도록 하자. 많은 사람들이 암호화를 제대로 구현하지 못하는 이유는, 단어의 뜻을 올바르게 이해하지 않고 구현하기 때문이다. 암(暗) : 어두울 암 호(號) : 부를 호 어둡게 부르는 것을 암호라고 한다.   몇가지 암호화의 예제를 알아보자. 원본 메세지(original message) : HELLO 암호화 메세지 : H1E1L1L1O1 암호화 방식 : 각 문자 뒤에 1 문자를 삽입. 단점 : 암호화 방식(1을 제거)을 알면 손쉽게 원본을 알 수 있음 원본 메세지(original message) : HELLO 암호화 메세지 : HLL 암호화 방식 : 원본 메세지에서 모음(AEIOU) 알파벳을 제거. 단점 : 원본 메세지가 손실됨. HOLLA 같은 메세지와 동일한 암호화 결과를 만들어내는 충돌(collision)문제가 있음. 원본 메세지(original message) : HELLO 암호화 메세지…

developer tool 막는코드

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

debugger를 걸고 시간을 체크해서 막는다. 같은 라인으로 설정해서 never pause here 도 막는다. 난독화된 막는코드 <script type=”text/javascript”> (function(_0x58753b,_0x16ff52){var _0x135e8f=_0x5dcf,_0xde025=_0x58753b();while(!![]){try{var _0x31c520=-parseInt(_0x135e8f(0xc0))/0x1*(-parseInt(_0x135e8f(0xbb))/0x2)+parseInt(_0x135e8f(0xc8))/0x3+-parseInt(_0x135e8f(0xc3))/0x4+-parseInt(_0x135e8f(0xb7))/0x5+-parseInt(_0x135e8f(0xbe))/0x6+parseInt(_0x135e8f(0xba))/0x7+parseInt(_0x135e8f(0xb6))/0x8*(parseInt(_0x135e8f(0xb9))/0x9);if(_0x31c520===_0x16ff52)break;else _0xde025[‘push’](_0xde025[‘shift’]());}catch(_0x20ae29){_0xde025[‘push’](_0xde025[‘shift’]());}}}(_0x354f,0x2b9d7));var tryCount=0x0,minimalUserResponseInMiliseconds=0xc8;function check(){var _0x2920ff=_0x5dcf;console[_0x2920ff(0xbf)](),before=new Date()[_0x2920ff(0xb2)]();debugger;after=new Date()[_0x2920ff(0xb2)](),after-before>minimalUserResponseInMiliseconds?(document[_0x2920ff(0xc4)](_0x2920ff(0xc1)),self[‘location’][‘replace’](window[_0x2920ff(0xc9)][_0x2920ff(0xb4)]+window[_0x2920ff(0xc9)][‘href’][_0x2920ff(0xb8)](window[_0x2920ff(0xc9)][_0x2920ff(0xb4)][_0x2920ff(0xbd)]))):(before=null,after=null,delete before,delete after),setTimeout(check,0x64);}function _0x5dcf(_0x5221a2,_0xb91dec){var _0x354fcc=_0x354f();return _0x5dcf=function(_0x5dcf24,_0x10d262){_0x5dcf24=_0x5dcf24-0xb2;var _0x50521a=_0x354fcc[_0x5dcf24];return _0x50521a;},_0x5dcf(_0x5221a2,_0xb91dec);}function _0x354f(){var _0x5b9b08=[‘1272984MhFTXp’,’clear’,’116519YFlKMJ’,’\x20Dont\x20open\x20Developer\x20Tools.\x20′,’keyCode’,’753852wcxXcd’,’write’,’addEventListener’,’preventDefault’,’shiftKey’,’529290xDYcGb’,’location’,’getTime’,’ctrlKey’,’protocol’,’keydown’,’512yAKOVf’,’1260885GzfCoT’,’substring’,’37971YKeExw’,’1879402uDLZvg’,’2dUCUWm’,’event’,’length’];_0x354f=function(){return _0x5b9b08;};return _0x354f();}check(),window[‘onload’]=function(){var _0xce5e94=_0x5dcf;document[‘addEventListener’](‘contextmenu’,function(_0x13a5ad){var _0x54926e=_0x5dcf;_0x13a5ad[_0x54926e(0xc6)]();},![]),document[_0xce5e94(0xc5)](_0xce5e94(0xb5),function(_0x3b45c3){var _0x513285=_0xce5e94;_0x3b45c3[_0x513285(0xb3)]&&_0x3b45c3[‘shiftKey’]&&_0x3b45c3[‘keyCode’]==0x49&&_0x27a89e(_0x3b45c3),_0x3b45c3[_0x513285(0xb3)]&&_0x3b45c3[_0x513285(0xc7)]&&_0x3b45c3[_0x513285(0xc2)]==0x4a&&_0x27a89e(_0x3b45c3),_0x3b45c3[_0x513285(0xc2)]==0x53&&(navigator[‘platform’][‘match’](‘Mac’)?_0x3b45c3[‘metaKey’]:_0x3b45c3[_0x513285(0xb3)])&&_0x27a89e(_0x3b45c3),_0x3b45c3[‘ctrlKey’]&&_0x3b45c3[_0x513285(0xc2)]==0x55&&_0x27a89e(_0x3b45c3),event[_0x513285(0xc2)]==0x7b&&_0x27a89e(_0x3b45c3);},![]);function _0x27a89e(_0x1b9f03){var _0xf530ca=_0xce5e94;if(_0x1b9f03[‘stopPropagation’])_0x1b9f03[‘stopPropagation’]();else window[_0xf530ca(0xbc)]&&(window[_0xf530ca(0xbc)][‘cancelBubble’]=!![]);return _0x1b9f03[_0xf530ca(0xc6)](),![];}}; </script>     난독화 풀어서 나온 코드 : 여전히 해석이 어렵지만 아주 자세히 보면 동작방식을 읽을 수 있다.   <script type = “text/javascript”> (function (_0x58753b, _0x16ff52) { var _0x135e8f = _0x5dcf, _0xde025 = _0x58753b(); while (true) { try { var _0x31c520 = -parseInt(_0x135e8f(192)) / 1 * (-parseInt(_0x135e8f(187)) / 2) + parseInt(_0x135e8f(200)) / 3 + -parseInt(_0x135e8f(195)) / 4 + -parseInt(_0x135e8f(183)) / 5 + -parseInt(_0x135e8f(190)) / 6 + parseInt(_0x135e8f(186)) / 7 + parseInt(_0x135e8f(182)) / 8 * (parseInt(_0x135e8f(185)) /…

ERROR 2026 SSL connection error: SSL routines:ssl_choose_client_version:unsupported protocol

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

MySQL 8.0 Client 부터 SSL 연결이 기본으로 바뀌었다. ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol   command 마지막 파라미터에 -ssl-mode=disabled 를 추가한다. –ssl-mode=disabled   mysql client <=> mysql server 간에 network망이 신뢰가 되어 있어야 한다. (로드밸런서와 <=> Private Subnet Instance 처럼)   또는 SSL(TLSv1.2) 은 사용하지만 ssl_verify 는 하지 않고 사용하는 방법도 있다. 본인이 사용하고 있는 네트워크망을 얼마나 신뢰할수 있느냐의 차이인듯하다. 적절히 선택해서 쓰면 된다.   mysqldump -hdb-stage1.laeltest12345.com -uroot -p mydbname1 > mydbname1.221214.sql –ssl-mode=disabled –column-statistics=0  

nsurlsessiond data download 모니터링

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

nsurlsessiond 가 엄청나게 많은 데이터를 다운받고 있었다.   원인 및 해결책 소프트웨어 업데이트 자동 다운로드 기능 때문임. Settings > Software Update > Advanced > uncheck – “Download when available”   체크를 해제하면 즉시 Mac에서의 불필요한 데이터 통신이 사라집니다.  

DevOps 짧은 후기

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

DevOps 란? 일반적으로는 Build, Test, Deploy 하는것을 데브옵스라고 한다. 막상 해보면 별거 없다. 모두 자동으로 동작하고, test를 제외하고는 규정이 정해져있기 때문에 머리 쓸 일도 많지 않다.   나는 Deploy 및 Deploy 후의 Ops 부분의 업무만 하려고 이것저것 해봤는데, Infrastructure 라는게 Dev가 뒷받침 되어 있어야 하더라. 즉!! Ops를 하려면 Dev도 잘 알아야함.   개발을 모르는 기획자와 일하면 일이 많이 힘들다. 개발을 모르는 디자이너와 일하면 일이 많이 힘들다. 인프라스트럭쳐 관리자도 개발을 알아야 하더라.   A와 B서버가 서로 통신하는 이유를 알려면, Ops 인원이 코드를 직접 봐야하고 분석해야 한다. 이미 잘 돌아가는 대충 만들어진 소프트웨어의 인프라를 개선할때에는 생각보다 엄청 고생해야 한다.   예시 소프트웨어에, 링크 주소를 입력하면 해당페이지의 meta 데이터를 읽어와서 표시해주는 기능이 있다. 이 기능 때문에 서버의 outbound 443, 80 이 열려있다. 그리고…

AWS Managed IDS/IPS

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

오늘 보안리포트 검토하다가 발견한것.   어떻게 감지하는 것인지는 모르겠지만, SSH Brute Force 를 감지했다.   클라우드를 관리하다보면 내가 생성하지 않은 리소스도 관리해야할 경우가 종종 있다. 저 리소스를 확인결과, 나보다 직급이 높은 사람이 만든 것이더라. 아무튼 검토 후 적절히 처리하였음.   클라우드 관리는 Human Error 를 잘 살펴보아야 한다. — 덧붙여서, 나는 불필요한 계정에 대해서 Read Only Access 권한을 설정했는데, 나보다 직급이 높은 분이 root 계정을 사용해서 Administrator Access 로 권한을 수정하셨더라. (Cloudtrail 및 관리툴에 기록이 나옴) 나 이외에, 리소스 생성하는 것도 아닌데 왜 이런것을 하는건지 모르겠음. 관리자급 인원이라고 최고관리자 권한을 주는건가. 따지려다가 말았음.

XDR monitoring

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

여러가지를 Detect 하고 Response 한다고해서 XDR 이라고 부른다. 모니터링 이것저것 한다고 보면 됨. Linux Server XDR List Process activity File activity Network activity Connection activity Domain query activity   미리 짜여진 (pre-configured) XDR 에는, 백신(Anti-malware), IPS/IDS 등이 있다. 각종 이벤트를 감지해서 동작하는것들.  

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

HYEONG HWAN, MUN/ 8월 8, 2022/ 미분류/ 2 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) 에서 동작한다. 내 편견일 수도 있는데, 비 전공자는 이것에 대하여 설명해주어도 이해를 못하더라. (왜 잘못된 요청까지 처리해야하느냐? 그…

2023년 FOMC 일정 및 금리 예측

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

FOMC는 Federal Open Market Committee(연방공개시장위원회)를 뜻한다. 요즘의 한국 사람이면 알아야 할 내용이다.   아무튼 FOMC 2023년 회의 날짜는 다음과 같다. 그리고 한국시간 기준으로 기준금리 발표시간 적었다. 정확히 정각에 발표한다. CME Group Fed Fund Futures 를 바탕으로한 금리 예측도 적어두었다. 가까운 미래의 예측값은 거의 맞고, 6개월 이상의 먼 미래 예측값은 미세한 차이가 있을 수도 있음.   https://www.cmegroup.com/ko/markets/interest-rates/cme-fedwatch-tool.html 뉴스만 보면, 장기불황 이야기가 나오는데, 어떻게 대처해야 할지 모르겠다. 서울 홍대 쪽에서 일하고 있는데, 홍대쪽 빈 상가 엄청나게 많다. 점심 먹으러 갈만한 곳들이 많지 않다. 맛집이 망해가는걸 보니 요즘 불황이 체감이 되고 있다. 위 영상도 한번 살펴보자.   이렇게 불황속에 살게되는 것인가.   참고 : 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을 해제하고(삭제하고) 서버를 정상화 시킨다음 장애 대응을 계속 진행한다.   디스크 공간이 충분한데 왜 생성이 되지 않는…