카테고리 보관물: 오라클 클라우드

오라클 클라우드 이메일 전송 서비스 설정 방법

리눅스 커뮤니티 사이트에서 회원가입 후에 메일 인증을 시키고 싶은데(중복 가입 방지 및 이메일 주소 도용 방지) 서버가 있어도 제대로 메일을 보낼 수 있는 서버를 만드는건 또 다른 문제다.
스팸 메일을 보내는 놈들 때문에 메일 서버는 제대로 운영하기 힘들게 되어 있기 때문이다.
나한테는 서버도 있고 메일 서비스도 있는데 왜 메일을 못 보내게 하는거냐 ㅠㅠ

그래서 오라클 클라우드에서는 메일을 대신 보내주는 서비스가 있다. 본인이 가지고 있는 도메인을 사용해서 이메일을 보낼 수 있다.

오라클 클라우드 전자메일 전송 서비스 설정 방법

오라클 클라우드 메뉴에서 ‘개발자 서비스’ -> ‘어플리케이션 통합’ 섹션 아래에 ‘전자메일 전송’으로 들어가면 된다.

왼쪽 메뉴에서 ‘전자메일 도메인’을 고르고 ‘전자메일 도메인 생성’ 버튼을 눌러서 자기가 가진 도메일을 넣는다. 메일을 서브 도메인으로 보내고 싶으면 서브 도메인으로 넣자.
작성하고 나면 ‘수명 주기 상태’가 활성화 될 때까지 잠시 기다리자.

상단 탭에 DKIM 탭을 눌러서 DKIM 를 신규 추가하자.
DKIM 선택기라는건 자기 마음대로 정하면 되는데 oci-서브도메인-날짜(년월) 정도로 넣으면 된다. 예) oci-linuxer-202601
cname 레코드를 생성해서 생성된 cname 레코드 이름/값을 자기 도메인 관리하는 곳에서 DNS 설정에 cname 레코드로 등록하면 된다.
내 경우는 이렇게 ‘oci-linuxer-202601._domainkey.linuxer.elmi.page.’로 cname 레코드 이름이 생성 됐는데 cname 레코드를 등록할 때는 ‘oci-linuxer-202601._domainkey.linuxer’ 까지만 넣으면 뒤에 ‘.elmi.page.’ 가 자동으로 붙는다. 이 부분은 도메인 관리 회사마다 다르니 입력한 후에 MxToolbox – CNAME Lookup 이 사이트에서 cname 이름을 넣으면 테스트 할 수 있으니 꼭 확인해 보자.

mxtoolbox cname test result OK
결과에 DNS Record found 가 있으면 성공

정확하게 도메인 설정을 하고 잠시 기다리면 아래처럼 고객 DNS 상태, DKIM 서명 상태가 활성화 된다.

오라클 클라우드 전자메일 전송 dkim 정보 등록화면
고객 DNS 상태, DKIM 서명 상태가 활성으로 되면 OK

SPF 레코드

DNS 설정 고치는 김에 TXT 타입으로 아래 두 레코드도 추가하자.
이 설정은 메일의 신뢰성을 높여서 스팸으로 분류되는걸 막아준다.

SPF 설정

  • 서브 도메인 사용시
    레코드명: 서브도메인명 예)linuxer, 레코드 타입: TXT, 레코드값: v=spf1 include:spf.oracleemaildelivery.com ~all
  • 메인 도메인 사용시
    레코드명: @, 레코드 타입: TXT, 레코드값: v=spf1 include:spf.oracleemaildelivery.com ~all

DMARC 설정

  • 서브 도메인 사용시
    레코드명: _dmarc.서브도메인명 예)_dmarc.linuxer, 레코드 타입: TXT, 레코드값: v=DMARC1; p=none;
  • 메인 도메인 사용시
    레코드명: _dmarc, 레코드 타입: TXT, 레코드값: v=DMARC1; p=none;

도메인명이 자동으로 붙는 도메인 관리사라면 위처럼 넣으면 되고, 자동으로 안붙이는 곳이라면 뒤에 ‘.elmi.page’ 처럼 메인 도메인을 붙여준다. 설정 후에는 꼭 위에 cname 테스트 사이트에서 제대로 되는지 확인하자.

SMTP 자격 증명 생성

오라클 클라우드 메뉴에서 오른쪽 위에 프로파일 아이콘을 클릭하고 내 메일 주소를 클릭하면 오라클 클라우드 메뉴에서 ‘ID & 보안’ -> ‘ID’ -> ‘내 프로파일’ 순서로 들어간 것과 같은 ‘내 프로파일’ 화면이 나온다. 상단 탭에서 ‘저장된 비밀번호’를 누른다.
‘SMTP 인증서’ 항목에서 ‘인증서 생성’ 버튼을 누른다.
이름을 넣어주면 ‘사용자 이름’과 ‘비밀번호’가 나오는데 창을 닫으면 다시 볼 수 없으니 잘 저장해 두자.

메일 서버 설정 내용

아래와 같이 설정하면 된다.

SMTP 서버 : smtp.email.ap-seoul-1.oci.oraclecloud.com
포트 : 587
아이디/비밀번호 : 위에 생성한 SMTP 자격 증명
SMTP 인증 방법 : PLAIN
TLS 사용 : ㅇ

이렇게 설정하면 별문제 없이 내 지메일로 스팸함에 들어가지 않고 메일이 잘 도착하는걸 확인 할 수 있다.

우분투 22.04 -> 24.04 업그레이드 후기

워드프레스에서 webp 이미지 포맷을 사용해 보려다 결국 php 버전을 올려야 하는것 같아서 포기하고,
대신 avif 이미지 포맷을 사용하고 싶었는데 마찬가지로 php 버전을 올려야해서 우분투 업그레이드를 해 버렸다.

하는 중에 딱히 문제는 없었고 업그레이드 후에 iptables 설정이 초기화 되서 다시 잡아줘야 됐고,
NGINX와 php 설정이 초기화 되어서 조금 고쳤다.

nginx에서는 /etc/nginx/nginx.conf 파일 제일 위에 아래 유저 부분이 초기화 되서 다시 잡아줬고,

마찬가지로 php 설정에서도 /etc/php/8.3/fpm/pool.d/www.conf 파일을 열어 user 설정이 초기화 되어서 다시 잡아줬다.

이건 여러부분 있으니 잘 수정할 것.

위에 것들을 안고치면 워드프레스에서는 502 에러가 발생하고 로그 파일(/var/log/nginx/error.log)에는 아래와 같이 에러가 나온다.

우분투 서버 22.04 LTS 공개키 방식 SSH 접속이 안됨

오라클 클라우드에서 ARM 서버를 생성해서 최신 우분투 22.04 LTS를 운영체제로 선택했는데, SSH 접속이 안되서 한시간 정도 헤맸다.

오라클 클라우드에서는 서버를 생성할 때 SSH 접속용 공개키를 생성하거나 등록해야만 SSH 접속을 사용할 수 있는데,
기존 오라클 클라우드에서 사용하던 서버에 등록한 공개키를 등록해서 서버를 생성.
서버 기동 완료 후에 SSH 접속을 하면 아래 에러가 발생. (MobaXterm에 표시되는 에러 메시지)

서버 접속조차 불가능하니 로그를 볼 수도 없고, 한참 헤맸다.

결국 기존 서버에서 ssh -i 옵션으로 개인키를 지정하니 접속이 되더라 (왜 되는건지…?)
접속 에러가 기록된 /var/log/auth.log 파일을 보면

이런 에러 내용이 찍혀 있는데, 암호화 알고리즘이 문제인것 같아서 좀 검색해 보니…

OpenSSH 8.8부터 SHA-1 알고리즘으로 작성한 RSA 인증은 무효화 되었다고 한다.
서버 생성할 때 등록했던 예전부터 사용하던 키쌍이 2년 정도 된 오래된것이니 아마 그걸로 작성했던듯.

ssh-keygen 커맨드로 새로 키를 생성해서 사용하면 문제가 없다.
아무 옵션을 지정하지 않으면, 3072bit RSA(SHA256)로 작성 되니 그걸 사용하면 문제 없다.

일단 ed25519가 더 좋은것 같으니… 이걸로 작성해서 사용해야겠다.

참고 사이트
RSA, ED25519 차이(성능 등)
https://naleejang.tistory.com/218
SSH keys
https://wiki.archlinux.org/title/SSH_keys

오라클 클라우드 방화벽 설정에 대한 모든 것

오라클 클라우드에서 메인인 오라클 리눅스가 아닌 우분투를 써서 그런가 사사건건 방화벽 때문에 시간을 잡아 먹게 된다.
원인은 iptables 설정에 있는데, 알아먹기도 힘들뿐더러 서버 재기동으로 설정이 되돌아가버리고…
이 문제를 최종적으로 완전히 해결해 버리는 방법이 있다.

스택오버플로우에 있는 오라클 클라우드에서 포트80을 열고 싶어하는 질문에 대한 답변
https://stackoverflow.com/a/54810101

우분투는 기본적으로 ufw 쓰니 iptables 내용을 그냥 다 날리자.라는 내용인데.
ufw 활성화하고 오라클 클라우드 보안 목록에서 이미 다 막고 있으니 iptables 내용은 다 지워도 별 상관없을 것 같다.

현재 iptables 내용을 백업

들어오는 연결에 기본값을 허용으로 설정,
나가는 연결에 기본값을 허용으로 설정,
포워드 연결에 기본값을 허용으로 설정,
체인을 모두 삭제.

이걸 다 하지는 말고, 웹서버나 FTP 서버 같은 경우는 보통 들어오는 연결만 허용하면 되니, 들어오는 연결만 모두 허용하도록 기존 설정을 다 지우면 될듯하다.

만약에 설정을 다 지우더라도 vpn 같은걸 설치한 경우는 포워드 설정에도 관련이 있으니 백업한 파일에서 찾아서 되돌리도록.

OUTPUT 나가는 쪽 설정에는 오라클 관련한게 많이 들어있던데 지울 경우에는 오라클 인스턴스 정보 같은게 제대로 안나올 수도 있으니 안지우는게 좋을듯.

관련글: 오라클 클라우드 프리티어로 이사
우분투 서버 18.04 iptables 서버 재기동으로 초기화 되는 문제

오라클 클라우드 무료 유료 인스턴스 속도 테스트

프리티어는 무료니까 그렇다치고 그럼 유료는 얼마나 빠를까하는 궁금증이 생겼다.
체험 30일동안 3.3만엔의 크레딧을 주는데 거의 쓰지도 못해서 잔뜩 남았고 해서 만들 수 있는 제일 비싼 인스턴스로 만들어 봤다.

VM.Standard.E2.2는 16기가 메모리에 최고 속도는 초당 메가바이트로 환산하면 175MB/s 의 놀라운 속도!

인스턴스 생성 후에 콘솔 접속해서 버릇처럼 apt update, apt upgrade… 속도가 다르구만.
speedtest-cli 설치해서 실행!

결과는…

쿠궁…
다운로드는 초당 15MB/s 에 업로드는… 똑같잖아? 초당 500KB/s 수준.
업로드 속도는 프리티어에서 무료로 쓸수 있는 VM.Standard.E2.1.Micro 와 같은 속도다.

뭐 상용으로 쓰는데 이런 속도일리는 없고 결론은 그냥 무료체험에서 사용할 수 있는 인스턴스들은 다 속도 제한을 걸어뒀다…가 맞겠지.
아무리 그래도 500KB/s 는 너무한것 같은데… ㅠㅠ

그래도 공짜니까… 그냥 쓰는거다.

번외로 한달에 4.5만원쯤 내는 우리집 VDSL 속도…
윈도우10에 설치한 우분투에서 해 봤다.

다운로드 7.25MB/s, 업로드 476KB/s
그냥 다 비슷비슷한거 같다. 업로드 속도는 다 같은 수준이고.

관련글: 오라클 클라우드 프리티어 사용기
오라클 클라우드 프리티어로 이사