[NGINX] block download from bad-referer (Deny all but specific domains)

2020-03-16 KENNETH 0

개요 nginx 운영중 이미지 외부링크와 관련되어 문제 발생시 이를 해결하는 방법이 좀 나오는데, 그 중, 간단하면서도 나름 상위에 나오는 설정인 이 설정을 해놓고 나서, 본인의 사이트에는 이미지 출력이 잘 되고 있으며 (문제가 없으며) 도메인이 다른 다른 사이트에 <img src> 태그를 이용해서 불러들일 시 “fobidden” 출력 결과가 나오기 때문에 “음… 잘 되었구나… “를 판단할 수 있으나 정작 운영시에는 외부에서 퍼가고 있음을 알 수 있다. 물론, 내가 운영하는 jirak.net 에는 이런 문제가 없다. 외부에서 퍼갈일이 없거든… 각설하고…ㄷ ㄷ ㄷ   상황가정 사용중인 자신의 도메인 (또는 거부하지 않고 허용해줘야 하는 도메인) jirak.net google.com     거부해야 하는 도메인 (자꾸만 이미지를 퍼가는 도메인) hahaha.com hohoho.com     설정 nginx.conf server{} 섹션 내부에 사용 하시라는 의미를 전달합니다…   block_referer_check.conf referer 를 확인해서 “$bad_referer” 로 지정 1. 원하는 도메인만 차단 하는 경우   2. 특정 도메인을 제외하고는 모두 차단 하는 경우   block_referer_deny.conf “$bad_referer”에 대한 액션 [ more… ]

[CVE-2020-1938] apache tomcat 취약점에 따른 업데이트시 참고 사항

2020-03-10 KENNETH 0

CVE-2020-1938 취약점 CVE : http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1938 KISA : https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35292APACHE : http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.100   취약점 해결을 위해서는 tomcat 을 최신버전으로 업데이트 해줘야 한다. 2020.03.10 기준 tomcat7 의 경우 7.0.100 버전 으로 tomcat8 의 경우 8.5.51 버전 으로 tomcat9 의 경우 9.0.31 버전 으로 업데이트를 해줘야 한다.   발단 tomcat7 을 사용중인 서버가 있어 기존 : tomcat-7.0.64 변경 : tomcat-7.0.100 으로 계획후 작업을 진행 별다른 이슈가 없을것으로 보였고, 작업을 진행했으나 문제 발생   발생한 문제점 1. 에러로그 발생 The AJP Connector is configured with secretRequired=”true” but the secret attribute is either null or “”. 기존에 존재하지 않았던 로그   2. 503 오류 발생 jsp 페이지 자체가 로딩되지 않는 문제가 있었다.     해결 1. secretRequired=”true” 참조 : https://tomcat.apache.org/tomcat-7.0-doc/changelog.html Rename the requiredSecret attribute of the AJP/1.3 Connector to secret and add a new attribute secretRequired that defaults to true. When secretRequired is true the AJP/1.3 [ more… ]

[AWS] Amazon EC2 Instance Retirement

2020-02-21 KENNETH 0

URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/instance-retirement.html 운영중 갑자기 날아온 메일… EC2 has detected degradation of the underlying hardware hosting your Amazon EC2 instance (instance-ID: i-xxxxxxxxxxxxxxxxxxx) associated with your AWS account (AWS Account ID: 1234567890) in the ap-northeast-2 region. Due to this degradation your instance could already be unreachable. We will stop your instance after 2020-01-01.   멀쩡히 운영중인 인스턴스가 삭제된다고 ㄷㄷㄷ     원인 인스턴스가 존재하는 하드웨어에 문제(및 기타 이슈)가 발생하는 경우 이런 메일이 발송 된다.     해결 무시하고 그냥 두면 발생할 문제의 심각성에 비해 해결 방법은 별거 없이 그냥 리부팅 하면 된다.     작업시 특이사항 1. 마이그레이션 작업이 수반되기 때문에 시간이 좀 걸린다. 기다리면 된다.   2.  Public IP 가 날아가고 초기화 된다. 초기화된 Public IP 는 재시작시 다시 변경되는 형태로 설정된다. 재시작을 해도 아이피를 유지하기 위해서는 “탄력적 IP” 를 통해서 할당을 받을 필요가 있다.     Public IP 변경에 [ more… ]

[AWS] 운영중인 EC2 Instance의 EBS 볼륨 크기 확장 및 LINUX 파일시스템 확장

2020-02-03 KENNETH 0

참고URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html   운영중인 EC2 인스턴스의 디스크(EBS) 용량 늘려주기   EBS 볼륨 확장 AWS 콘솔 -> EC2 -> EBS(ELASTIC BLOCK STORE) -> 볼륨 확장하고자 하는 볼륨을 선택 후 “볼륨수정”   볼륨 크기 조정 원하는 용량을 GB단위로 기록해준다.   상태확인 “볼륨수정” 작업을 진행하게 되면 상태가 변경되는데 modifying 에서 optimizing 으로 전환 되는것을 기다리자 modifying 상태는 상당히 짧아서 확인하지 못할 수 있다. 즉, 그림과 같이 출력된 상태가 optimizing 상태라면 진행하면 되겠다.   LINUX 시스템의 디스크 상태 확인 디스크는 60G 로 확장되었으나 실제 사용해야 하는 파티션의 용량은 변하지 않았다. 예시에서는 디드크용량 : 60G 파티션용량 : 30G 로 표시되고 있다.   LINUX 시스템의 파티션 확장 참고로 본 글에서는 Nitro 기반의 인스턴스 기본값(즉, nvme 형태의 디바이스와 xfs 기반의 파티션)을 가정하고 설명한다. 운영중인 시스템마다 다를 수 있다. 디바이스명 : nvme0n1 => /dev/nvme0n1 파티션 : 1번 파티션 => 1 => growpart 의 옵션은 “/dev/nvme0n1 1” 이 [ more… ]

[AWS] Enhanced networking with the Elastic Network Adapter (ENA) is required for the instance type. Ensure that your instance is enabled for ENA.

2020-01-31 KENNETH 0

출처URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#enable-enhanced-networking-ena-AL   최근 AWS EC2 는 새로운 버전들이 출시 되었다. (뭐 최근이랄것도 없이 시간이 좀 됐지만서도 ㅎ) 예를들면, T3, C5 등등 이들의 장점은 비슷하거나 제품에 따라 오히려 낮은 가격으로 최신의 프로세서를 포함하여 향상된 환경을 제공한다는 장점이 있다. 그랬다가 구버전(예를들면 T2, C4등) 인스턴스에 대해서 무심코 “인스턴스변경”후 “시작”을 했다가는… Enhanced networking with the Elastic Network Adapter (ENA) is required for the ‘t3.micro’ instance type. Ensure that your instance ‘i-xxxxxxxxxxxxxxxxxx’ is enabled for ENA. 이런 문구를 보게 될 것이다. 아마도 새버전의 인스턴스 환경에서는 “ENA(Elastic Network Adapter 이하 ENA or ena)”가 반드시 필요한(지원되어야 하기 때문에 필요한) 모양이다. 최신 업데이트가 되지 않은 리눅스에서는 문제가 발생하게 될것이다. URL : https://aws.amazon.com/ko/premiumsupport/knowledge-center/install-ena-driver-rhel-ec2/ 를 확인해보면 RHEL(CENTOS)의 경우 7.4 미만의 커널에서는 ena를 지원하지 않는 것으로 보임 가장 위에 설명한 URL에는 전체적인 방법이 나와있지만 AWS에서 지원하는 일반적인 배포본 도는 아마존리눅스를 사용하고 있는 경우 최신버전으로 업데이트만 진행하면 될것으로 예상된다. 그리하여 [ more… ]