반응형

mod_security : 오픈 소스 웹 응용 프로그램 방화벽

mod_security 다운로드

 

 

현재 디렉토리에 압축 품

 

스크립트 실행

 

설치

 

모듈 복사

 

모듈 추가

 

설정 변경후 재시작
★ 웹 서비스 단절이 발생하면 안될 때
/usr/local/apache/bin/apachectl -t    문법 테스트
/usr/local/apache/bin/apachectl graceful    적용

 

 

모듈 확인

 

룰셋 적용

SetRuleEngine On | Off | DetectionOnly

On : ModSecurity 기능 활성화

Off : ModSecurity 기능 비활성화

DetectionOnly : 활성화는 하지만 차단하지 않고 탐지만 함

 

SetAuditEngine On | Off | RelevantOnly

On : 모든 트랙젝션 로깅

Off : 모든 트랜젝션 로깅 안함

RelevantOnly : Error , Warning 의 트랜젝션, SecAuditLogRelevantStatus에 정의된 상태코드와 일치하는 트랜젝션만 로깅

 

SetAuditLog logs/modesec_audit.log

검사 로그 파일의 경로를 지정

 

SetAuditLogParts : 로그 파일에 기록할 항목을 정의

A : audit log header

B : request header

C :request body

F : 최종 response header

H : 감사 로그 트레일러

Z : 로그의 끝을 의미

 

접근 차단

 

 

로그 확인(접근 차단)

 

 

 

반응형
반응형

 

1. httpd.conf

사진 삭제

apache 환경 설정 파일

사진 삭제

apache의 홈디렉토리를 지정

 

시스템의 기본값 이외에 다른 IP 주소와 포트에 대해서도 연결할 수 있도록 해줌

 

서버에 문제가 생겼을 때 클라이언트가 메일을 보내는 웹 서버 관리자의 주소

 

 

내부 네트워크에서 리눅스 서버의 IP주소로 웹 서버에 접속할 수 있도록 변경

 

apache 웹 서버의 기능을 확장시켜주는 프로그램들을 모듈 형태로 제공, 동적 공유 객체(DSO)

 

 

웹 서버로 사용될 HTML 문서가 위치하는 곳의 디렉토리를 지정

 

FollowSymLinks 항목은 심볼링 링크를 따라 이동할 수 있게 하는 옵션

AllowOverrride 항목은 각각의 디렉토리에 별개의 파일을 만들어 접근 권한을 설정할 때 사용하는 옵션(보안상 중요)

 

 

웹 서버의 DocumentRoot 로 설정된 디렉토리에 대한 설정을 하는 항목

/usr/local/apache/htdocs 는 사용자들이 웹 서버에 있는 웹 문서를 제대로 읽을 수 있도록 설정되어 있음

웹 서버에 대한 접근은 Allow 를 통해서 이루어짐 (Allow from all 항목은 모든 곳에서 들어오는 접속 허용)

 

 

 

DirectoryIndex 항목은 주소창에 웹 서버의 URL 주소만 지정했을 때 처음에 보여줄 파일을 결정

 

 

php파일로 해석될 확장자 추가

 

 

 

2. vhost.conf

 

하나의 Web Server에는 Main Host 외에 별도의 디렉토리를 가진 여러개의 Host를 설정하여 Virtualhost 설정을 통해 1개의 서버에서 여러개의 웹사이트를 운영할 수 있음

/usr/local/apache/conf/extra/httpd-vhost.conf 에서 설정

 

vhost를 사용하기 위해 httpd.conf 파일에서 Include 주석 처리 해제

 

 

 

 

항목에 대한 설명

DocumentRoot : 웹소스 파일이 위치한 디렉토리의 절대경로 입력

ServerName : 호스트를 제외한 도메인 주소

ServerAlias : 호스트를 포함한 도메인 주소

ErrorLog : 접근시에 발생되는 에러로그가 위치할 경로

CustomLog : 에러로그를 제외한 로그가 위치할 경로

 

 

 

AllowOverrride None : 모든 허용을 하지 않음, None설정으로 이외의 다른 설정들은 모두 무시

Require all granted : 디렉토리 권한(전체 접근 허용)

 

 

 

 

파이어폭스 웹 사이트에서 도메인 주소 입력 후 확인

 

 

 

 

IP기반 가상 호스트

한 장비에 여러개의 IP를 할당받고 IP별로 가상호스트를 사용하는 방법

IP추가를 위해 네트워크 가드 추가 및 네트워크 설정 등이 필요

 

 

 

포트 기반 가상 호스트

포트를 기반으로 가상 호스트를 설정

Listen 포트에 사용할 포트를 여러개 설정한 후 VirtualHost를 해당 포트로 설정

포트를 인식하고 사용자들이 웹서비스에 접근하는 것은 불편하므로 일반적인 방법 X

 

 

 

 

 

이름 기반 가상 호스트

 

한 장비에 여러개의 도메인 이름을 부여하고 도메인 이름별로 가상 호스트를 사용하는 방법

이름 기반 가상 호스트는 클라이언트 요청시 전송하는 헤더중 Host 헤더정보를 사용하여 가상호스트 설정에 따라 웹 서비스를 하게 됨

 

NameVirtualHost 설정 : 80포트에서 이름 기반 가상 호스트를 사용하겠다는 의미로 반드시 적어줘야 함

ServerAlias : 웹서비스가 여러개의 도메인을 사용할 경우 지정해 줌(여러개 지정 가능)

 

 

 

 

 

3. vhosts.ssl.conf

virtualhost 의 ssl 을 설정의 편리를 위해 httpd-vhosts.conf 를 복사한 파일

 

사용하기 위해선 httpd.conf 에서 include 를 해줘야 함

 

사용하기 위해선 httpd.conf 에서 include 를 해줘야 함

여러개의 가상 호스트에 ssl 설정을 하기위해 따로 분리해놓은 설정 파일

 

 

4. php flag off 방법

 

 

사진 삭제

/usr/local/src/php-5.6.25/sapi/apache 디렉토리에서 php 실행 금지

 

 

 

 

5. maxclient 설정 수정방법

사진 삭제

MaxClients : 초기 시작시 실행가능한 최대 아파치 자식 프로세스의 개수를 지정

MaxClients : 최대 동시접속자 수

MaxClients 설정 변경

MaxClients 값 변경 후 apache 재시작

 

 

2) 모듈 사용하기

 

1. 모듈 확인방법

모듈 종류

core : 항상 사용 가능한 핵심 Apache HTTP Server 기능

mod_authn_file : 문자파일을 이용한 사용자 인증

mod_authz_host : 호스트 (이름 또는 IP 주소)를 기반으로 한 그룹 인증

mod_authz_groupfile : 일반 문자파일을 이용한 그룹 권한부여

mod_authz_user : 사용자 권한 부여

mod_auth_basic : 기본 인증

mod_include : 서버 구문 분석 된 html 문서 (서버 측 포함)

mod_filter : 상황에 맞는 스마트 필터 구성 모듈

mod_log_config : 서버로의 요청을 로그에 기록

mod_env : CGI 스크립트나 SSI 페이지에 전달할 환경변수를 수정

mod_setenvif : 요청의 성격에 따라 환경변수 설정을 변경

mod_version : 버전별 설정

prefork : 스레드되지 않은 사전 포크 웹 서버를 구현

mod_mime : 요청 된 파일 이름 확장자를 파일의 동작 (핸들러 및 필터) 및 컨텐츠 (마임 유형, 언어, 문자 세트 및 인코딩)와 연관

mod_status : 서버 활동과 성능에 대한 정보를 제공

mod_autoindex : 자동으로 유닉스의 ls 명령어나 Win32 dir 쉘명령어와 유사한 디렉토리 목록을 만듦

mod_asis : HTTP 헤더를 포함한 파일을 보냄

mod_cgi : CGI 스크립트 실행

mod_negotiation :콘텐츠 협상 제공

mod_dir : "마지막 슬래쉬" 리다이렉션을 제공하고 디렉토리 index 파일을 서비스

mod_actions : 이 모듈은 미디어종류나 요청메서드에 따라 CGI 스크립트를 실행

mod_userdir : 사용자별 디렉토리

mod_alias : 파일시스템의 다른 부분들을 문서 계층구조에 포함하고, URL 리다이렉션을 제공

mod_so : 시작할때 혹은 재시작할때 실행가능한 코드와 모듈을 서버로 읽어들임

 

 

 

2. mod_ssl 적용

apache 컴파일시 mod_ssl 모듈 enable

make && make install 

apache 설정 파일에서 mod_ssl 활성화 확인

 

 

3. vhosts.conf 에서 특정 URL 차단하기

vhost : 웹 서버에 기본적으로 존재하는 호스트인 main host 를 제외한 나머지 host

 

해당 도메인으로 접속을 전부 거부

해당 도메인으로 지정한 ip만 접속을 허용

 

 

192.168.1.25, 192.168.1.26,  example.com 을 제외한 모든 IP 및 도메인 허용

 

 

4. httpd-default.conf 설정 내용

httpd-default.conf : http 기본 설정 파일

 

클라이언트 요청에 의해 서버와 연결된 후 둘 사이에 아무런 메세지가 발생하지 않아서 오류로 처리하는 시간(대기시간)

네트워크 속도가 나쁘거나 서버의 성능이 낮을 수록 수치를 높게 설정

 

연결 지속성 설정, 프로세스가 요청을 처리하고 연결을 끊을 것인지 지속적으로 유지하고 있을 것인지를 설정

 

 

KeepAlive 가 On 일 경우 , 커넥션당 처리할 수 있는 최대 요청의 수, 0으로 설정할 경우 처리할 수 있는 최대 요청 갯수 제한 없음

 

동일한 연결에 동일한 클라이언트로부터 다음번 요청이 있을 때까지 대기하는 시간

 

 

아파치 프로세스가 자신의 URL 및 SERVER_NAME, PORT 값을 어떠한 방식으로 설정할지 결정하는 지시어

OFF 일 경우 클라이언트에 의해 제공되는 Hostname 과 Port 를 사용함

ON 일 경우 아파치는 ServerName 지시어의 값을 사용

 

각각의 디렉토리에 .htaccess 파일을 두고 해당 디렉토리에 대하여 아파치의 설정값을 변경할 수 있도록 해줌

 

서버의 HTTP 응답 헤더 구성

 

서버의 내부 오류나 FTP 디렉토리 리스팅 등, 서버에 의해 생성되는 페이지에 서버의 버전정보, 호스트 네임 등을 추가 할 수 있음

 

로그 기록시 도메인네임(On) 또는 아이피 주소(Off_로 저장할지 설정)

On 일 경우 DNS 질의를 하기 때문에 성능저하 불러 올 수 있음

 

 

반응형
반응형

 

APACHE – 아파치 소프트웨어 재단에서 관리하는 HTTP 웹서버

 

1. 소스 패키지 설치 단계 (configure / make / make install)

configure : 설치 전에 여러가지 옵션을 지정해주고 컴파일 환경을 검사하는 단계

make : 미리 정해진 스크립트를 따라 소스 코드를 컴파일 해주는 도구

make install : 컴파일이 완료된 뒤 설치

 

 

2. 필요한 라이브러리 설치 : apr, apr-util, pcre, apache

Apache

정적 파일의 웹서비스를 담당하는 웹서버

APR(아파치 포터블 런타임), APR-util

Apache가 설치된 OS에 관계 없이 일정한 동작을 하기 위해 필요한 라이브러리

아파치 HTTP 서버의 핵심 고급 IO 기능에 대한 접근

OS 수준의 기능(난수 생성, 시스템 상태)

기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용

PCRE(Perl Compatible Regular Expressions)

펄 호환 정규 표현식으로 정규식 패턴 일치를 구현하는 함수의 집합

 

 

3. apache 소스 설치 과정

※ wget : 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램

 

 

apr 설치

http://mirror.23media.de  웹 사이트에서 apr-1.6.2.tar.gz 파일을 가져옴

 

현재 작업 중인 위치에서 새로운 디렉터리를 생성하고 그안에 압축을 해제

 

 

압축 해제한 apr-1.6.2의 디렉토리로 이동 한 뒤 현재 디렉토리에서 configure라는 이름을 갖는 스크립트 파일을 찾고 실행(소프트웨어가 설치될 컴퓨터의 의존성을 체크하는 것이 목적)

 

 

configure 스크립트가 생성한 Makefile 을 이용해서 동작

 

필요한 모든 요소들이 생성되고 난 뒤 시스템 상에서 정해진 위치에 파일 복사(최종 디렉토리에 복사)

 

 

 

apr-util 설치

http://mirror.23media.de  웹 사이트에서 apr-util-1.6.0.tar.gz 파일을 가져옴

 

 

현재 작업 중인 위치에서 새로운 디렉터리를 생성하고 그안에 압축을 해제

 

압축 해제한 apr-util-1.6.0의 디렉토리로 이동 한 뒤 현재 디렉토리에서 configure라는 이름을 갖는 스크립트 파일을 찾고 실행

 

 

configure 스크립트가 생성한 Makefile 을 이용해서 동작

 

설치가 완료 된 후 최종 디렉토리에 복사

 

 

 

 

 

PCRE 설치

 

http://ftp.pcre.org  웹 사이트에서 pcre-8.41.tar.gz 파일을 가져옴

 

현재 작업 중인 위치에서 새로운 디렉터리를 생성하고 그안에 압축을 해제

 

 

압축 해제한 pcre-8.41의 디렉토리로 이동 한 뒤 현재 디렉토리에서 configure라는 이름을 갖는 스크립트 파일을 찾고 실행

 

 

configure 스크립트가 생성한 Makefile 을 이용해서 동작

 

 

설치가 완료 된 후 최종 디렉토리에 복사

 

 

 

 

Apache 설치

 

http://archive.apache.org  웹 사이트에서 httpd-2.4.38.tar.gz 파일을 가져옴

 

 

현재 작업 중인 위치에서 새로운 디렉터리를 생성하고 그안에 압축을 해제

 

압축 해제한 httpd-2.4.38 의 디렉토리로 이동 한 뒤 현재 디렉토리에서 configure라는 이름을 갖는 스크립트 파일을 찾고 실행

 

컴파일 내용

--prefix=/usr/local/apache/

: 컴파일된 프로그램을 /usr/local/apache/ 위치에 설치

 

--enable-so

: mod so가 제공하는 DSO 기능을 사용

 

--enable-rewrite

: mod rewrite가 제공하는 규칙기반 URL 조작 기능을 사용

 

--with-apr=/usr/local/apr

: httpd 소스 배포본에 포함된 APR 자동으로 웹서버와 같이 컴파일

 

--with-apr-util=/usr/local/apr-util

: httpd 소스 배포본에 포함된 APR-util 자동으로 웹서버와 같이 컴파일

 

--enable-ssl

: mod_ssl이 제공하는 SSL/TLS 기능을 사용한다.

 

--with-ssl=/usr/local/openssl

: mod_ssl 을 사용하는 경우 configure는 설치된 OpenSSL을 찾음

 

--enable-mods-shared=most

: 대부분의 모듈을 DSO 모듈로 컴파일 함

 

--with-pcre=/usr/local/pcre

: httpd 소스 배포본에 포함된 pcre 자동으로 웹서버와 같이 컴파일

 

--with-mpm=prefork

: apache 2.4 버전은 기본 event 형식으로 해당 옵션 제외

 

configure 스크립트가 생성한 Makefile 을 이용해서 동작

 

설치가 완료 된 후 최종 디렉토리에 복사

 

 

httpd 서비스 실행 확인 /  리눅스 시작 시 httpd 서비스 자동 실행

 

iptables(방화벽) 에서 apahce(80 포트) 오픈
/etc/init.d/iptables reload 로 적용

 

 

apache 접속 확인

 

 

 

 

 

 

4. apache configure 확인

--config-cache

: --cache-file=config.cache와 같음

 

--cache-file=FILE

:검사 결과를 FILE 파일에 캐싱함, 기본값은 검사결과를 기록 X

 

--no create

: configure 스크립트를 정상적으로 실행하지만, 출력파일은 만들지 X, 컴파일을 위한 makefile을 만들기 이전에 검사 결과 확인에 유용

 

--quite

: 실행중에 checking ... 문구 출력 X

 

--srcdir=DIR

: DIR 디렉토리를 소스파일 디렉토리로 지정

 

--prefix=/usr/local/apache

: 아키텍쳐에 독립적인 파일을 /usr/local/apache 설치

 

--enable-MODULE=shared

: 해당 모듈을 DSO 모듈로 컴파일함

 

--enable-MODULE=static

: 포함하는 모듈은 기본적으로 정적으로 링크

 

 

5. apache 서버 prefork, worker 방식

prefork 방식

미리 포크(fork)

자식 프로세스들을 일정량 미리 준비해두는 방식

프로세스당 스레드 1

자식 프로세스는 최대 1024개까지 가능

스레드간 메모리 공유 안함(독립적이라 안정적, 메모리 사용 많음)

StartServers : 아파치 시작시 생성되는 기본 프로세스 개수

MinSpareServers : 최소 프로세스의 개수

MaxSpareServers : 최대 프로세스의 개수

MaxClients : 아파치 시작시 최대로 실행할 자식프로세스의 개수

 

 

worker 방식

프로세스 당 스레드 여러 개

메모리 공유 사용(메모리 사용량 적음, 통신량 많은 서버에 적절, 리소스 경합 주의 필요)

StartServers : 아파치 시작시 생성되는 기본 프로세스 개수

ServerLimit : 최대 실행가능한 프로세스 개수

MaxClients : 최대동시접속자수

MinSpareThreads : 최소로 유지할 쓰레드 개수

MaxSpareThreads : 최대로 유지할 쓰레드 개수

ThreadsPerChild : 하나의 자식프로세스가 가질 수 있는 쓰레드 개수

MaxRequestsPerChild : 자식프로세스가 살아있는동안 요청을 받을 개수

 

반응형
반응형

 

1. 도메인 조회 구조에 대한 이해

● 구조

 

인터넷상에서 사용되는 도메인은 전 세계적으로 고유하게 존재하는 이름정해진 규칙 및 체계에 따라야 하며, 임의로 변경되거나 생성될 수 없다.

 

인터넷상의 모든 도메인은 ".(dot)" 또는 루트(root)라 불리는 도메인 아래에 그림과 같이 나무를 거꾸로 위치시킨 역트리(Inverted tree)구조로 계층적으로 구성되어 있다.

 

루트 도메인 바로 아래의 단계를 1단계 도메인 또는 최상위도메인(TLD, Top Level Doamin)이라고 부르며, 그 다음 단계를 2단계 도메인(SLD, Second Level Domailn)이라고 한다.

 

 

 질의 과정

 

① 웹 브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname에 대한 IP 주소를 질의하여 Local DNS에 없으면 다른 DNS name 서버 정보를 받음(Root DNS 정보 전달 받음)

 

 Root DNS 서버에 "www.naver.com" 질의

 

 Root DNS 서버로 부터 "com 도메인"을 관리하는 TLD (Top-Level Domain) 이름 서버 정보 전달 받음

 

 TLD "www.naver.com" 질의

 

 TLD에서 "name.com" 관리하는 DNS 정보 전달

 

 "naver.com" 도메인을 관리하는 DNS 서버에 "www.naver.com" 호스트네임에 대한 IP 주소 질의

 

 Local DNS 서버에게 www.naver.com에 대한 IP 주소를 222.122.195.6 응답

 

 Local DNS www.naver.com에 대한 IP 주소를 캐싱을 하고 IP 주소 정보 전달

 

Recursive Query : Local DNS 서버가 여러 DNS 서버를 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 질의해서 답을 찾아가는 과정

 

 

2. named.conf 옵션에 대한 이해

 

변경 전 : listen-on port 53 {127.0.0.1;};

변경 후 : listen-on port 53 {any;};

기본설정은 127.0.0.1(localhost)에게만 listen하기 때문에 외부 접속은 불가능

따라서 서버에 설정된 모든 IP에 대해 listen 하기 위해 any로 변경

 

변경 전 : allow-query {localhost;};

변경 후 : allow-query {any;};

네임서버에 설정된 도메인만 응답하도록 설정

변경 전에는 localhost만 응답, 변경 후에는 네임서버에 설정된 도메인 전체 응답

 

변경 전 : recursion no

변경 후 : recursion yes

변경 후에 여러개의 네임서버가 존재 할 경우 순차적으로 질의 후 다시 1차 네임서버로 질의 할 것인지 선택

master 서버는 필요, slave 서버는 필요 X

 

변경 전 allow-transfer {none;}; => 모두 deny

변경 후

allow-transfer {any;}; => 모두 허용

allow-transfer {127.0.0.1; 121.254.171.242;}; => 특정 IP만 허용

allow-transfer {key rndckey;}; => rndc key 사용

 

dnssec-enable yes/no

기존의 DNS에 공개키 암호화 방식의 보안기능을 추가 부여하여 DNS의 보안성을 대폭 강화 여부 설정

 

forward first; (or only;)

네임서버로 오는 질의를 특정 호스트로 포워딩

First 는 네임서버로 들어오는 질의를 forwarders로 지정한 외부 서버에서 먼저 처리하고 적절한 해답을 찾지 못할 경우 로컬에서 처리

Only 는 네임서버로 들어오는 질의를 forwarders 로 지정한 외부에서만 해결

 

Forwarders {IP Address;}

forward를 처리할 외부 서버의 IP 주소를 정의

 

3. zone 파일 분석

 

1행

$TTL 60 (60 : 1)

: 이곳에 설정한 도메인에 대한 정보를 다른 네임서버에서 읽어간 다음 읽어간 네임서버측에 얼마동안 보관하고 있을 것인가를 설정하는 항목

 

2

@ : ORIGIN을 의미하는 특수문자로 public domain 을 의미

IN : 다음으로 나오는 우측 설정을 사용한다는 의미

SOA : ns1.oooooo.com 도메인 네임서버에 대한 모든 정보를 가지고 있으며 관리자는 root.oooooo 이라는 메일로 설정함을 의미

 

 주의할 점 : 도메인 이름을 적은 다음에는 항상 .() 루트 도메인을 표시

ns1.oooooo.com => ns1.oooooo.com.oooooo.com

ns1.oooooo.com. => ns1.oooooo.com

 

3

serial : 시리얼값 변경 내용으로 slave 서버가 master 서버의 zone 파일을 업데이트 할 지 결정

serial 값이 기존의 값보다 증가 하였을 경우 slave 서버 에서 master 서버의 zone 파일을 다시 전송 받음 (YYYYMMDDnn 으로 기본 설정)

 

4

refresh : 보조 네임서버가 주 네임서버에 접속하는 시간 (1D : 하루)

 

5

retry : refresh에 지정된 주기로 체크하다가 장애 등으로 인해 접속 실패시 다시 시도할 시도 간격 (1W : 1시간)

목적 상 refresh 값 보다 적어야 함

 

6

expire : 주네임서버에서 데이터가 없으면 파기하는 기간(1W : 1)

 

7

minimum : 도메인 정보를 다른 네임서버에서 가져갔을 때에 가져간 도메인정보를 얼마나 보관하고 있을 것인가에 대한 시간 값(3H : 3시간)

TTL값이 명시되지 않은 레코드는 Minimum 값을 기본으로 갖게 됨

9

IN : internet 클래스를 나타냄

NS : 도메인의 네임서버 정보를 나타냄

ns1.oooooo.com. : 네임서버 도메인을 ns1.oooooo.com으로 지정

 

11

IN : internet 클래스를 나타냄

MX 10 : 우선순위가 빠른 10번의 mail..com. 에서 메일을 수신oooooo

mail.oooooo.com. : mail.oooooo.com 도메인으로 메일을 메일서버로 지정

 

12

IN : internet 클래스를 나타냄

TXT :소유한 도메인에 간단한 텍스트 데이타를 입력하는 기능

v=spf1 : 사용하고 있는 SPF의 버전

IP4 : 허용하고있는 모든 서버 IP주소

-all : 위 목록 이외의 다른 곳에서 보낸 메일을 받아들이지 않음

 

15

ns1 : nameserver 1을 의미

IN : internet 클래스

A : 해당 호스트가 어떤 아이피를 가르키는지를 설정 (A다음엔 IP가 와야함)

 

※ 9~ 19행 처럼 첫번째 항목에 @나 아무것도 입력하지 않으면 네임서버 환경설정 파일에서 설정한 도메인(oooooo.com)으로 인지함

 

 

4. zone 파일 추가 하여 조회 해보기 (TXT 레코드와 SPF 정책 개념)

 

(1) TXT 레코드 값 설정 / 개념

TXT 레코드 란 ?

: 도메인 외부의 소스에 텍스트 정보가 포함된 DNS 레코드 유형

 

TXT 레코드를 사용하여 피싱, 스팸, 기타 악의적인 활동을 방지할 수 있다.

 

TXT 레코드는 도메인 이름을 임의의 텍스트 문자열에 매핑하는 데 사용된다. 특히 SPF(Sender Policy Framework) 및 DKIM(DomainKeys Identified Mail)과 같은 이메일 구성과 관련된 여러 애플리케이션에서 사용된다.

 

DNS 표준은 여러 문자열을 포함하는 하나의 TXT 레코드를 허용하며 각각의 문자열 길이는 최대 254자까지 가능하다. 여러 문자열이 사용되는 경우 이러한 문자열은 클라이언트에 의해 연결되고 단일 문자열로 처리된다.

 

Azure DNS REST API를 호출할 때 각 TXT 문자열을 별도로 지정해야 한다. Azure Portal, PowerShell 또는 CLI 인터페이스를 사용할 때는 레코드당 하나의 문자열을 지정해야 하며 필요한 경우 자동으로 254자 세그먼트로 나뉜다.

 

TXT 레코드 집합은 여러 레코드를 포함할 수 있으며 각각의 레코드는 여러 문자열을 포함할 수 있다. Azure DNS는 모든 레코드가 결합된 각 TXT 레코드 집합에서 총 문자열 길이를 최대 1024자까지 지원한다.

 

dig 명령어로 gmail.com 에대한 TXT 레코드 조회

 

dig 명령어로 redirect 되어있는 _spf.google.com TXT 레코드 조회

 

 

dig 명령어로 include 되어있는 _netblocks.google.com 의 TXT 레코드 의 spf 정책 도메인 확인

 

 

(2) SPF 정책

SPF(스팸 처리 방지) 레코드SPF(스팸 처리 방지) 레코드란?

 

스팸 발송자는 도메인에서 전송된 것처럼 보이는 이메일을 보낼 수 있으며, 이를 위장이라고 한다. 내 도메인 호스트에 SPF(Sender Policy Framework) 레코드를 추가하면 수신자가 이메일이 내 도메인에서 전송되었으며 위장된 메일이 아니라는 것을 알 수 있다. 일반적으로 메일 발송 관련하여 ‘발송자의 메일 서버 정보와‘메일 서버 정보’가 일치하는지 확인할 때 이용된다.

메일 발송 서버가 존재하는 경우에는 SPF와 TXT에 입력되어 있어야 한다.

 

SPF(스팸 처리 방지) 레코드 주의사항

SPF를 인식하지 못하는 버전의 메일 수신 서버에서는 TXT에 동일한 정보를 입력하지 않으면 스팸 메일로 처리해서 반송될 수 있다.

SPF와 TXT 두 개 레코드로 관리할 경우 동일한 정보로 관리해야 한다.

 

 

(3) TXT 레코드, SPF 정책 추가(zone 파일 추가)

 

12번 행

v=spf1 : 사용하고 있는 SPF의 버전

ip4 : ipv4 규약의 ip 주소와 비교

특정 ip 지정(121.254.171.244) : 메일서버에서 메일이 나가지만 웹서버에서도 회원 가입, 패스워드 문의, 각종 정보 전송등 메일이 발송되기 때문에 자기 도메인에서 외부로 발송되는 모든 IP에 대한 SPF등록이 이루어져야 함

 

all은 레코드 값의 가장 뒤에 지정, 앞의 설정 이 외의 나머지를 의미

-all (fail) 앞의 조건과 맞지 않으면 거부

~all (softfail) 앞의 조건과 맞지 않으면 특정 헤더를 남기고 통과

+all (pass) 무조건 통과, 기본값(+)

?all (neutral) 신경쓰지 않음

 

 

반응형
반응형

 

dig 옵션 및 사용법

 

● dig (domain information groper) ?

DNS 네임서버에 쿼리를 보내기 위한 유용한 툴로서 DNS lookup 과 쿼리를 보낸 네임서버로부터 돌아오는 응답을 출력하게 됨

dig의 유연하고 편리하기 때문에 대부분의 DNS 관리자들은 DNS장애 시 troubleshoot 를 위해 dig를 사용

 

※[명령어 사용법] dig [@server domain] [query-type] [query-class]

 

@server : 질의를 하고자 하는 DNS 서버로 만약 name server를 명시하지 않으면 시스템의 resolv.conf 에 있는 네임서버에 query를 시도

domain : 질의 대상 도메인 또는 도메인호스트 이름

type : 질의에 사용할 Resource Record 타입

 

● query-type

a : 도메인의 아이피 정보 ( network address )

any : 지정된 도메인의 모두/임의의 정보

mx : mail exchanger 정보

ns : name server 정보

soa : Zone 파일 상단의 authority 레코드

hinfo : host 정보

axft : zone transfer ( authority를 갖는 특정 네임서버에 질의 )

txt : 임의의 수의 캐릭터 라인 (arbitrary number of strings)

zone transfer : 해당 도메인의 zone에 대한 복사본을 얻기 위해 primary 로부터 zone 데이타베이스를 끌어오는 작업

 

query-class  ?

: query network class 부분(확인하고자 하는 도메인), 생략하면 in  default(in = internet )

in : 인터넷 클래스 도메인 (internet class domain)

any : 모든 클래스 정보 (all/any class information)

zone transfer : 해당 도메인의 zone 에 대한 복사본을 얻기 위해 primary 로부터 zone 데이타베이스를 끌어오는 작업

 

● dig 옵션

-b : source IP를 다른 IP로 설정

-f : batch 모두 동작시 파일이름을 지정

-m : debugging

-p : 53 이외의 포트번호를 지정

-4 or -6 : IPv4 또는 IPv6 강제 지정

-t : Type를 지정

-c : Class 지정

-x : reverse lookup

+tcp : TCP 프로토콜 사용

+trace : delegation path 추적

+short : Answer Section 결과만 표시

+comments : Comments Section 표시

+question : Question Section 표시

+answer : AnsWer Section 표시

+authority : Authority Section 표시

+additional : Additional Section 표시

+stats : Statistics Section 표시

+all : Comments부터 Statistics Section 모두 표시

+multiline :  record를 여러 줄로 보기 좋게 표시

 

 출력 내용

쿼리에 대한 결과를 ANSWER SECTION에 출력

해당 도메인의 인증을 갖는 네임서버 정보를 AUTHORITY SECTION에 출력

글루레코드 등이 있을 경우 그에대한 정보를 ADDITIONAL SECTION에 출력

 

 

도메인주소를 입력하면 /etc/resolv.conf에 등록된 네임서버를 이용하여 도메인을 조회

 

 

 

도메인주소를 특정 네임서버를 통해 조회

 

 

요청한 도메인의 대한 전 과정을 추적한 결과 조회

 

 

지정한 도메인의 메일서버 정보 조회

 

 

 

 

nslookup 옵션 및 사용법

 

 

● nslookup 이란 ?

name server 관련한 조회를 할 수 있는 명령어

서버의 네트워크가 제대로 설정되었는지 확인하는 용도로도 사용

 

 명령어 사용법

nslookup [-type = record] DomainName DNS server

 

nslookup 명령어 뒤에 도메인을 지정(기본 사용법)

 

 

● 옵션

SRV : 정방향

PTR : 역방향

CNAME : 실제 또는 정식 도메인 이름에 별칭 이름을 매핑하는 DNS 레코드

 

 

aaaa : IPv6를 의미

 

MX : 메일서버

 

NS : 네임서버

 

 

SOA : 마스터네임서버

 

 

 

txt : 텍스트

 

IP로 domain name 을 찾는 기능

 

 

외부의 DNS를 지정해서 조회

 

whois 란 ?

 

도메인 이름의 소유자가 누구인지 알려주는 명령어

해당 도메인 이름이 이미 다른 사람에 의해 사용중인지 확인하는 용도로 많이 쓰임

도메인 주소와 네트워크 블록 단위 IP 주소를 검색할 때 유용

 

 명령어사용법 : whois [옵션] [QUERY]

 

 

● 옵션

 

-v, -verbose 자세한 디버그 출력

 

-c FILE, -config : FILE FILE을 구성 파일로 사용함

 

-h 호스트, -host : HOST 명시 적 호스트 쿼리

 

-n, -no-redirect : 콘텐츠 리디렉션을 사용하지 않음

 

-a, -raw : 쿼리의 형식을 다시 지정하지 않음

 

-i, -display-redirections : 모든 리다이렉션을 숨기는 대신 표시

 

-p PORT, -port : PORT 포트 번호 PORT 사용 (HOST와 함께 사용)

 

-r, -rwhois : 강제 및 rwhois 쿼리를 작성

 

-Rwhois-display : rwhois 쿼리에 표시 옵션을 설정

 

-Rwho-limit : 반환 할 일치 항목의 최대 수를 설정

 

 

domain 주소로 검색

 

 

● 내용

 

Domain Name : 도메인 네임

 

Registry Domain ID : 레지스트리 도메인 아이디

 

Registrar WHOIS Server : 레지스트리 whois 서버

 

Registrar URL : 레지트스티 URL

 

Updated Date: 업데이트 날짜

 

Creation Date : 만들어진 날짜

 

Registry Expiry Date : 레지스트리 만료일

 

Domain Status : 도메인 상태

 

Name Server : 네임 서버

 

DNSSEC : DNS 보안성 확장

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

(1) 이메일 발송,수신 구조

● 용어 설명

- MUA(Mail User Agent) : 메일을 작성하여 보내는 프로그램

- MTA(Mail Transfer Agent) : 이용자로부터 메일을 받아서, 외부로 전달하는 프로그램

- MDA(Mail Delivery Agent) : 전송받은 메일을 해당 사용자에게 전달

- SMTP : Simple Mail Transfer Protocol) : 메일을 보낼 때 사용되는 프로토콜

- POP3(Post Office Protocol) : 메일을 전송받을 때 사용되는 프로토콜

- IMAP(Internet Mail Access Protocol) : 메일을 전송받을 때 사용되는 프로토콜

 

 

● ※ mail deamon이란 일종의 프로세스로서, 송신자의 메일과 정보를 메일 서버가 해석 가능하도록 재가공 함반대의 경우 또한 같은 방법으로 수신자의 정확한 메시지 수신과 릴레이를 지원mail 전송의 원리

- 사용자는 mail client (outlook 또는 eudora)와 같은 프로그램을 통해서 mail을 작성한 후, SMTP를 사용하여 mail deamon으로 메시지를 전송

 

- 메일 데몬은 종단간 client의 주소를 분석하고 가장 가까운 mail server(송신자 소속의 메일서버)로 메시지와 정보를 보냄

 

- 송신자가 보낸 편지가 일단 송신자 측의 전자우편을 관리하는 Mail Server에 전달되면,Mail Server는 수신자의 전자우편 주소를 분석해서 최단 경로를 찾아 근접한 Mail Server에 편지를 전달

 

- 최종 수신자측의 Mail Server에 도착하기까지 연속적으로 전달하는 중계작업이 계속 됨, 서로 근접한 Mail Server들 간에 전자우편을 계속해서 중계해 나가는 방법을 통해 메일을 저장 후 전송 (Store-and-forward)하는 서비스를 함

 

- 이러한 작업이 계속적으로 이루어 진 후, 송수신자는 정확하게 메일 교환을 할 수 있음

 mail deamon이란 일종의 프로세스로서, 송신자의 메일과 정보를 메일 서버가 해석 가능하도록 재가공 함반대의 경우 또한 같은 방법으로 수신자의 정확한 메시지 수신과 릴레이를 지원

 

 

(2) 프로토콜 (SMTP, POP3, IMAP )

● SMTP (Simple Mail Transfer Protocol)

: 인터넷에서 메일 주고 받기 위해 이용되는 프로토콜

TCP포트번호 : 25번 사용

 

- 메일 서버간 송수신 뿐만 아니라 메일 클라이언트에서 메일 서버로 메일을 보낼때에도 사용

- 메일을 보낼때 바로 상대편의 컴퓨터로 메일을 송신하는것이 아니라, 중간에 메일서버라는 곳을 몇군데 거치게 되는데, 메일서버에 - 메일이 보관되고 그것을 다시 다른 메일서버에 보내면서 결국 보내고자하는 end-user 에게 전해 짐

- 일반적으로 메일서버 간 메일을 주고받을때는 SMTP(simple mail transfer protocol)를 사용

 

 

● POP3 (Post Office Protocol)

: 받는메일이라고 불리는 POP 서버(version3) 이메일을 받아오는 표준 프로토콜

TCP포트번호 : 110번 사용

 

-메일 서버에서 이메일을 로컬 PC로 수신받을 수 있는 client / server 프로토콜

-pop3는 서버에서 메일을 받아오는 즉시 삭제되도록 만들어 졌지만 서버저장 설정은 가능(스토리지용량에 제한있는 경우 유리)

 

 

● IMAP (Internet Message Access Protocol)

: POP와 같이 메일 서버 종류 중 하나

TCP포트번호 : 143번 사용

 

- POP와는 달리 중앙 서버에서 동기화가 이뤄지기 때문에 모든 장치에서 동일한 이메일 폴더를 확인할 수 있음

- 스마트폰, 태블릿, PC모두 동일한 받은메일/보낸메일/기타폴더 등 모든 이메일 메시지를 볼 수 있음

- 서버에 이메일이 남겨진 상태로 사용자에게 이메일을 보여주기 때문에 사용자는 언제 어디서나 원하는 메일을 열람할 수 있음

- 메일이 서버에 저장되어있기 때문에 로컬pc에 문제가 생겨도 이메일에는 아무 영향을 미치지 않음

 

 

 

(3) QMAIL

● qmail 이란?

Unix/Linux 기반의 메일 전송 에이전트(MTA)이다.

Sendmail은 프로그램이 단일화 되어 보안에 상당히 취약하며 사용함에 있어서도 불편한점이 많고 또 많은 전문지식을 필요로 한다.

qmail은 모듈방식을 채택하여 사용하기 편리하고 Sendmail에 비해 더 안전한 소프트웨어이며 기능 또한 매우 다양하다.

 

 

● qmail 장점

▶ 안전성

mail을 통해 시스템에 침입할 수 없다.

 

 

▶ 신뢰성

qmail은 메세지를 절대 잃어버리는 일이 없다.

Maildir 형태는 qmail에서 처음으로 사용하기 시작한 메일함 형식으로 배달이 이루어 지고 있는 동안에

시스템이 다운되더라도 파일 시스템에 문제가 생기지 않는 유일한 메일함이며 NFS 파일 시스템상에서

동시에 여러개의 메일이 배달되고 있는 동안에도 사용자가 메일을 읽을 수 있는 안전한 메일함 이다.

 

▶ 속도

qmail은 메세지를 Sendmail보다 빠르게 처리하면서 안정성을 잃지 않는다.

수 많은 메일을 동시에 배달해야 하는 메일링 리스트의 경우 가장 빠른 성능을 보이게 된다.

 

▶ 간단함

qmail은 다른 어떠한 MTA 보다도 작다.

포워딩, 알리아싱, 메일링 리스트 메카니즘을 독립적으로 가지고 있는 다른 MTA들과는 다르게 qmail은 한가지의 간단한 포워딩 메카니즘을 사용해 모든 기능을 구현하였다.

 

▶ 능률

qmail은 오래된 486 16M 시스템에서 하루에 70,000통 이상의 메일을 처리하는데

무리가 없을 정도로 그 성능과 능률이 뛰어나다.

 

▶ 메일링 리스트

qmail은 일반유저가 메일링 리스트를 제어할 수 있기 때문에 관리자의 업무가 줄어드는데 도움을 준다.

 

▶가상 호스트 구축

가상 호스트 구축이 쉽다.

 

▶직관적인 관리

qmail은 최소한의 작업으로 관리가 쉽다.

 

▶유연한 배달 프로그램

qmail은 외부 메일 프로세서를 위한 강력한 인터페이스를 제공한다.

 

▶다양한 OS 지원

qmail은 동일한 소스로 포팅이 필요 없이 대부분의 UNIX 시스템을 지원한다.

AIX, BSD/OS, FreeBSD, HP/UX, Irix, Linux, NetBSD, OpenBSD, OSF/1, SunOS, Solaris, 

 

반응형
반응형

 

1. /var/qmail/control/ 설정 파일

- qmail은 하나의 전체 설정 파일을 사용하지 않고 /var/qmail/control/ 안에 다음과 같이 분리되고 각각의 기능을 하는 설정파일들을 사용

- bounce : 어떤 이유로든 메일이 되돌아 올 때 (from: 헤더가 있는 경우)

- double bounce : bounce 한 메일이 다시 되돌아 오는 경우

- me  FQDN으로 명기한 도메인 명이 적혀있는 me 라는 파일을 의미

 

 
Control
기본값
사용
설명
rcpthosts
X
qmail-smtpd
메일을 받아들일 도메인
badmailfrom
X
qmail-smtpd
이 메일주소로 부터 오는 메일은 553 sorry, your envelope sender is in my badmailfrom list 라는 메세지와 함께 무조건 User unknown으로 bounce
bouncefrom
MAILER-DAEMON
qmail-smtpd
bounce 할때 메일의 from: 헤더에 들어갈 유저 이름
bouncehost
me
qmail-send
bounce 할때 메일의 from: 헤더에 들어갈 호스트 이름
concurrencylocal
10
qmail-send
로컬 메일 배달시 qmail-send의 동시 최대 프로세스의 수를 조절
concurrencyremote
20
qmail-send
리모트 메일 배달시의 qmail-send 동시 최대 프로세스 수를 조절
databytes
0
qmail-smtpd
메일의 최대 크기(byte, 0 = 무제한)
doublebouncehost
me
qmail-send
double bounce 된 메일을 수신할 호스트
doublebounceto
porstmaster
qmail-send
double bounce 된 메일을 받을 유저
envnoathost
me
qmail-send
메일주소에 @ 가 명시되지 않았을 경우의 디폴트 도메인 이름
helohost
me
qmail-remote
SMTP HELO 명령에 표시될 호스트 이름
localiphost
me
qmail-smtpd
로컬 IP 주소가 대체될 이름
locals
me
qmail-send
로컬로 인식하며 배달할 도메인
me
시스템의 FQDN
.
다른 콘트롤 파일을 위해 쓰임
morercpthosts
X
qmail-smtpd
두번째 rcpthosts 파일
percenthack
X
qmail-send
"%"-형식의 릴레이를 사용 할 수 있는 도메인
plusdomain
me
qmail-inject
domain substituted for trailing "+"
qmqpservers
X
qmail-qmqpc
QMQP 서버의 IP 주소
queuelifetime
604800
qmail-send
메세지가 메일 큐안에 머물 수 있는 시간 (초단위)
smtpgreeting
me
qmail-smtpd
SMTP greeting message
smtproutes
X
qmail-remote
artificial SMTP routes
timeoutconnect
60
qmail-remote
SMTP 연결 대기 시간()
timeoutremote
1200
qmail-remote
리모트 서버 연결 대기 시간()
timeoutsmtpd
1200
qmail-smtpd
SMTP client 대기 시간 ()
virtualdomains
X
qmail-send
가상 도메인들과 유저들
defaultdomain
me
qmail-inject
기본 도메인 이름
defaulthost
me
qmail-inject
기본 호스트 이름
idhost
me
qmail-inject
Message-ID에 사용될 호스트 이름

 

 

2. /etc/tcp.smtp 파일

/etc/tcp.smtp설정 파일은 등록하는 아이피에 대해서 smtp 접속 허용, 불허, rcpthosts 참고 등을 결정

 

IP:deny =>해당 IP로부터 smpt 접속을 거부

: smtp 접속 자체가 거부 되므로 아무것도 못함

 

IP:allow,RELAYCLIYENT =>해당 IP로부터 smpt 접속과 모든 릴레이를 허용

: 지정된 IP smtp로 접속하여 아무런 제약없이 메일을 보낼 수 있음

 

:allow => 그외 모든 IP로 부터는 smtp접속은 허용하지만 릴레이는 rcpthosts에 등록된 서버에 대해서만 허용

 

 설정 파일 수정 후 적용시키기 위해서는 반드시 DB를 업데이트 해야함

tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

qmail cdb

1행과 5행은 메일 서버 내부의 릴레이를 열어준 것

tcpserver ip 192.168.1.100 로 부터의 접속을 허용 하고 해당 ip접속이 있을 경우 RELAYCLIENT 환경 변수를 설정한 후

 

qmail-smtpd를 실행하게 되고 릴레이를 허용

 

9행은 다른 ip에서의 접속을 허용만 하고 릴레이는 허용 안함(환경변수 설정x)

 

 

▶ 특정 주소로 부터 메일을 막아야 하는 경우(스팸 메일)

예) 23.45.66.XXX 대역으로 부터 오는 메일 deny

※ 주의할 점 : 메일의 주소와 상관없이 해당 주소로 부터의 SMTP접속을 아예 거부하는 것

 

 

메일을 받아 들일 도메인만 설정

 

3. domain 생성 및 삭제

hwleedomain.com  도메인 생성

 

생성한 도메인 확인

 

도메인 삭제

 

 

도메인 삭제 완료

 

 

4. domain alias 설정 (real domain, alias domain)

alias domain : 새로운 도메인을 사용하여 기존에 있던 도메인 쪽으로 연결을 해주는 것

 

▶ 사용법

명령어 : /home/vpopmail/bin/vaddaliasdomain [real_domain] [alias_domain]

alias 도메인 생성(lhwdomain.com)

 

+hwleedomain.com => 기존 real_domain

+lhwdomain.com => 가상 alias_domain

 

 

alias 도메인 삭제(lhwdomain.com)

 

 

 

5. 이메일 계정 추가 및 삭제

 

▶ 계정 추가

hwleedomain.com  도메인에 webmaster 계정 생성

 

 

tree 명령어로 계정 생성 확인

 

mysql 명령어로 계정 생성 확인

 

 

 

▶ 계정 삭제

hwleedomain.com  도메인에 webmaster 계정 삭제

 

tree 명령어로 계정 삭제된 것 확인

 

mysql 명령어로 계정 삭제된 것 확인

 

 

 

6. 이메일 계정 POP3, SMTP 제한 / 해제

● 명령어 사용법 : vmoduser [옵션] [email 주소 or domain]

 

▶ pop 접근 차단 (옵션 -p)

vmoduser 명령어로 pop 접근 차단 /  vuserinfo 명령어로 계정 정보(pop 차단) 확인

 

▶ smtp 접근 차단(옵션 -s)

vmoduser 명령어로 추가적으로 smtp 접근 차단 /  vuserinfo 명령어로 계정 정보(smtp 차단) 확인

 

 

▶ 차단 해제(옵션 -x)

차단 했던 pop, smtp 차단 해제 명령어 실행후 vuserinfo 명령어로 확인

 

 

 

 

7. 생성된 계정으로 아웃룩 셋팅 하여 발신/수신 해보기

 

아웃룩 pc 에서 dns 서버를 테스트 서버(네임서버 구성한) ip로 설정

 

cmd 창에서 nslookup 명령어로 메일서버 확인

 

 

 

 

▶ qmail과 outlook 연동

메일서버에서 만든 가상 도메인과 유저 입력(유저@도메인)

 

pop 설정 선택

 

받는 메일과 보내는 메일 서버 등록 후 포트 선택 (pop : 110, smtp : 587 사용)

 

※ 대체포트 (587번 포트, Submission 포트)

통상의 메일 송신에 이용되는 TCP의 25번 포트 외에 메일 서버가 메일 소프트로부터 메일 송신을 받는 전용 포트로서 RFC2476에 규정되어 이용이 권장되고 있는 TCP의 포트

 

이용자와 메일 서버 간 통신 시 기본 포트(25번) 대신 인증이 가능한 대체포트(587번)를 사용토록 하는 것은 스팸방지를 위한 국제표준

메일서버에서 vadduser 명령어로 계정 만들때 패스워드 입력

 

 

계정 추가 완료

 

 

 

 

▶ 아웃룩에서 메일 발송

아웃룩에서 메일 발신

 

tail -f /var/log/qmail/send/current | tai64nlocal

발신 후 tail 명령어로 로그 확인 (보내기 성공)

 

웹 메일에서 수신 완료

 

 

 

▶ 웹 메일에서 메일 발송

 

tail -f /var/log/qmail/smtp/current | tai64nlocal

발신 후 tail 명령어로 로그 확인 (수신 확인)

 

 

웹 메일로 보낸 메일 아웃룩에서 수신완료

 

 

반응형
반응형

 

패키지 설치

# yum install letsencrypt -y

 

인증서 발급 테스트

# certbot renew --dry-run

인증서 발급 테스트 성공

 

 

 

인증서 발급 방법

certbot certonly --webroot --webroot-path=[DocumentRoot] -d [도메인]

# certbot certonly --webroot --webroot-path=/home/hwlee.hktest.shop/docs -d hwlee.hktest.shop

 

※ 인증서 발급시 방화벽에 80 port 허용 되어있어야함(443 포함, 443은 ssl 사용 포트)

 

/etc/letsencrypt/live/hwlee.hktest.shop 경로에 인증서 생성

 

인증서 확인

 

 

 

 

apache 에 ssl 적용

vhosts.ssl.conf 에 ssl 적용

 

web 에서 ssl 적용 정상 확인

 

 

 

인증서 만료 날짜 확인

# certbot certificates

인증서 90일 적용

 

 

 

인증서 자동 갱신

 

크론탭 설정

# vi /etc/crontab 에 아래 내용 추가

 

00 09 * * 1 root /usr/bin/certbot renew --renew-hook="/usr/local/httpd2/bin/apachectl graceful"

 

※ geoip 및 해외 접속 차단이 되어있으면 무료 갱신이 안됨(미국, 독일 허용되어야 함)

 

반응형
반응형

 

mod_security 설정 파일에 내용 확인

# vi /usr/local/apache/conf/security.conf

해당 룰셋 주석 제거

 

 

 

반응형
반응형

 

● IPMI 설치

# yum install ipmitool OpenIPMI

 

● IPMI 상태 확인

# ipmitool lan print 1

● IPMI 구동

# service ipmi start

 

 

● user 확인

# ipmitool user list 1

● user 설정

ipmitool user set name [id] [user]

ex)

ipmitool user set name 3 dami

=> id 3번에 dami 란 이름의 유저 추가

 

● user 패스워드 설정

ipmitool user set password [id]

 

ex) ipmitool user set password 3

password :

(대소문자, 특수문자 포함)

 

 

● 권한 설정

# ipmitool enable 3

(enable 3 이유)

ID 1 익명계정

ID 2 administrator

ID 3 만든 계정

 

● 권한 확인

# ipmitool summary 1

 

ipmi 웹 접속하여 계정 생성 및 권한 부여

 

반응형

+ Recent posts