CensOS 7 – 방화벽 허용

#firewall-cmd --zone=public --add-port=80/tcp --permanent

 

#filrewall-cmd --reload

Cent OS 7 - YUM기본 명령어

  • 기본 설치 방법

    yum –y install 패키지이름

     

  • 로컬 rpm파일 설치 방법

    yum localinstall rpm파일명.rpm

     

  • 업데이트 가능 목록 확인

    yum check-update

     

  • 업데이트

    yum update

     

  • 삭제

    yum remove 패키지이름

     

  • 정보 확인

    yum info 패키지이름

Cent OS 7 – 고정아이피 설정

cd /etc/sysconfig/network-scripts/

ls

vi ifcfg-xxxxxxxxx

 

systemctl restart network – 네트워크 재시작


Ubuntu SSL Server – SSL 동작과정

SSL 서버 인증 클라이언트 인증을 구현해보면서 어떠한 과정으로 상호인증이 이루어지는지 조사해보고 간략하게 정리해 보았다.

 

 

 


Ubuntu SSL Server – Mysql 계정 및 Adminer

mysql 계정 생성 및 권한 설정하기

  • mysql 서버 로그인하기

    mysql –u root –p를 입력하여 패스워드까지 입력 후 mysql 서버에 접속한다.

     

  • 원격으로 다른 PC에서 mysql 서버에 접속을 하기 위한 새로운 사용자 추가

    mysql> create user 'admin'@'%' identified by 'admin';

     

    아이디는 "admin" 어디서든지 접속하기 위한'%', 비밀번호도 'admin'으로 아이디와 동일하게 설정 하였다.

     

    만약 로컬호스트에서 사용하는 계정일경우

    mysql> create user 'userid'@'localhost' identified by 'password'; 이와 같이 쿼리를 보내주면 된다.

     

  • 사용자에게 mysql권한 주기

    mysql> grant all privileges on *.* to 'admin'@'%';

 

이로써 다른 PC에서 접속하기 위한 mysql계정생성이 완료 되었다.

 

웹 브라우저를 통한 mysql접속

윈도우에서 주로 MySQL Workbanch를 이용하여 GUI환경에서 MySQL작업을 할 수 있다. 현재 운영체제인 Ubuntu server 15.04는 CUI환경이므로 테이블 CREATE, DROP, 데이터 INSERT, UPDATE, DELETE등등을 커맨드라인을 통해 직접 쿼리를 날려줘야 된다. 그래서 이러한 번거로움을 덜고자 주로 phpmyadmin을 사용하지만 개인적으로 Adminer가 더 효율적이라고 생각된다.

 

  • Adminer Download

    https://www.adminer.org 접속 후 다운이 가능.

     

  • Ubuntu Server에 저장

    /etc/www/html에 저장한다. 기존 이름이 adminer_4.2.2.php 라고 되어있을 것인데 본인 이외의 사용자가 접근이 가능하면 안되므로 자신만의 파일명.php로 바꾸어 준다.

    필자는 xshell을 이용하여 원격 접속 후 rz명령으로 파일을 저장하였다.

     

  • 접속 확인하기

    ex) https://localhost/adminer_unknown.php

    위의 예처럼 입력을 하면 되는데 필자는 서버를 포트포워딩을 해놓은 상태이고 SSL을 사용하므로 https://IP:PORT/adminer_unknown.php 로 접속하여 접속을 확인 하였다.

     

    여기에 처음에 만들었던 계정 및 root계정으로 접속하여 편리하게 데이터베이스 조작이 가능해진다.


'Linux Server' 카테고리의 다른 글

Cent OS 7 – 고정아이피 설정  (0) 2016.10.01
Ubuntu SSL Server – SSL 동작과정  (0) 2015.10.26
Ubuntu SSL Server - 인증서 적용하기  (0) 2015.10.23
Ubuntu apt-get 명령어  (0) 2015.10.23
Ubuntu SSL Server - 인증서  (0) 2015.10.23

Ubuntu SSL Server 인증서 적용하기

HTTPS 서버인증 적용하기

cd /etc/apache2/sites-available → /etc/apache2/sites-available 디렉토리로 이동

vi default-ssl.conf - ssl설정 conf파일 열기

 

default-ssl.conf 파일 수정하기

 

SSLCertificateFile Server인증서 절대경로

SSLCertificateKeyFile Server인증서 key파일 절대경로

 

service apache2 restart – apache 재시작

SSL적용 확인하기

http://localhost/phpinfo.php

 

자물쇠에 x표시가 있는 이유?

웹 브라우저에서 인증하는 기관에서 발급된 ca인증서가 아니므로 브라우저 자체에서 경고를 주는 것.

HTTPS 클라이언트 인증 적용하기 – 클라이언트 인증 필요시

cd /etc/apache2/sites-available - /etc/apache2/sites/available 디렉토리로 이동

vi default-ssl.conf - ssl설정 conf파일 열기

 

default-ssl.conf 파일 수정하기

 

SSLCertificateFile Server인증서 절대경로

SSLCertificateKeyFile Server인증서 key파일 절대경로

 

 

SSLCACertificatePath ca인증서 디렉토리 절대경로

SSLCACertificateFile ca인증서 파일 절대경로

 

 

클라이언트측 인증서 요구

 

 

SSLOptions 주석 해제

 

service apache2 restart – apache 재시작

 

클라이언트측 인증서 설치


 

인증서 더블클릭시 위와같은 그림으로 인증서 등록을 하는 화면이 나오게 된다. 암호는 인증서를 만들때 썻던 암호를 적어주면 된다.

 

클라이언트인증 SSL 통신 확인하기

https://localhost/phpinfo.php 접속

접속 시 인증서를 확인라하라는 창이 뜬다. 서버측에서 클라이언트 인증서를 요청했기 때문.

 

아마도 이러한 페이지가 뜰 것이다. 이유는 위에서 언급한 내용과 같이 openssl로 만든 개인용 인증서는 웹브라우저에 등록된 신뢰할 수 있는 인증서가 아니기 때문에 브라우저에서 이와 같은 페이지를 띄워준다. 접속확인을 위해 계속 탐색한다.

 

그림과 같이 클라이언트인증을 통한 웹페이지 접속이 성공 하였다. 인증서 경고를 받지 않기 위해서는 일정 금액을 주고 공인 ca인증서를 발급 받아야 된다.

Ubuntu apt-get 명령어

  • package 캐시 update 및 설치된 package Auto upgrade

    apt-get update

    apt-get upgrade

     

  • Package 설치

    apt-get install [Package name]

     

  • Package 재설치

    apt-get --reinstall install [Package name]

     

  • Package 삭제

    apt-get remove [Package name]

     

  • Package 설정파일까지 모두 삭제

    apt-get --purge remove [Package name]

     

  • 원하는 Package 찾기

    apt-cache search [Package name]

     

  • 설치된 Package 보기

    dpkg -l


Ubuntu SSL Server - 인증서

Openssl을 이용한 인증서 발급절차

본인이 인증서 발급 기관이 되어야 함으로 공인 인증기관에서 발급한 정식 인증서는 아닙니다.

 

Root CA인증서 발급

  • 개인키 생성

    openssl genrsa –aes256 –out ca.key 2048

 

  • Root CA인증서 생성

    openssl req –new –x509 –days 3650 –key ca.key –out ca.crt

     

        


Server 인증서 발급

  • 개인키 생성

    openssl genrsa –aes256 –out server.key 2048

     

  • CSR 생성

    openssl req –new –key server.key –out server.csr

    인증서발급에 관한 항목을 적는란이 있는데 알맞게 적으면 됨.

     

  • Server 인증서 생성 - CA인증서로 서명

    openssl ca –days3650 –in server.csr –out server.crt –keyfile ca.key –cert ca.crt

    10년짜리 Server 인증서 생성완료

 

Client 인증서 발급

Client 인정서는 Client인증서를 가지고 있는 사람만이 해당 웹 페이지에 접속할 수 있다. 특정사람 이외에 접근을 거부하고 싶다면 Client인증을 사용하면 된다.

 

  • 개인키 생성

    openssl genrsa –aes256 –out client.key 2048

     

  • CSR 생성

    openssl req –new –key client.key –out client.csr

    인증서발급에 관한 항목을 적는란이 있는데 알맞게 적으면 됨.

     

  • Server 인증서 생성 - CA인증서로 서명

    openssl ca –days3650 –in client.csr –out client.crt –keyfile ca.key –cert ca.crt

    10년짜리 Server 인증서 생성완료

     

  • 클라이언트측에서 사용할 인증서 생성

    openssl pkcs12 –export –passout pass:[인증시 사용할 비밀번호] –in client.crt –inkey client.key

    –certfile ca.crt –out clientcert.p12


Ubuntu SSL Server – 환경구축

운영체제

Ubuntu 15.04-Server

 

필수 항목 설치

  • Apache2

    apt-get install apache2

     

  • PHP5

    apt-get install php5

     

  • MySQL

    apt-get install mysql-client

    apt-get install mysql-server

     

  • PHP5 와 Apache 연동

    apt-get install libapache2-mod-php5

     

  • PHP5와 MySQL 연동

    apt-get install php5-mysql

     

  • 위의 항목 설치후 Apache와 MySQL 재시작

    service apache2 restart or /etc/init.d/apache2 restart

    service mysql restart or /etc/init.d/mysql restart

     

  • 작동 확인

    netstat –atp | grep apache2

    netstat –stp | grep mysqld    

 

 

시작하기에 앞서 – 왜 SSL을 쓰는가?

SSL 미사용시 - HTTP프로토콜 통신

 

그림과 같이 정보들이 모두 평문으로 전송된다.

 

SSL사용시 - HTTPS암호화통신


그림과 같이 정보들이 암호화 되어 전송되며 암/복호기에서 암호화, 복호화를 진행한다.

 

설치 확인

1. /var/www/html폴더에 phpinfo.php 라는 이름의 파일작성


 2. http://localhost/phpinfo.php 접속 후 확인 아래와 같은 화면 출력시 성공

        

    3. 이렇게 일반적인 APM설정이 완료 되었다.


+ Recent posts