2020/09/29

[ IIS ] 웹 사이트 최적화 팁

IIS 위에 서비스하는 ASP.NET 웹 페이지를 처음 접속하면 약간의 딜레이가 필요하다.

이유는 여러가지가 있지만 크게 첫 IIS 요청시 필요한 작업이 많이 있고, 웹 사이트가 일정 시간동안 접속을 안 했다면 프로세스를 슬립 상태로 만들어 딜레이가 발생한다.

이런 문제를 피하고 최적의 웹 서비스를하려면 아래 단계를 거친다.

1. IIS (inetmgr) => 응용프로그램 풀 => 응용프로그램 풀 기본값 설정 클릭

2. 시작 모드를 “AlwaysRunning” 으로 변경한다.

3. 유휴 시간 제한 조치(idle worker process page-out) => “Suspend” 로 변경한다.

4. 서비스할 웹앱(ex. Default Web Site)의 고급 설정에서 “미리 로드 활성화됨” => True 로 변경한다.

5. 서버의 역할에서 “응용 프로그램 초기화” 를 추가해 준다.

IIS에서 웹 프로세스를 계속 돌리는 변태? 같은 방법!

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/27

블루투스 취약점, 갈수록 늘어나는데 개선의 여지 안 보여

블루투스의 복잡한 특성이 계속해서 보안의 걸림돌이 되고 있다. 요 근래에만 블루투스 장비들을 겨냥한 다양한 공격 방법이 연구 및 발표되고 있는 실정이다. 이 때문에 저전력 근거리 통신 기능을 가진 장비들의 생태계가 위험한 상황이고, 이는 앞으로 더 심화될 예정이다.

 

지난 9월 9일, 블루투스 스페셜 인터레스트 그룹(Bluetooth Special Interest Group, SIG)은 대학 기관 연구원들이 발표한 논문과 관련된 성명서를 발표했다. 특수한 조건 하에서 블루투스로 페어링 된 장비들 사이에 끼어들어 일종의 중간자 공격을 할 수 있게 하는 내용이 다뤄진 논문이었다. 지난 달의 한 보안 컨퍼런스에서는 퍼듀대학의 연구원들이 BLE 프로토콜을 사용하는 장비들의 연결 상태를 농락하는 방법을 발표하기도 했다. 5월에도 일부 보안 전문가들이 비슷한 공격법을 시연했었다.

블루투스 생태계의 특징은 매우 복잡하다는 것과, 장비의(즉 블루투스 프로토콜이 실제 구축된) 수가 어마어마하게 많다는 것이다. 이 때문에 보안은 매우 어려운 것이 되고 만다. 설상가상으로 사용하기 쉬운 블루투스 감사 도구인 인터널블루(InternalBlue)가 오픈소스로 제공되는 바람에 취약점 검색 및 분석이 더 쉬워졌다. 벤구리온대학의 요시 오렌(Yossi Oren) 교수는 “예전보다 블루투스 환경은 더 열린 상태이고 따라서 연구와 분석이 더 쉬워졌다”고 설명한다. 쉬워진 건 비단 연구원들에게만이 아니라 공격자에게도 해당되는 말이라고 한다.

그래서 그런지 위에서 망라한 대로 올해만 세 가지 블루투스 공격 기법이 등장한 상태다. 정리하자면 다음과 같다.
1) 블레사(BLESA) : 블루투스 장비를 재연결 할 때 익스플로잇 하는 공격법.
2) 비아스(BIAS) : 공격자의 장비를 블루투스 장비인 것처럼 위장시키는 공격법.
3) 블러투스(BLURtooth) : 블루투스 버전의 중간자 공격 기법.

소비자 프라이버시 보호 단체인 픽셀프라이버시(PixelPrivacy)의 크리스 홀크(Chris Haulk)는 “이 세 가지는 최근 몇 달 사이에 발견된 것들에 불과하고, 그 전에 발견된 것들까지 합하면 블루투스 취약점은 상당수에 이른다”고 말한다. “블루투스 장비 제조사들이 펌웨어 업데이트를 통해 해결해야 하는 문제들인데, 한 번 해결되었어도 공격자들이 끊임없이 새로운 방식을 찾아내기 때문에 미래에도 이런 문제들이 더 나올 거라고 봐야 합니다.”

하지만 연구된 것에 비해, 그리고 경고가 나오는 것에 비해 아직 블루투스 환경은 조용한 것일까? “가장 큰 요인은 블루투스라는 무선 통신 프로토콜이 태생적으로 단거리에 적합하기 때문입니다. 따라서 공격자가 피해자에 상당히 근접해야 하죠. 이 때문에 실제 상황에서 공격은 크게 제한을 받습니다. 물론 이 때문에 블루투스가 실제적으로는 안전하다고 말할 수는 없습니다. 공격 대상에 가까이 접근할 방법은 얼마든지 있으며, 공격 성공 시 발생하는 일들이 치명적일 수 있기 때문입니다.” 홀크의 설명이다. “또한 각종 모바일 장비들이 친숙해지면서 우리는 관리를 점점 더 소홀히 하고 있기도 합니다. 공격자의 접근 성공 확률이 올라간다는 뜻입니다.”

블루투스의 또 다른 문제는 패치가 어렵다는 것이다. “먼저는 장비 제조사가 패치를 개발해야 합니다. 그리고 그 패치가 모든 블루투스 소유주들에게 전달되고, 이 소유주들이 적용을 시키고 장비를 (대부분의 경우) 리부팅해야 합니다. 말로만 하면 간단해 보이는데, 실제로 이렇게 이뤄지는 경우가 거의 없습니다. 모든 장비 제조사들이 패치를 제 때 발표하는 것도 아니고, 그렇다고 한들 사용자들이 빠르게 대처하는 것도 아닙니다.”

그러면서 홀크는 “기업 내 블루투스 장비의 펌웨어 업데이트는 점점 더 시스템 관리자 혹은 보안 담당자의 몫이 되어가고 있다”고 말한다. “가뜩이나 지금 PC나 네트워크 장비 관리만으로도 업무량이 살인적이라고 하는데, 블루투스가 되는 사물인터넷 장비 혹은 모바일 장비들까지 얹히는 겁니다. 그러다 보니 패치는 더더욱 딴 세상 이야기가 되고 있죠.”


출처 URL

https://www.boannews.com/media/view.asp?idx=91455&page=1&mkind=1&kind=1

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/26

롤드컵 경기 결과 맞추면 초월급 스킨 받는다

▲ 2020 롤 월드 챔피언십 기간 동안 다양하나 시청 보상 미션이 진행된다 (사진제공: 라이엇게임즈)
‘리그 오브 레전드(이하 롤)’의 개발 및 유통사 라이엇 게임즈가 ‘2020 롤 월드 챔피언십(이하 2020 롤드컵)’ 기간 동안 최신 디지털 상품인 ‘승부의 신’과 ‘드롭’을 활용한 다양한 이벤트와 시청 보상 미션을 진행한다.
델의 ‘에일리언웨어’가 후원하는 ‘승부의 신’은 승리 팀을 예상해 최종 결과에 따라 보상을 받는 이벤트로, 매 스테이지 시작 전 ‘승부의 신’ 웹 페이지에 라이엇 게임즈 ID로 로그인 한 후 응모할 수 있다.
2020 롤드컵 기간 동안 그룹 스테이지, 8강, 4강, 결승 등 각 스테이지 시작 전 승리 팀 선택지가 활성화되며 하나의 스테이지가 끝나면 다음 단계의 선택지가 열리는 형태로 운영된다. 그룹 스테이지는 오는 10월 1일 오전 8시부터 승부 예측 응모가 가능하며, 그룹 스테이지가 시작되는 10월 3일 오후 3시까지 참여를 완료해야 한다. 8강과 4강, 결승전 등 향후 스테이지의 승부 예측 기간에 대한 자세한 사항은 승부의 신 웹 페이지에서 확인 가능하다.
승부의 신 이벤트를 통해 승리 팀을 정확하게 예측하면 각 스테이지 별로 파랑 정수와 무작위 챔피언 파편 등 다양한 보상을 제공하며, 모든 예상이 적중할 경우 5종 초월급 스킨(DJ 소나, 정령 수호자 우디르, 펄스 건 이즈리얼, 원소술사 럭스, 기동총격여신 미스 포츈)이 포함된 상자 외에도 다양한 경품이 제공될 예정이다. 지난 해에는 4백만 명이 넘는 참가자들이 응모했으나 단 1명만이 완벽하게 모든 예상을 적중시킨 바 있다.
LEC와 LCS 2020 서머 스플릿에서 열렸던 전리품 획득 이벤트인 ‘드롭’이 이번 2020 롤드컵에서도 진행된다. ‘마스터카드’, ‘오포’, ‘스테이트팜’, ‘스포티파이’가 스폰서로 참여하는 드롭 이벤트는 그룹 스테이지부터 활성화 되며, 롤 e스포츠 리워드 페이지에 로그인한 상태로 생중계 경기를 지켜보면 된다.
경기 도중 드래곤 영혼을 획득하거나 펜타킬이 발생 했을 때, 역전승이 일어날 때 등 특별한 순간에 드롭이 활성화되며 롤 e스포츠 10주년 기념 캡슐, 파트너사 브랜딩 마법공학 상자, 롤드컵 토큰, 파랑 정수 등 무작위 아이템을 획득할 수 있다.
한편, 라이엇 게임즈는 LoL E스포츠 10주년을 맞아 ‘소환사의 협곡 아레나 배너’, ‘챔피언십 르블랑 스킨’과 ‘챔피언십 와드’, ‘롤드컵 패스’와 같은 협곡 내 신규 콘텐츠와 2020 롤드컵 기념상품을 공개했다.
2020 롤드컵 기념상품으로는 2014 롤드컵부터 최고의 팀들을 기념하기 위한 기간 한정 아이콘과 감정표현 등이 포함된 한정 캡슐과 2020 롤드컵 팀 아이콘과 감정표현이 출시된다. 구매 금액의 일정 부분이 2020 롤드컵 참가 팀에게 후원되며, 챔피언십 르블랑 스킨 판매 수익 25% 중 12.5%는 2020 월드 챔피언십 모든 진출팀에 균등하게 제공된다. 나머지 절반(12.5%)은 대회 성적에 따라 배분되며, 2020 롤드컵 팀 아이콘과 감정표현 판매 수익의 50%는 2020 월드 챔피언십 진출팀에 제공된다.

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/24

랜섬웨어 사망 사건, 독일 병원에서 터져

한 대학교 노리던 공격자, 실수로 병원 서버 암호화해
사정 알고 복호화 키 제공했으나 너무 늦어…환자 사망으로 이어져

해킹 공격 때문에 독일 한 병원의 IT 시스템이 마비되었고, 이 때문에 환자를 다른 병원으로 이송해야만 하는 일이 벌어졌다. 이 와중에 긴급한 치료가 필요했던 여성 환자 한 명이 사망하는 일이 발생했다고 독일 경찰이 발표했다.

문제가 발생한 곳은 독일 뒤셀도르프대학에서 운영하는 종합병원으로, 현지 시각으로 목요일부터 IT 시스템이 마비되는 일을 겼었다.

조사를 통해 해커가 네트워크의 약한 부분을 침해했다는 사실이 드러났다. 이 약한 부분이란 “널리 사용되는 상업용 소프트웨어”라고 하는데, 이름은 정확히 명시되지 않았다.

해커의 공격으로 시스템이 갑자기 사용 불능 상태가 되면서 병원 측은 데이터를 사용할 수 없는 상황이 되었다.

이 때문에 응급 환자들과 수술이 예약되어 있었던 환자들이 다른 병원으로 이송되어야 했다.

경찰의 발표에 의하면 ‘병원 측에’ 접수된 해커의 요구 사항은 하나도 없다고 한다. 보통 해커들은 병원의 시스템을 마비시키고 돈을 내라고 요구한다.

또한 아직까지 데이터가 사라졌다거나 바깥으로 유출된 정황도 마련되지 않았다고 한다. 현재 IT 시스템들은 서서히 복구되는 중이다.

해커가 공격에 사용한 것은 랜섬웨어인 것으로 보인다. 경찰은 ‘랜섬웨어’라는 단어를 직접 사용하지는 않았지만 “병원에서 운영하던 서버 30여 개가 암호화 되었고 그 중 하나에서 협박편지가 발견되었다”고 밝혔다.

하지만 여기에 돈을 내라는 요구는 없었다. 연락을 달라는 내용 뿐이었다. 그런데 받는 사람이 병원이 아니라 대학교로 되어 있었다.

뒤셀도르프 경찰은 범인에게 연락을 해 지금 대학이 아니라 병원이 마비되었고, 환자들이 위험에 처해 있다고 설명했다.

그러자 범인은 협박을 취소하고 데이터 복호화에 필요한 디지털 키를 제공했다. 병원을 처음부터 노리지 않았다는 뜻이 된다.

하지만 범인은 종적을 감췄다. 연락은 더 이상 되지 않는 상태라고 한다.

그런 상태에서 위급한 환자가 병원에 실려왔고, 병원은 손을 쓸 수 없어서 32 킬로미터 밖에 있는 다른 병원으로 보내야 했다.

이 과정에서 환자는 1시간 동안 치료를 받을 수 없었고 그 결과 사망했다. 현재 경찰들은 이 공격자를 과실치사상죄 혐의로 추적 중에 있다.

보안 업계는 랜섬웨어 공격 등 사이버 공격으로 손괴, 폭파, 부상, 사망 등 물리적이고 실제적인 피해가 발생할 수 있다고 오래 전부터 경고해왔다.

특히 병원과 산업 시설을 겨냥한 공격들이 이러한 사태로 이어질 가능성이 높다며, 보안 강화를 주장했었다.

이 사건에서 병원의 ‘보안 강화 책임 소홀’이 얼마나 작용한 것으로 독일 사법부가 판단할지 귀추가 주목된다.

3줄 요약

  1. 한 해커, 독일 대학교 공격하려다 대학병원 마비시킴.
  2. 대학병원에서 환자를 처리 못해 이송시키는 과정에서 환자 사망.
  3. 경찰은 현재 범인 추적 중. 병원에도 과실 있다고 판결 나올까?

출처 : https://isaa.re.kr/index.php?page=view&pg=1&idx=304&hCode=BOARD&bo_idx=4&sfl=&stx=

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/22

[CentOS7] 리눅스 FTP(vsftpd) 설치 및 설정

▶ FTP (File Transfer Protocol)

 – FTP는 약자그대로 파일을 전송하기 위한 규약.

 – 파일을 전송하는데 있어서 용량제한이 없으며 구축해두면 어디서나 접속하여 파일을 업 & 다운로드 할 수 있다.

 – 회사 업무를 하다보면 NAS라고 많이 듣게 되는데 FTP를 업그레이드 시킨것이라고 생각하면 될 것 같다.

    NAS는 가격이 비싸기때문에 개인 데스크탑, 노트북 등을 NAS로 구축하기도 한다고 한다. (NAS기능중 FTP포함)

▶ FTP 서버 구축 순서

1. 패키지설치

2. 서버 설정

3. 방화벽 설정 & selinux해제

4. 데몬재시작

5. 접속확인

▶ 설치할 패키지 : vsftpd (very secure ftpd) : 속도및 안정성이 전보다 뛰어 나다고 한다.

▶ 1. 패키지설치

 – 설치가 되어 있나 확인 해본다.

# ps -ax | grep vsftpd

# yum list installed | grep vsftpd  

설치가 안되신 분들은 Yum으로 설치를 진행 하시면 됩니다.

yum -y install vsftpd

▶ 2. 서버 설정   (vsftpd.conf 파일 수정, chroot_list 파일 신규 생성)

 – 2.1 vsftpd.conf 파일 수정


vi /etc/vsftpd/vsftpd.conf

일단 보기 편하게 :set nu로 줄표시 한다.

 

12번 라인 : anonymous 접속 허용 여부를 no로 한다.

94번 라인 : [chroot_list_file(접속 허용 계정 리스트) 활용 여부] YES

96번 라인 : chroot_list_file 경로

114번 라인 : 주석 해제, NO로 변경

설정 끝.

다음 내용은 참고

 anonymous_enable=NO      

 idle_session_timeout=600

 chroot_local_user=NO 

 allow_writeable_chroot=YES

 chroot_list_enable=YES

 listen=YES

 use_localtime=YES

 anon_max_rate=100000

 local_max_rate=500000

 force_dot_files=YES

 max_clients=10

 max_per_ip=2

 

 – [anonymous 접속 허용 여부]
 – [접속 세션 유지 시간(초)]
 – [최상단 디렉토리를 접속한 유저 홈디렉토리로 제한] 
 – [chroot_local_user 제한 설정할 경우 설정값]
 – [chroot_list_file(접속 허용 계정 리스트) 활용 여부]

 – [standalone 설정 여부]

 – [서버시간으로 사용]

 – [annymous 전송속도 제한 bps]

 – [유저 전송속도 제한 bps]

 – [. 파일 표시 여부]

 – [최대 접속 허용수]

 – [한 아이피당 접속 허용수]

 – 2.2 vi /etc/vsftpd/chroot_list로 chroot_list 파일 생성

# vi /etc/vsftpd/chroot_list

허용할 계정 추가

3. 방화벽 설정 & selinux해제

# firewall-cmd –permanent –add-service=ftp

# firewall-cmd –permanent –add-port=21/tcp

# firewall-cmd –reload

vi /etc/selinux/config

SELINUX=enforcing 을 disabled로 변경하여 준다.

4. 데몬재시작

# systemctl enable vsftpd

# systemctl restart vsftpd

ps -ax | grep vsftpd

위와 같이 올바르게 서비스가 떠있는 것을 확인 할 수 있다.

5. 접속확인

혹시 530 Permission denied 오류가 난다면 

접속한 FTP 계정이 접속 거부리스트에 있는 계정인 경우 이다.

예를들어 root도 접속 거부리스트이다.

꼭 root계정을 접속 혀용하려면 다음과 같은 작업을 하여 주면 된다.

다음의 두개의 파일에서 root를 제거하여 준다.

vi /etc/vsftpd/ftpusers

vi /etc/vsftpd/user_list


출처: https://goddaehee.tistory.com/73

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/20

IIS : X-FORWARDED-FOR 사용방법

 

X-FORWARDED-FOR 란

Http Header 중 하나로 Http 프록시 서버 또는 LB 를 통해 Http Server 에 요청한 Client 의 IP 를 확인 하기 위해 사용된다
웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server 등의 장비가 있을 경우 웹서버는 Proxy server 나
장비IP에서 접속한 것으로 인식합니다.
그렇기 때문에 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy서버 IP를 요청한 IP로 인식하고, Proxy장비 IP 로 웹로그를 남기게 됩니다.

WINDOWS SERVER 2016 환경에서 IIS설치 -> IIS 10.0에서 테스트 

IIS 관리자 -> 로깅



로그파일 -> 필드 선택



 

필드추가 -> 필드이름 : X-FORWARDED-FOR / 원본유형 : 요청헤더 / 원본 : X-FORWARDED-FOR -> 확인 -> 우측위 적용 클릭



로그파일 디렉토리에 _X가 붙은 새로운 로그 생성됨(X-FORWARDED-FOR 로그)





 



 

출처 : https://jp-hosting.jp/iis%EC%97%90%EC%84%9C-x-forwarded-for-%EC%A0%81%EC%9A%A9/

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

미국은 일요일에 WeChat 및 TikTok 다운로드를 금지

워싱턴 (CNN 비즈니스)상무부는 두 앱에 대한 트럼프 행정부의 행정 명령이 발효 될 것으로 예상됨에 따라 일요일에 틱톡과 위챗에 대한 액세스를 제한 할 계획입니다.

이 부서는 금요일부터 앱 스토어에서 WeChat 또는 TikTok을 배포하거나 유지하기위한 모든 움직임이 금지 될 것이라고 밝혔다. 애플과 구글은 논평 요청에 즉시 응답하지 않았다.
이미 앱을 다운로드 한 사용자는 소프트웨어를 계속 사용할 수 있지만 제한 사항은 앱의 업데이트 된 버전을 다운로드 할 수 없음을 의미합니다.
윌버 로스 상무 장관은 금요일 아침 폭스 비즈니스에서 “일요일 밤 현재 유일한 변화는 [TikTok 사용자]가 개선 된 앱, 업데이트 된 앱, 업그레이드 된 앱 또는 유지 관리에 액세스 할 수 없다는 것”이라고 말했다.
WeChat을 대상으로하는 제한은 더 광범위합니다. 일요일부터, 그것은 위챗과 관련된 호스트 또는 전송 인터넷 트래픽에 불법 될 것학과는 말했다 출시 . 11 월 12 일부터 틱톡도 마찬가지다. (트럼프 행정부는 현재 TikTok과 관련된 행정부의 국가 안보 문제를 해결하기 위해 고안된 ByteDance, TikTok의 중국 부모 및 Oracle이 포함 된 제안에 무게 를두고 있으며, 거래 마감일은 11 월 12 일입니다.)
틱톡은 성명에서 정부의 발표에 동의하지 않고 실망했다고 밝혔다.
이 회사는 “미국 사용자 1 억 명으로 구성된 커뮤니티는 엔터테인먼트, 자기 표현 및 연결의 본거지이기 때문에 TikTok을 좋아합니다. 우리는 가족에게 기쁨을 제공하기 위해 계속 노력하면서 그들의 개인 정보와 안전을 보호하기 위해 최선을 다하고 있습니다.”라고 말했습니다. 우리 플랫폼에서 창작하는 사람들에게 의미있는 경력을 쌓을 수 있습니다. “
WeChat의 소유주 인 Tencent는 상무부가 규정 한 제한 사항을 검토하고 있다고 말했습니다.
텐센트는 성명에서 “8 월 6 일 최초의 행정 명령에 따라 우리는 미국 정부와 광범위한 논의에 참여했으며 그 문제를 해결하기위한 포괄적 인 제안을 내놓았다”고 말했다. “오늘 발표 된 제한 사항은 안타깝지만 WeChat이 중요한 커뮤니케이션 도구 인 미국 사용자에게 지속적인 서비스를 제공하려는 우리의 열망을 감안할 때, 우리는 미국 정부 및 기타 이해 관계자와 계속해서 논의 할 것입니다. 장기적인 솔루션. “
해결 방법으로 사용되는 것으로 보이는 경우 다른 앱에 대한 추가 제한 사항은 나중에 발표 될 수 있습니다.
이전 법원 제출에서 미국 정부는 TikTok 및 WeChat에 대한 제한이 범위가 제한되고 소비자 또는 TikTok의 미국 직원을 해치는 것을 목표로하지 않을 것이라고 제안했습니다.
TikTok 직원은 여전히 급여와 수당 을받을 수 있으며 금지령을 위반하지 않고도 일상 업무를 수행 할 수 있습니다.
미국 정부  9 월 15 일 별도의 신고서에서 향후 정책의 결과로 WeChat을 통한 커뮤니케이션이 “손상 될 수 있지만” “사용자가 표적이되거나 처벌을받지 않을 것”이라고 경 했습니다.
로스는 “오늘의 행동은 트럼프 대통령이 우리의 국가 안보를 보장하고 중국 공산당의 위협으로부터 미국인을 보호하기 위해 자신의 힘으로 모든 것을 할 것임을 다시 한 번 증명합니다.”라고 말했습니다. “대통령의 지시에 따라 우리는 중국의 악의적 인 미국 시민의 개인 데이터 수집에 맞서 싸우는 동시에 국가 가치, 민주적 규칙 기반 규범, 미국 법률 및 규정의 공격적인 집행을 촉진하기 위해 중요한 조치를 취했습니다.”



출처 URL

위 포스팅이 문제 있을 경우 삭제처리 하겠습니다.

2020/09/19

PHP : X-FORWARDED-FOR(XFF) 사용방법 – NGINX – 2

 지난 글(Apache에서 XFF사용법)에 이어 nginx Web Server 에서 XFF 사용 방법 에대해 작성합니다.

nginx 는 –with-http_realip_module 옵션을 주고 컴파일해야 실제 ip 를 얻어올 수 있습니다.

먼저 해당 설정에는 http_realip_module 이 필요하므로 nginx -v 명령어로 지원 여부를 확인 후, http_realip_module이 없다면
–with-http_realip_module 옵션 을 주고 Nginx를 재 컴파일 합니다.

( 일반적으로 -with-http_realip_module 옵션은 기본적으로 되어있습니다. )

☞LogFormat 변경

/etc/nginx/nginx.conf 파일에서 변경이 필요합니다.

1
2
3
4
5
6
7
    log_format  main  '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent"';
 
    access_log  /var/log/nginx/access.log  main;
 
systemctl restart nginx // nginx 재실행

☞LogFormat 변경후 access.log확인(apache24/logs)

프록시IP 52.196.202.119 에서 실제 User IP인 219.xxx.xxx.xxx으로 변경

☞GetUserIP() 함수를 만들어 User의 IP를 얻어냅니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
function GetUserIP()
{
if (isset($_SERVER))
{
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
return $_SERVER["HTTP_X_FORWARDED_FOR"];
if (isset($_SERVER["HTTP_CLIENT_IP"]))
return $_SERVER["HTTP_CLIENT_IP"];
return $_SERVER["REMOTE_ADDR"];
}
if (getenv('HTTP_X_FORWARDED_FOR'))
return getenv('HTTP_X_FORWARDED_FOR');
if (getenv('HTTP_CLIENT_IP'))
return getenv('HTTP_CLIENT_IP');
return getenv('REMOTE_ADDR');
}
 
$text = GetUserIP();
echo "X_FORWARDED_FOR (Real IP Addr)";
echo "<br>";
echo "Connect Your IP Address : " .$text ;
echo "<br>";
 
echo "NOT X_FORWARDED_FOR (Proxy IP Addr)";
echo "<br>";
$ip = $_SERVER['REMOTE_ADDR'];
echo "Connect Your IP Address : " .$ip
 
?>

☞NGINX – PHP – XFF 사용 결과

위 php파일 사용 예시

net::ERR_INCOMPLETE_CHUNKED_ENCODING

설정중 위와같은 에러가 나올경우, nginx.conf 파일의 http{} 안에

추가 해줍니다.


출처 : 본인작성