CentOS 6.x 에 Root CA 인증서 설치 (추가) 하기

리눅스/OS 일반|2020. 1. 29. 12:00
반응형

아래는 CentOS 6 에서의 설치 과정을 담고 있습니다.

같은 리눅스라고 하더라도 OS 종류 및 버전에 따라 명령 혹은 crt 파일 복사 경로가 다른 점 참고하시기 바랍니다.

기존에 ca 인증서가 있는 경우 별도의 백업을 먼저 진행합니다.

그리고 아래 절차에 따라 새로운 인증서를 추가 합니다.



관련 패키지를 설치


# yum -y install ca-certificates


CA 저장소 공유 기능 활성화


# update-ca-trust enable


인증서 복사


# cp -arp RootCa.crt /etc/pki/ca-trust/source/anchors/


루트 인증서 업데이트


# update-ca-trust extract


끝.

반응형

댓글()

특정 필드에 동일 데이터가 있을 경우 update, 없으면 insert

리눅스/MySQL|2019. 12. 27. 08:30
반응형

아래 예저는 users 테이블의 ID 필드에 동일한 값이 있을 경우 update 를, 없는 경우 insert 를 해주는 한 줄 쿼리 문입니다.

 

mysql> CREATE TABLE `users` (
`no` int(10) NOT NULL AUTO_INCREMENT,

`ID` varchar(16) NOT NULL,
`NAME` text,
PRIMARY KEY (`no`))
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 

아래와 같이 ID 필드는 유일한 값만 있도록 설정하는 것이 포인트!

mysql> alter table users ADD UNIQUE (ID);

 

현재 테이블 상태 입니다.

mysql> desc users;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| no    | int         | NO   | PRI | NULL    | auto_increment |
| ID    | varchar(16) | NO   | UNI | NULL    |                |
| NAME  | text        | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

 

입력을 해봅니다.

mysql> INSERT INTO users (ID, NAME) VALUES ('sysdocu', 'HongKilDong') ON DUPLICATE KEY UPDATE NAME='HongKilDong';

 

ID (sysdocu) 가 없으면 INSERT 쿼리문을,

ID (sysdocu) 가 존재할 때는 NAME 컬럼만 UPDATE 합니다.

 

반응형

댓글()

httpd 2.4.41 에 mod_security 2.9.1 + OWASP 설치

리눅스/Security|2019. 12. 17. 12:38
반응형

httpd 는 2.4.11 이상의 버전에서 OWASP 룰을 사용하도록 합니다.

2.4.10 이전 버전에서는 OWASP 설정 파일 사용시 특정라인 구분을 이해하지 못하는 버그가 있습니다.

아래 예제는 2.4.41 환경에서 진행 했습니다.



1. mod_security 2.9.1 설치


# cd /usr/local/src

# wget https://src.fedoraproject.org/lookaside/pkgs/mod_security/modsecurity-2.9.1.tar.gz/0fa92b852abc857a20b9e24f83f814cf/modsecurity-2.9.1.tar.gz

# tar xvzf modsecurity-2.9.1.tar.gz

# cd modsecurity-2.9.1

# ./configure

# make

# make install

# cp -arp modsecurity.conf-recommended /usr/local/apache/conf/modsecurity.conf

# cp unicode.mapping /usr/local/apache/conf/



2. OWASP (Open Web Application Security Project) 룰 설치


룰은 편의를 위해 apache/conf 에 들어가서 다운로드 하도록 합니다.


# cd /usr/local/apache/conf

# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

# cd owasp-modsecurity-crs

# mv crs-setup.conf.example crs-setup.conf

# vi crs-setup.conf


# 추가

SecRuleEngine On

SecAuditEngine On

SecAuditLog /usr/local/apache/logs/mod_security.log

SecAuditLogParts ABCFHZ

SecDataDir /tmp 


* 또는 아래 룰 배포 사이트에서 원하는 버전을 수동으로 다운 받아 사용할 수 있습니다.

https://github.com/SpiderLabs/owasp-modsecurity-crs/releases


# wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/v3.2.0.tar.gz

# tar xvzf v3.2.0.tar.gz



3. 아파치 설정


설정 파일을 열어 모듈을 추가 합니다.


# vi ../httpd.conf


LoadModule security2_module modules/mod_security2.so


<IfModule security2_module>

    Include conf/owasp-modsecurity-crs/crs-setup.conf

    Include conf/owasp-modsecurity-crs/rules/*.conf

</IfModule>


* mod_security 는 mod_unique_id 모듈을 필요로 합니다.

   기존 설정에 활성화 되어있지 않을 경우, 주석을 해제하여 활성화 하도록 합니다.


설정을 적용합니다.


# /usr/local/apache/bin/apachectl restart





반응형

댓글()

쉘스크립트 실행 에러 ($'\r': command not found)

리눅스/OS 일반|2019. 12. 16. 11:24
반응형

$'\r': command not found


오류 출력시 아래와 같이 조치합니다.

스크립트 작성 환경에 따라 행 뒤에 ^M 가 붙게 되는데, 이것을 없애야 정상 동작하므로

vi 로 파일을 열고 아래와 같이 치환 합니다.


# sed -i -e "s/\r$//" test.sh



반응형

댓글()

root 관리자 계정 이름을 다른 아이디로 변경 하기

리눅스/MySQL|2019. 12. 6. 16:31
반응형

root 라는 사용자 명은 유추 가능하므로 보안상 다른 계정명으로 변경하여 운영하는 것이 좋습니다.

방법은 간단합니다.

mysql 데이터 베이스 user 테이블에 있는 root 문자를 원하는 계정명으로 업데이트 하면 됩니다.



# mysql -u root -p

Enter password: (관리자 패스워드 입력)


mysql> use mysql;


root 라는 사용자명은 유추 가능하므로 보안상 다른 계정명으로 변경합니다.

mysql> update user set user='sysdocu' where user='root';


mysql> flush privileges;


mysql> exit



그 다음 부터는 변경된 계정명으로 로그인이 가능합니다.

# mysql -u sysdocu -p

Enter password: (관리자 패스워드 입력)



[참고]

관리자 계정 추가를 원할 경우 아래와 같은 모든 DB 접근 권한을 주면 됩니다.


mysql> grant all privileges on *.* to sysdocu@localhost identified by '12345678';

mysql> flush privileges;

반응형

댓글()

vim 사용시 검색 단어 바탕색 표시하기 (하이라이트)

리눅스/OS 일반|2019. 11. 8. 14:18
반응형

vim 을 설치해서 사용하다 보면 OS 버전 또는 vim 버전에 따라 검색 (/ 누르고 문자 입력) 단어 바탕색이 칠해지지 않는 경우를 보게 됩니다.

이럴때 검색 단어가 눈에 확 띄도록 옵션을 주어 사용이 가능합니다.


(vim 편집기를 열고 있는 상태에서)


1. 배경 설정

:set hlsearch


2. 배경 설정 해제

:set nohlsearch



반응형

댓글()

cifs 에러 (CIFS VFS SessSetup = -13)

리눅스/OS 일반|2019. 11. 1. 17:18
반응형

cifs 마운트가 되지 않고 시스템 로그에 아래와 같은 로그가 남는 다면

cifs 에러 (CIFS VFS SessSetup = -13)

 

이러한 옵션을 추가하여 마운트를 시도해 봅니다.

,sec=ntlmssp

 

예) # mount -t cifs -o username=sysdocu,password='12345678',sec=ntlmssp //192.168.10.2/sysdocu /data

 

 

반응형

댓글()

Ubuntu 19.04 에서 /etc/rc.local 활용하기

리눅스/OS 일반|2019. 10. 29. 13:13
반응형

처음 OS 를 설치할 경우 /etc/rc.local 이 존재하지 않아 당혹스러운 때가 있습니다.

Ubuntu 19.04 에서는 수동으로 몇 가지 설정을 해주어야 부팅시 필요한 명령 실행 가능합니다.

 

1. 구동 파일 생성

구동 파일은 쉘스크립트 형식으로 생성하면 됩니다.

처음에 없는 파일이니 vi 에디터로 생성해줍니다.

# vi /etc/rc.local

#!/bin/bash

php /home/sysdocu/public_html/test.php &

exit 0 

 

2. 서비스 파일 수정

아래 파일을 열어 필요한 설정을 추가해 줍니다.

# vi /lib/systemd/system/rc-local.service

...

[Install]

WantedBy=multi-user.target 

 

# systemctl daemon-reload

 

3. 서비스 구동 설정

서버 부팅시 자동으로 구동 되도록 합니다.

# systemctl enable rc-local    // 부팅시 구동

# systemctl start rc-local        // 지금 구동

 

반응형

댓글()

bind 9 설치 (Ubuntu 19.04)

리눅스/DNS|2019. 10. 29. 10:31
반응형

우분투 19.04 버전에서 네임서버를 운영하기 위한 절차 입니다.

아래 절차만 순차적으로 따라하셔도 구축이 되며,

사용하고 계신 A, MX, CNAME 레코드 등에 대해서는 알맞게 레코드를 추가하여 설정하시면 됩니다.



1. 설치


root@sysdocu:~# apt -y install bind9



2. 도메인 설정


파일을 열어 아래 내용을 추가 합니다.


root@sysdocu:~# vi /etc/bind/named.conf.local


zone "sysdocu.com" IN {

  type master;

  file "sysdocu.com.zone";

};



새로운 zone 파일을 생성하여 내용을 입력합니다.


root@sysdocu:~# vi /var/cache/bind/sysdocu.com.zone


$TTL 600

@       IN      SOA     ns1.sysdocu.com. root (

                                        2019102901  ; serial

                                        1D        ; refresh

                                        1H        ; retry

                                        1W        ; expire

                                        3H )      ; minimum

@       IN      NS      ns1.sysdocu.com.

@       IN      NS      ns2.sysdocu.com.

@       IN      MX      10 mail.sysdocu.com.

@       IN      TXT     "v=spf1 ip4:192.168.10.2 ~all"

ns1     IN      A       192.168.10.2

ns2     IN      A       192.168.10.2

@       IN      A       192.168.10.2

www     IN      A       192.168.10.2

mail    IN      A       192.168.10.2

*       IN      A       192.168.10.2



설정한 내용을 적용합니다.


root@sysdocu:~# systemctl enable bind9

root@sysdocu:~# systemctl restart bind9



3. 질의 테스트


1) 로컬에서 질의 확인


root@sysdocu:~# nslookup sysdocu.com localhost

Server: localhost

Address: ::1#53


Name: sysdocu.com

Address: 192.168.10.2



2) 외부에서 질의 확인


[root@localhost ~]# nslookup sysdocu.com 192.168.10.2

Server: 192.168.10.2

Address: 192.168.10.2#53


Name: sysdocu.com

Address: 192.168.10.2



4. 참고

- 네임서버로 사용하기 위해 방화벽에서 UDP 53 번 포트 허용하는 것은 필수 입니다.

- 도메인 구입처에서 호스트 및 네임서버를 변경하면 시간이 한참 지나 적용이 될 수 있으므로

  이점 참고하여 운영하시기 바랍니다.


반응형

댓글()

Xwindow + VNC server 설치 (Ubuntu 19.04)

리눅스/OS 일반|2019. 10. 24. 15:00
반응형

Ubuntu 19.04 를 텍스트 환경으로 설치하였다면 나중에 Xwindow 가 필요해졌을때 아래와 같이 설치가 가능합니다.

 

 

1. 설치

 

OS 환경을 최신 환경으로 업데이트 합니다.

 

root@sysdocu:~# apt -y update

root@sysdocu:~# apt -y upgrade

 

Xwindow 를 목적에 맞게 설치 합니다.

Desktop 처럼 사용하기 위해 전체 설치를 할 수도 있으나 저는 Firefox 만 사용할 것이므로 아래 최소 설치로 진행 했습니다.

 

root@sysdocu:~# apt -y install ubuntu-desktop    // 전체 설치 (오피스 등)

또는

root@sysdocu:~# apt -y install --no-install-recommends ubuntu-desktop    // 최소 프로그램 설치

 

gnome 데스크탑과 필요한 브라우저 firefox 를 설치합니다.

전체 설치를 선택한 경우 firefox 는 생략해도 됩니다.

 

root@sysdocu:~# apt -y install ubuntu-gnome-desktop firefox

 

부팅 레벨을 설정합니다.

부팅 레벨은 서버 부팅시 OS 환경을 텍스트 모드인지 그래픽 모드인지 사용자가 원하는 환경으로 부팅되게 해줍니다.

현재 런레벨을 명령어로 확인하고 GUI 환경으로 부팅하기 위한 명령입니다.

 

root@sysdocu:~systemctl get-default

 

부팅시 로컬에서 GUI 환경으로 사용하고 싶은 경우 런레벨을 아래와 같이 변경합니다.

 

root@sysdocu:~systemctl set-default graphical.target

 

이 밖에 주로 사용하는 런레벨은 아래와 같습니다.

 

* 참고

[Run Level] [Target]

1                      rescue.target    // root 패스워드 없이 시스템 운영 가능 (복구 모드)

2                      multi-user.target    // 텍스트 모드

5                      graphical.target    // 그래픽 모드

 

 

2. VNC 서버 설정

 

Xwindow 를 설치했다면 서버에 GUI 환경으로 접속하기 위해 VNC server 를 설치 합니다.

 

root@sysdocu:~apt -y install tightvncserver

 

접속 비밀번호를 설정 합니다.

 

root@sysdocu:~# vncserver

 

You will require a password to access your desktops.

 

Password: 

Warning: password truncated to the length of 8.

Verify:   

Would you like to enter a view-only password (y/n)? 

 

New 'X' desktop is sysdocu.tistory.com:1

 

Creating default startup script /root/.vnc/xstartup

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/sysdocu.tistory.com:1.log

 
설치 후 자동으로 데몬이 가동 되는데, 새로운 설정 적용을 위해 데몬을 잠시 중지 시킵니다.
 
root@sysdocu:~# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      13134/Xtightvnc     
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      13134/Xtightvnc     
tcp        0      0 0.0.0.0:22            0.0.0.0:*               LISTEN      12434/sshd          
tcp6       0      0 :::22                 :::*                    LISTEN      12434/sshd
 
root@sysdocu:~# vncserver -kill :1
Killing Xtightvnc process ID 13134
 
root@sysdocu:~# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22            0.0.0.0:*               LISTEN      12434/sshd          
tcp6       0      0 :::22                 :::*                    LISTEN      12434/sshd         
 
VNC 설정 파일을 열고 아래와 같이 옵션을 추가 해줍니다.
 
root@sysdocu:~# vi ~/.vnc/xstartup
 
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal & 

 

VNC server 를 다시 가동해줍니다.
 
root@sysdocu:~# vncserver
 
 

3. 원격 접속

GUI 환경으로 서버를 운영하기 위해 VNC Client 프로그램을 통해 서버에 접속합니다.

접속시 사용하는 계정은 '2. VNC 서버 설정' 항목에서 설정한 계정 정보로 로그인하면 됩니다.

 

커맨드 라인에서 브라우저를 구동하고자 할때는 아래와 같이 사용하면 됩니다.

 

파이어폭스

root@sysdocu:~# firefox "http://sysdocu.tistory.com"

 

크롬을 설치하고 구동하려는 경우

root@sysdocu:~# /usr/bin/google-chrome "http://sysdocu.tistory.com"

 

 

[ 작업 표시줄이 안뜨는 경우 ]

 

아래 작업을 추가로 진행해 줍니다.

 

root@sysdocu:~# sudo apt-get install ubuntu-desktop

root@sysdocu:~# sudo apt-get install unity-control-center

root@sysdocu:~# sudo apt-get install unity-control-center-signon

root@sysdocu:~# sudo apt-get install gnome-control-center-unity

root@sysdocu:~# sudo apt-get install gnome-panel

root@sysdocu:~# reboot

 

 

반응형

댓글()

CentOS 7 yum 미러 서버 추가

리눅스/OS 일반|2019. 10. 17. 17:29
반응형

CentOS 7 사용중 패키지 설치 및 업데이트를 위해 사용하는 yum 명령이

리포지토리 사이트 접속 불가로 인해 수행되지 않는다면 아래와 같이 daum 사이트의 리포지토리를

추가하여 명령을 재구동 해봅니다.


[root@sysdocu ~]# cd /etc/yum.repos.d


[root@sysdocu ~]# vi Daum.repo


[base]

name=CentOS-$releasever - Base

baseurl=http://ftp.daum.net/centos/7/os/$basearch/

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7


[updates]

name=CentOS-$releasever - Updates

baseurl=http://ftp.daum.net/centos/7/updates/$basearch/

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7


[extras]

name=CentOS-$releasever - Extras

baseurl=http://ftp.daum.net/centos/7/extras/$basearch/

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7


[centosplus]

name=CentOS-$releasever - Plus

baseurl=http://ftp.daum.net/centos/7/centosplus/$basearch/

gpgcheck=1

gpgkey=http://ftp.daum.net/centos/RPM-GPG-KEY-CentOS-7


[root@sysdocu ~]# yum clean all



반응형

댓글()