블로그 이미지
은총애비!!

카테고리

분류 전체보기 (2758)
Linux (35)
Error 해결 방법 (5)
소소한 일상 (1818)
사진실 (0)
책책책, 책을 읽읍시다!! (21)
기타(JSP & DB & 등등) (4)
미국 주식 관련 (548)
아침형 인간 프로젝트 (292)
Total
Today
Yesterday

[Linux Server] Apache SSL

Linux / 2017. 12. 6. 13:14
반응형

[Linux Server] Apache SSL

 

XXX.key -> 비밀키

XXX.crt -> 인증서

ca.pem -> ROOT CA 인증서

 

[root@www conf] # cd /usr/local/src/apache/conf

[root@www conf] # mkdir sslkeys

[root@www sslkeys] # cd sslkeys

 

[root@www sslkeys] # openssl req -new -x509 -nodes -out server.crt -keyout server.key -days 999

Generating a 1024 bit RSA private key

.......................++++++

....++++++

writing new private key to 'server.key'

.....

Country Name (2 letter code) [GB]: KR <-------------한국이면 KR

(국가코드)

State or Province Name (full name) [Some-State]: Incheon <----- 도이름 (없으면 그냥 엔터)

Locality Name (eg, city) []:Incheon <------- 도시이름

Organization Name (eg, company) [Internet Widgits Pty Ltd]:com <------ 회사명

Organizational Unit Name (eg, section) []:development <-------부서명

Common Name (eg, YOUR name) []:xxxxxxxxxx <--- 사이트명 (정확히 기입을 해줘야 한다.)

Email Address []: (엔터)

 

 

 

[root@www sslkeys] # ls

server.crt server.key

[root@www sslkeys] # chmod 600 server.key

 

 

 

 

[root@www sslkeys] # cp /usr/local/src/apache/conf/httpd.conf /usr/local/src/apache/conf/httpd.conf.ssl

[root@www sslkeys] # vi /usr/local/src/apache/conf/httpd.conf

... (중략) ...

LoadModule ssl_module modules/mod_ssl.so <----------이부분이 없다면 좀 이상한건데 일단 적고 파일이 존재하는지 확인 해본다.

... (중략) ...

# Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf <---------- # 주석 해제

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

 

 

 

 

[root@www sslkeys] # cp /usr/local/src/apache/conf/extra/httpd-ssl.conf /usr/local/src/apache/conf/extra/httpd-ssl.conf.ssl

[root@www sslkeys] # vi /usr/local/src/apache/conf/extra/httpd-ssl.conf

아래와 같이 추가 하고 기존 SSLCertificateFile/ SSLCertificateKeyFile은 주석 처리!!

SSLCertificateFile “/usr/local/src/apache/conf/sslkeys/server.crt”

SSLCertificateKeyFile “/usr/local/src/apache/conf/sslkeys/server.key”

※ ""(쌍따옴표) 주의

 

 

 

 

<VirtualHost> 안에 아래 내용 추가

 

#JSP 페이지 보이게 하기

JkMount /*.jsp ajp13

JkMount /servlet/* ajp13

JkMount /*.qual ajp13

JkMount /*.admin ajp13

JkMount /*.board ajp13

JkMount /*.bbs ajp13

 

 

 

 

[root@www sslkeys] # cp /usr/local/src/apache/conf/httpd.conf /usr/local/src/apache/conf/httpd.conf.ssl2

[root@www sslkeys] # vi /usr/local/src/apache/conf/httpd.conf (파일 제일 밑에 추가)

#HTTP로 들어오는 것을 HTTPS로 변환

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

 

 

 

 

[root@www sslkeys] # system-config-firewall에서 방화벽에가서 443포트를 열어 줌.

 

 

 

 

아파치/톰캣 재실행 후 http://localhost 또는 http://ip로 접속 했을 경우 http가 https로 자동 변환 되는 것을 확인

 

혹여 아파치 재실행 중 아래와 같이 나온다면

/usr/local/src/apache/conf/extra/httpd-ssl.conf 파일을 열고 120번째줄에 가보면

SSLCertificateFile “/usr/local/src/apache/conf/sslkeys/server.crt”

SSLCertificateKeyFile “/usr/local/src/apache/conf/sslkeys/server.key”

를 추가한 내용이 있을 겁니다. “”(쌍따옴표) 지우고 다시 쓰고 저장하고 나와 아파치 재실행 하면 됩니다.

 

 

 

 

 

 

 

반응형
Posted by 은총애비!!
, |
반응형

4. apache & tomcat connectors 연동

 

[root@localhost qual] # tar zxvf tomcat-connectors-1.2.36-src.tar.gz

[root@localhost qual] # cd tomcat-connectors-1.2.36-src/native

[root@www native] # ./configure --with-apxs=/usr/local/src/apache/bin/apxs

 

[root@www native] # make && make install

[root@www native] # vi /usr/local/src/apache/conf/mod_jk.conf (mod_jk.conf파일 생성)

<IfModule mod_jk.c>

JkWorkersFile “/usr/local/src/apache/conf/workers.properties”

JkLogFile “/usr/local/src/tomcat/logs/mod_jk.log”

JkLogLevel info

JkMount /*.jsp ajp13

JkMount /servlet/* ajp13

JkMount /*.qual ajp13

JkMount /*.admin/* ajp13

JkMount /*.board/* ajp13

JkMount /*.bbs/* ajp13

JkMount /examples/*.jsp ajp13

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]“

JkOptions +ForwardKeySize +ForwardURICompatUnparsed –ForwardDirectories

JkRequestLogFormat "%w %V %T"

</IfModule>

위와 같이 작성하고 저장하고 나온다.

 

 

[root@www native] # vi /usr/local/src/apache/conf/workers.properties (workers.properties파일 생성)

#workers.properties

workers.tomcat_home=/usr/local/src/tomcat

workers.java_home=/usr/local/src/java

ps=/

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

위와 같이 작성하고 저장하고 나온다.

 

 

 

[root@www native] # cp /usr/local/src/apache/conf/httpd.conf /usr/local/src/apache/conf/httpd.conf.bak

[root@www native] # vi /usr/local/src/apache/conf/httpd.conf 제일 마지막에 아래와 같이 추가한다.

#mod_jk.so

LoadModule jk_module modules/mod_jk.so

 

#JK Connection Configuration

include conf/mod_jk.conf

 

아래 빨간 부분을 추가

#ServerName www.example.com:80을 주석 제거 하고 127.0.0.1 변경

ServerName 127.0.0.1

 

<IfModule dir_module>

DirectoryIndex index.html index.jsp -> 추가

</IfModule>

 

#DocumentRoot "/usr/local/src/apache/htdocs"

DocumentRoot "/usr/local/src/tomcat/webapps/ROOT" ----> apache 홈디렉토리를 tomcat 홈디렉토리로 변경

 

[root@www native] # catalina.sh stop -> start

[root@www native] # apachectl restart

Syntax error on line 2 of /usr/local/src/apache/conf/mod_jk.conf:

JkWorkersFile: Can't find the workers file specified

 

에러가나오면 위의 mod_jk.conf 파일안에

<IfModule mod_jk.c>

JkWorkersFile /usr/local/src/apache/conf/workers.properties

JkLogFile /usr/local/src/tomcat/logs/mod_jk.log

JkLogLevel info

JkMount /*.jsp ajp13

JkMount /servlet/* ajp13

JkMount /*.qual ajp13

JkMount /*.admin ajp13

JkMount /*.board ajp13

JkMount /*.bbs ajp13

JkMount /examples/*.jsp ajp13

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions +ForwardKeySize +ForwardURICompatUnparsed ForwardDirectories

JkRequestLogFormat "%w %V %T"

</IfModule>

 

""(쌍따옴표)랑 -(ForwardDirectories 앞 하이픈(-))을 지우고 다시 쓰면 OK!

 

이렇게 설정하면 http://localhost 하면 localhost:8080 한 것 과 같이 고양이가 나오면 성공!!!

 

반응형
Posted by 은총애비!!
, |
반응형

3. tomcat 설치 & /etc/profile 수정

 

[root@localhost qual] # tar zxvf apache-tomcat-6.0.35.tar.gz

[root@localhost qual] # mv apache-tomcat-6.0.35 /usr/local/src/tomcat

(tomcat-6.0.35폴더를 /usr/local/src/에 이동하며 tomcat으로 폴더명 변경)

[root@localhost qual] # cp /etc/profile /etc/profile.bak3

[root@localhost qual] # vi /etc/profile

export CATALINA_HOME=/usr/local/src/tomcat

export PATH=$PATH:$CATALINA_HOME/bin

export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib/servlet-api.jar:.

 

 

 

 

추가한 후 저장하고 나온다.

[root@localhost qual] # source /etc/profile

[root@localhost qual] # system-config-firewall에서 방화벽에가서 8080포트를 열어 줌.

 

 

[root@localhost qual] # catalina.sh [start|stop]

 

 

http://localhost:8080에서 또는 http://IP주소:8080

고양이 나오면 성공!!

 

 

 

혹시 모를 상황에 대비해

[root@localhost qual] # cp /usr/local/src/tomcat/conf/web.xml /usr/local/src/tomcat/conf/web.xml.bak

[root@localhost qual] # cp /usr/local/src/tomcat/conf/context.xml /usr/local/src/tomcat/conf/context.xml.bak

 

 

tomcat/conf폴더에서 web.xml안에 invoker 주석 2군데 삭제.

tomcat/conf폴더에서 context.xml에서

<context> 이 부분을 -> <context reloadable=“true” Privileged=“true”>로 수정

혹시 복사&붙여넣기 할 경우(“{쌍따옴표} 지우고 다시 쓰기)

 

반응형
Posted by 은총애비!!
, |
반응형

2. apache 설치 & /etc/profile 수정(gcc 설치 확인)

 

「rpm으로 httpd 설치 되어 있는지 확인」

[root@localhost qual]# rpm -qa |grep http

httpd-tools-2.2.15-5.el6.i686

httpd-2.2.15-5.el6.i686

[root@localhost qual]# rpm -e --nodeps httpd-tools-2.2.15-5.el6.i686

[root@localhost qual]# rpm -e --nodeps httpd-2.2.15-5.el6.i686

[root@localhost qual]# rpm -qa |grep http

[root@localhost qual]#

 

 

[root@localhost qual] # tar zxvf httpd-2.2.22.tar.gz

[root@localhost qual] # cd httpd-2.2.22

[root@localhost httpd-2.2.22 ] # ./configure \

--prefix=/usr/local/src/apache \ <---아파치 설치 할 위치

--enable-modules=ssl \

--with-ssl=/usr/bin/openssl \ <--- 기본 /usr/bin/openssl 그 외 openssl을 설치한 폴더 (rpm -ql openssl 확인함...)

--enable-mods-shared=all \

--enable-so \

--enable-rewrite \

--enable-proxy \

--enable-proxy-ajp \

--enable-proxy-balancer \

--enable-proxy-http \

--enable-proxy-connect \

--enable-ssl <----------- 이부분이 중요합니다.

 

 

 

[root@localhost httpd-2.2.22 ] # ./config.nice

 

 

 

configure: error: ...No recognized SSL/TLS toolkit detected 에러시

yum install openssl-devel

 

[root@localhost httpd-2.2.22 ] # make && make install

 

 

 

[root@localhost httpd-2.2.22 ] # cp /etc/profile /etc/profile.bak2

[root@localhost httpd-2.2.22 ] # vi /etc/profile

export APACHE_HOME=/usr/local/src/apache

export PATH=$PATH:$APACHE_HOME/bin

 

추가한 후 저장하고 나온다.

 

 

[root@localhost httpd-2.2.22 ] # source /etc/profile

[root@localhost httpd-2.2.22 ] # system-config-firewall에서 방화벽에가서 80포트를 열어 줌.

 

 

 

[root@localhost httpd-2.2.22 ] # apachectl [start|stop]

 

 

 

http://localhost에서 또는 http://IP주소

It works! 나오면 성공!!

 

 

Apache도 생각 보다 어렵지 않습니다.

 

따라만 하시면 됩니다.

 

만약 저와 같은 버전이 필요하시면 메일 주소 알려주시면 보내드리겠습니다.

 

감사합니다.

반응형
Posted by 은총애비!!
, |

[Linux Server] jdk(java) 설치

Linux / 2017. 10. 12. 22:49
반응형
[Linux Server] jdk(java) 설치

 

Jdk/Apache/Tomcat/Apache&Tomcat 연동/SSL(Https) 중

 

첫번째 jdk 설치.

 

설치 전 사항 : selinux disabled

 

파일 생성 하는 것은 그대로 두고...수정하는 것은 .bak로 원본파일 복사!!

설치전 패키지 설치 및 업데이트

rpm으로 설치 하려고 하는 패키지가 있는지 확인!!(java/jdk/tomcat/apache/http)

 

「rpm으로 JAVA 설치 되어 있는지 확인」

[root@localhost qual]# rpm -qa |grep java

[root@localhost qual]#

 

위 와 같이 없으면 되지만 있다면 rpm -e --nodeps로 지우면 됩니다.

 

1. JDK 다운로드

「http://www.oracle.com/technetwork/java/javase/downloads/index.html 오라클 홈페이지에서 다운받습니다.」

지금 버전이 JDK 9까지 나왔네요..제가 설치할 버전은 6입니다.

 

2. jdk 설치 & /etc/profile 수정

[root@www qual] # chmod +x jdk-6u25-linux-i586.bin   -----------> 쓰기 권한부여

[root@www qual] # ./jdk-6u25-linux-i586.bin          -----------> 실행

 

 

 

./jdk-6u25-linux-i586.bin 후 엔터 한번!

 

[root@www qual] # mv jdk1.6.0_25 /usr/local/src/java -----------> 파일 이동

 

 

 

[root@www qual] # cp /etc/profile /etc/profile.bak -----------> profile 파일 백업

[root@www qual] # vi /etc/profile -----------> profile 환경설정

JAVA_HOME=/usr/local/src/java

export JAVA_HOME

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:.

 

 

 

추가한 후 저장하고 나온다.

[root@www qual] # source /etc/profile -----------> 현재 쉘의 환경변수가 재설정 된다

[root@www qual] # java –version 해서 에러없이 버전 정보 나오면 설치 성공

(/etc/profile 설정만 잘 해주면 된다.)

 

 

끝..jdk는 상당히 쉽습니다.

반응형
Posted by 은총애비!!
, |
반응형

[Linux Server] OpenSSH Source Compile

 

설치 전 사항 : pam-devel 패키지 설치 및 업데이트

 

설치 순서

1. openssh 다운로드

2. 기존 openssh 패키지 삭제

3. ./configure

4. make & make install

5. 파일 복사 & 부팅시 자동 실행 등록

 

「현재 OpenSSL 버전 확인」

[root@localhost qual]# ssh -V

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

[root@localhost qual]#

 

1. openssh 다운로드

「https://www.openssh.com/portable.html 에서 다운 받습니다.」

「홈페이지에서 최신 버전을 확인 후

http://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz 뒤의 버전 부분을 수정해도 최신버전으로 다운 받습니다.」

 

 

[root@localhost qual]# wget http://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz

--2017-10-11 00:01:00-- http://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openss h-7.6p1.tar.gz

Resolving fastly.cdn.openbsd.org... 151.101.74.49, 2a04:4e42:11::561

Connecting to fastly.cdn.openbsd.org|151.101.74.49|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1489788 (1.4M) [text/plain]

Saving to: `openssh-7.6p1.tar.gz.1'

 

100%[================================================>] 1,489,788 1.32M/s in 1.1s

 

2017-10-11 00:01:02 (1.32 MB/s) - `openssh-7.6p1.tar.gz.1' saved [1489788/1489788]

 

[root@localhost qual]#

 

 

2. 기존 openssh 패키지 삭제

「우선 rpm으로 openssh 설치 된 것들을 지운다.」

[root@localhost qual]# rpm -qa |grep openssh

openssh-server-5.3p1-20.el6.i686

openssh-clients-5.3p1-20.el6.i686

openssh-5.3p1-20.el6.i686

openssh-askpass-5.3p1-20.el6.i686

[root@localhost qual]# rpm -e --nodeps openssh-server-5.3p1-20.el6.i686

 

 

 

「의존성 때문에 순서대로 지워야 하지만 의존성 무시하고 지워도 됩니다.(rpm -e --nodeps 패키지명)

 

패키지를 삭제하고나면 ssh 서비스를 중지하고 텔넷이나 서버에서 아래와 같이 작업을 해야 합니다.

서비스 중지 : service sshd stop

 

3. ./configure

[root@localhost openssh-7.6p1]# ./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl/bin --with-tcp-wrappers --with-pam --with-md5-passwords

 

--prefix= : SSH 설치 경로

--with-ssl-dir= : SSL 설치 디렉토리 ----------> 정말 중요!!

--with-md5-passwords : MD5 암호화 알고리즘을 사용해서 더 안정적인 보안을 제공

 

 

 

사실 이 에러 OpenSSL library 때문에 정말 고생 많았다. 그래서 OpenSSL을 다시 설치하길 몇번이나 했는지..ㅠ,.ㅠ 어째든 이 에러 때문에 OpenSSL prefix를 다시 설정 해주니 된다.

 ./configure 에서 --with-ssl-dir=/usr/local/openssl/bin  <- 이부분 만 잘 해주면 된다. 그럼 아래와 같은 에러는 절대 없다!!

 

 

 

4. make & make install

[root@localhost openssh-7.6p1]# make && make install

 

 

5. 파일 복사 & 부팅시 자동 실행 등록

「contrib 디렉토리에 sshd.pam.generic 파일을 /etc/pam.d sshd 로 복사」

[root@localhost openssh-7.6p1]# cp ./contrib/sshd.pam.generic /etc/pamd.sshd

 

「실행」

[root@localhost openssh-7.6p1]# /usr/local/openssh/sbin/sshd

 

「부팅시 자동 실행」

[root@localhost openssh-7.6p1]# vi /etc/rc.d/rc.local 마지막 부분에 추가

/usr/local/openssh/sbin/sshd &

 

 

 

설정 마치고 다시 접속 하니 처음 접하는 화면

 

 

 

로그인 하고 설치된 버전 확인!!

 

 

 

PAM 패키지 때문에 에러. yum -y install pam-devel 해주면 된다.

 

이상 OpenSSH Source Compile 끝!!

반응형
Posted by 은총애비!!
, |
반응형

[Linux Server] OpenSSL source compile

17.10.10 update : ./config --prefix 변경



설치 전 사항 : gcc make openssl-devel zlib zlib-devel 패키지 설치 및 업데이트

설치 순서
1. openssl 다운로드
2. ./config
3. make & make install
4. 에러 해결 방법

source 설치이기 때문에 rpm으로 검색하면 이전 버전이 나옵니다.
이전 버전의 openssl에 현재 버전을 덮어씌운 것입니다.

혹시 모를 상황에 대비해 이전 버전을 확인후 백업해 놓습니다.
[root@localhost qual]# find / -name openssl
/usr/lib/openssl
/usr/include/openssl
/usr/bin/openssl----------------> 현 버전이 있는 곳
[root@localhost qual]# cp /usr/bin/openssl /usr/bin/openssl.bak

「현재 OpenSSL 버전 확인」
[root@localhost qual]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
[root@localhost qual]#

「https://www.openssl.org/source/ 에서 최신 버전 확인」
현 최신 버전인 1.1.0f 버전을 다운 받습니다.

wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz 으로 다운 받습니다.
홈페이지에서 최신 버전을 확인 후 https://www.openssl.org/source/openssl-1.1.0f.tar.gz 뒤의 버전 부분을 수정해도 최신버전으로 다운 받습니다.

1. openssl 다운로드
[root@localhost qual]# wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
--2017-10-06 22:33:14-- https://www.openssl.org/source/openssl-1.1.0f.tar.gz
Resolving www.openssl.org... 202.43.55.100, 2600:1417:8000:391::c1e, 2600:1417:8000:394::c1e
Connecting to www.openssl.org|202.43.55.100|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5278176 (5.0M) [application/x-gzip]
Saving to: `openssl-1.1.0f.tar.gz'

100%[==============================================================================================================================>] 5,278,176 257K/s in 15s

2017-10-06 22:33:33 (335 KB/s) - `openssl-1.1.0f.tar.gz' saved [5278176/5278176]

[root@localhost qual]#

「이제 압축을 해제 합니다」
[root@localhost qual]# tar zxvf openssl-1.1.0f.tar.gz

「압축을 해제한 openssl 디렉토리로 이동합니다.」
[root@localhost qual]# cd openssl-1.1.0f

2. ./config
[root@localhost openssl-1.1.0f]# ./config --prefix=/usr/local/openssl shared enable-md2 zlib
(--prefix 옵션을 주지 않으면 기본적으로 /usr/local 밑으로 나눠서 설치.
hearder(.h)는 /usr/local/include/openssl, openssl 실행파일은 /usr/local/bin, library는 /usr/local/lib/openssl 디렉토리에 설치)

 



「이제 make & make install을 해줍니다.」
3. make & make install
[root@localhost openssl-1.1.0f]# make
[root@localhost openssl-1.1.0f]# make install
「한번씩 하기 귀찮다면 한방에!!(에러가 없다면 다음으로 넘어갑니다) => make && make install」

 

「openssl 파일을 찾습니다」
[root@localhost openssl-1.1.0f]# find / -name openssl
/home/qual/openssl-1.1.0f/apps/openssl
/home/qual/openssl-1.1.0f/include/openssl
/usr/lib/openssl
/usr/local/openssl
/usr/local/openssl/share/doc/openssl
/usr/local/openssl/include/openssl
/usr/local/openssl/bin/openssl ----------------------> 새로 설치한 openssl
/usr/include/openssl
/usr/bin/openssl ----------------------> 이전 버전 openssl
[root@localhost openssl-1.1.0f]#

「이제 새로 설치한 openssl을 /usr/bin/openssl로 덮어쓰기 합니다.」
[root@localhost openssl-1.1.0f]# cp /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@localhost openssl-1.1.0f]# openssl version
./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@localhost openssl-1.1.0f]#

4. 에러 해결 방법
「새로 설치한 openssl의 lib 경로 설정 해줍니다. (libcrypto.so.1.1, libssl.so.1.1 의 파일 위치 찾기)」
[root@localhost home]# cd /usr/local/openssl/lib/
[root@localhost lib]# ls
engines-1.1 libcrypto.a libcrypto.so libcrypto.so.1.1 libssl.a libssl.so libssl.so.1.1 pkgconfig
[root@localhost lib]# pwd
/usr/local/openssl/lib
[root@localhost lib]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# ls
atlas-i386.conf kernel-2.6.32-71.el6.i686.conf mysql-i386.conf xulrunner-32.conf
[root@localhost ld.so.conf.d]# vi openssl-1.1.0f.conf--------------> 파일명(알기 쉽게!!)
/usr/local/openssl/lib------------------> 추가 내용
추가합니다.
[root@localhost ld.so.conf.d]# ldconfig
[root@localhost ld.so.conf.d]# openssl version
OpenSSL 1.1.0f 25 May 2017
컴파일한 최신 버전 확인


기존 실행파일만 교체했기 때문에 yum info openssl 명령과 rpm -qa |grep openssl 명령으로는 아무런 변화를 찾을수 없다.

./config에서 --prefix 때문에 OpenSSH 설치에서 정말 많이 고생했다. OpenSSL만 50번은 족히 컴파일 했으며 OpenSSH도 20번 이상 컴파일해본 결과 최종적인 결과물이다.

다음은 OpenSSH 설치 방법!!

반응형
Posted by 은총애비!!
, |
반응형

[MicroServer G7 N54L] WOL 기능 활성화!!

 

WOL이란?

 

WOL(Wake-On-LAN) 기능은 PC를 네트워크에 있는 어떤 장치에서도 켤 수 있다.

 

항상 서버를 켜놔야 하는데 사용하는 사람이 없는데 계속 켜놓은다는건 조금 부담!! 사실

아주 부담!!

 

내가 필요할때만 켜고 끄고 할수 있으니 얼마나 좋은 기능인가!!

 

 

우선 ethernet card/공유기의 WOL 기능이 있어야 합니다.

 

공유기에서 WOL 탭으로 가서 해당 PC의 MAC 주소를 저장합니다.

 

 

 

그리고 현재 리눅스의 ethernet card 설정 정보를 확인.

 

리눅스 이므로 ifconfig로 어떤 랜카드 인지 확인하고 다음 명령어로 현재 ethernet card 설정 정보를 확인 합니다.

 

명령어 : ethtool eth0 | grep Wake-on 

 

 
 

 

밑줄 친 부분을 보면 Wake-on: d 로 되어 있습니다.

 

이제 Wake-on: d를 Wake-on이 가능하도록 바꾸겠습니다.

 

명령어 : ethtool -s eth0 wol g

 

 

 

 

 

Wake-on: g(가능)로 변경되어 Wake-on이 가능하게 되었습니다.

 

이제 부팅시 자동으로 설정이 되게 ethtool -s eth0 wol g 명령어를 /etc/rc.local 에 추가.

 

 

명령어 : vi /etc/rc.local

 

 

위와 같이 밑줄친 부분을 추가 하고 저장하고 나갑니다.

 

그리고 컴퓨터 종료후 WOL을 이용하여 컴퓨터를 켜시면 됩니다.!! 끝!!

반응형
Posted by 은총애비!!
, |
반응형

[MicroServer G7 N54L] Linux Kernel 4.6.2 compile

 

 

kernel 컴파일시 추가 패키지 목록

- ncurses-devel hmaccalc binutils-devel qt-devel gcc make

 

 

https://www.kernel.org/ 에서 버전을 다운 받을수 있습니다.

 

 

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.2.tar.gz

 

 

위와 같이 리눅스 쉘상태에서도 wget로도 다운 받을 수 있습니다.

 

커널을 다운 받고 디렉토리 안으로 들어가 아래와 같이 순서대로만 하시면 됩니다.

 

1. make mrproper

※반드시 1번 후에 config-xxx파일을 복사 해야 합니다.

2. make menuconfig => /boot/config-xxx 커널 위치에 .config로 복사후 menuconfig에서 LOAD후 make oldconfig 적용

3. make oldconfig => 기존 설정 적용

4. make clean

5. make all

6. make modules

7. make modules_instal

8. make install

9. make -j4 all && make -j4 modules && make -j4 modules_install && make -j4 install

 

 

 

 

 

ERROR: modinfo: could not find module snd_page_alloc

ERROR: modinfo: could not find module output

ERROR: modinfo: could not find module crc_t10dif

 

 

그런데 말입니다..예전 3.x버전에서는 이런 에러가 없었는데..모듈관련 에러가 있습니다.

 

 

 

 

lsmod로 모듈이 있는지 확인해 봤습니다.

 

 

빨간색 네모는 컴파일시 모듈을 못찾는다는 에러..

 

 

노란색 네모는 lsmod로 모듈을 확인해 보았습니다.

 

 

하얀색은 에러난 모듈을 검색해서 나온 결과 입니다.

 

 

현재 버전에서 모듈을 검색해본 결과 입니다.


 

 

 

vi /boot/grub/grub.conf에서

default=1번을 defaule=0번으로 수정하고 reboot

 

 

아래의 사진은 커널 업데이트 하고 모듈을 확인해 보았습니다.

 

컴파일 후 하위 버전에서는 분명 확인 했었습니다.

 

 

 

 

그런데 말입니다. 아까 하얀색 네모를 검색해보니 이름이 바껴서 모듈이 제대로 올라왔습니다. 이게 에러인지 아닌지 정확하게는 알 수는 없지만..일단 제대로 컴파일 되고 사용하는데는 무리가 없어 보입니다.

 

 

 

에러를 보고나서 정말 20번 이상은 컴파일 했습니다. 리눅스도 몇번 다시 설치도 해보고 커널 버전도 바꿔서 해보고..모듈 검색과 추가/삭제도 알게 되고..많은 시간을 들였지만 그래도 몇가지 정보와 지식을 얻었으니 다행이라고 생각합니다.

반응형
Posted by 은총애비!!
, |
반응형

[MicroServer G7 N54L] Linux Bash 보안 업데이트

 

 

최근? 보안 이슈로 bash 취약점이 발견 되어 bash 업데이트 방법에 대해서 글을 올립니다.

 

 

 

사실 bash 취약점은 오래전에 발견되었습니다.

 

 

 

그럼 간단한 방법으로 업데이트를 해보겠습니다.!!

 

 

 

 

 

[ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" ] 라고 명령어를 치고

vulnerable --> 이부분이 나올 경우 bash 보안 취약점 존재

this is a test --> 취약점이 없을 경우 나오는 문구

 

 

저도 지금 취약점이 발견 되었네요!!

 

 

 

 

yum -y update bash 로 업데이트를 시작합니다. yum은 레드헷 계열에서 사용 가능합니다.

 

 

 

 

업데이트가 성공적으로 끝났습니다.!!

 

 

 

 

다시 명령어를 입력하니...취약점이 없을때 나오는 "this is a test"가 나오네요!!

반응형
Posted by 은총애비!!
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함