no image
[Linux] 보안 취약점 개선을 위해 OpenSSH 업데이트하기 (CentOS)
BeforeAfterOSCentOS 7.1OpenSSH6.6.1p19.8p1OpenSSL1.0.21.1.1CentOS 7.1에서 OpenSSH를 최신 버전으로 업데이트하는 것은 보안 취약점을 해결하고 시스템의 안정성을 향상시키기 위해 중요한 작업이다. 이 포스팅에서는 OpenSSH를 6.6.1 버전에서 9.8p1 이상의 버전으로 업데이트하는 방법과 주의 사항을 단계별로 설명할 예정이다. 다른 블로그나 글들을 살펴봤을 때, 주의 사항이나 사전 준비 과정이 뒤쪽에 있는 경우가 있었다.OpenSSH 업데이트 관련 사항은 Config 파일과 각종 라이브러리 및 의존성 파일들을 확인해야할 사항이 많기 때문에 사전 준비, 주의사항을 먼저 포스팅하였다. 1. 사전 준비1.1 백업업데이트 전에는 항상 중요한 설정 파일..
2024.07.05
no image
OpenSSH 서비스 파일 생성 및 등록 (Unit sshd.service could not be found)
위 이미지와 같이 [ssh -V] 명령어를 통해 확인할 경우 업그레이드한 버전에 대해 적용된 상태로 보여진다.하지만 systemctl status sshd를 통해 확인하면 Unit sshd.service could not be found. 라고 출력된다. 해당 메시지가 나타나는 이유는 새로 설치한 OpenSSH가 시스템 서비스로 등록되지 않았기 때문이다.OpenSSH를 소스에서 설치하면 서비스 파일을 수동으로 설정해줘야 한다. 1. 서비스 파일 생성sudo vi /etc/systemd/system/sshd.service아래 내용을 파일에 추가한다.[Unit]Description=OpenSSH server daemon # 서비스의 설명을 제공하는 항목으로, 시스템 관리자에게 서비스가 무엇인지 알려준다Af..
2024.07.04
no image
OpenSSL 최신 버전 설치 (checking openssl library version... configure: error: openssl >= 1.1.1 required)
OpenSSH 버전 업그레이드 중 [configure] 단계에서 'openssl >= 1.1.1' 버전이 필요하다는 에러 메시지가 나타났다.CentOS 7.1 기본 리포지터리는 1.1.1 버전 이상의 OpenSSL을 제공하지 않을 수 있다.이 경우 OpenSSL을 업그레이드하거나, 최신 버전의 OpenSSL을 소스에서 컴파일하여 설치해야 한다. OpenSSL 최신 버전 설치 방법1. 기존 OpenSSL 버전 확인 및 필요 패키지 설치openssl version#소스 빌드를 위한 패키지 설치yum groupinstall "Development Tools" -yyum install perl-core libtool -y 2. 최신 OpenSSL 다운로드 및 설치cd /usr/local/src#openssl-1..
2024.07.04
no image
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast" 메시지에 대한 설명과 해결 방안
원인 리눅스 시스템에서 yum 패키지 관리 도구를 사용할 때 "Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast"라는 메시지가 나타났다. 문제가 있어서 발생한 건 아니라 안심해도 된다. 이 메시지는 yum이 사용하는 리포지토리 메타데이터가 2주 이상 업데이트되지 않았음을 의미한다.리포지토리 메타데이터는 yum이 패키지 설치, 업데이트 또는 제거 시 필요한 패키지 목록과 관련 정보를 포함한다. 이 메타데이터가 오래되면, 최신 패키지 정보를 반영하지 않기 때문에 패키지 설치나 업데이트 시 문제가 발생할 수 있다. 해결 방안1. yum-cron 설치 및 자동 업데이트 설정yum-cron을 설치하면 yum이 자동으로 리포지토리 ..
2024.07.04
no image
The type className is already defined 에러 해결 방법
사소하고 단순한 문제지만 협업하다 보면 발생할 수 있는 문제로서 작성한다.자바 개발을 하다 보면 "The type 클래스명 is already defined" 에러를 마주칠 때가 있다.이 에러는 동일한 이름의 클래스가 이미 정의되어 있을 때 발생한다. 1. 중복 클래스 이름 확인동일한 패키지 내에 동일한 이름의 클래스가 두 번 정의되어 있을 수 있다.이를 해결하기 위해서프로젝트 내 클래스명 검색: 프로젝트 전체에서 클래스명을 검색하여 동일한 이름의 클래스가 여러 곳에서 정의되어 있는지 확인중복 클래스명 변경: 중복된 클래스 중 하나의 이름을 변경하여 충돌 회피 2. 동일한 파일에서 중복 정의 확인같은 파일 내에 동일한 이름의 클래스를 두 번 정의한 경우이를 해결하기 위해서는파일 내용 확인: 클래스가 정의..
2024.06.25
no image
SMTP 발송 vs SMTP 릴레이(Relay) 발송: 차이점과 장점
현재 운영중인 서비스 중 특정 프로세스에 접근 시 사용자 2차 인증 과정이 필요하다.현 프로세스에서 2차 인증 시, 2가지 방식으로 인증이 가능하다.1. FIDO 기반 2차 인증2. 외부 메일을 통한 OTP 인증위와 같이 2가지 방식으로 인증이 가능한데, 오늘은 2번 [외부 메일을 통한 OTP 인증] 시에 발생한 문제 사항에 대해 다루어 보려고 한다.서론현재는 OTP 인증 코드를 [일반 SMTP 발송]을 통해 처리하고 있었다.평소에는 위와 같은 방식이 문제없이 처리 되었지만, 특정 시즌이 되면 사용자가 몰리는 특성을 가진 서비스이기에 사용자가 몰릴 경우 아래와 같은 크리티컬한 문제들이 발생했다.1. 발신 서버 과부하2. 수신자 서버에서 이메일을 거부하거나 스팸으로 분류위 사항들을 개선하기 위하여 [SMT..
2024.06.24
no image
[ORACLE] 트리거(Trigger)를 이용한 테이블 수정 이력 관리
데이터베이스에서 데이터의 변경 이력을 관리하는 것은 매우 중요하다.사용자가 데이터를 수정하거나 삭제하는 경우, 그 내역을 저장하여 추후에 어떤 변경이 있었는지 추적할 수 있어야 한다.이를 위해 Oracle에서는 트리거를 사용하여 테이블의 수정 이력을 관리할 수 있다.이번 포스팅에서는 트리거를 이용하여 수정 이력을 관리하는 방법을 알아보자. 1. 사용자 작업 테이블 생성먼저 사용자가 직접 데이터를 삽입(insert), 수정(update), 삭제(delete)할 수 있는 테이블을 생성한다.예를 들어, users 테이블이라고 가정하여 생성해 보자.(실제 운영 테이블은 예시와는 비교도 안될 정도로 복잡할텐데, 예시니까^^. 참조만 부탁드립니다)CREATE TABLE users ( id NUMBER PRIMAR..
2024.06.21
no image
[Linux] AH00548: NameVirtualHost has no effect and will be removed in the next release
Apache 웹 서버를 사용하다 보면 로에 "AH00548: NameVirtualHost has no effect and will be removed in the next release"와 같은 메시지를 보게 될 때가 있다. 이는 Apache 2.4 버전에서 나타나는 경고 메시지로, 다음 릴리즈에서는 해당 구문이 제거될 예정임을 알리는 것이다. 이 메시지의 원인과 해결 방법에 대해 알아보자. 원인Apache 설정 파일에서 NamevirtualHost 지시어가 더 이상 사용할 필요가 없기 때문에 출력된다.Apache 2.2 버전에서는 여러 가상 호스트를 설정하기 위해 NameVirtualHost 지시어를 사용해야 했다.하지만 Apache 2.4 버전부터는 이 지시어가 필요 없도록 변경되었다.Apache 2..
2024.06.04
no image
Apache-Tomcat server.xml 파일이란?
서론Apache-Tomcat은 널리 사용되는 오픈 소스 서블릿 컨테이너다.Java 기반 Web Application을 구동하는데 필수적인 역할을 한다.톰캣 설정 파일 중 하나인 server.xml은 서버의 다양한 요소와 동작을 정의하는 데 사용된다.예를 들자면 포트, 이벤트 리스터, DB 접속정보, 웹 리소스 참조경로 등 다양한 정보를 설정가능하다.그럼 server.xml에 대해서 알아보자. server.xml 위치톰캣의 server.xml 파일은 보통 conf 폴더 내에 위치하게 된다. 본론1. server는 톰캣 서버의 최상위 요소로, 서버의 전체 설정을 정의한다.- port: 톰캣이 종료 명령을 수신할 포트 번호 (기본값은 8005)- shutdown: 톰캣을 종료하기 위한 명령어 (기본값은 SHU..
2024.05.16