[CentOS] SELinux 설정 / 해제[CentOS] SELinux 설정 / 해제

Posted at 2018. 10. 23. 16:27 | Posted in Linux/CentOS
반응형




출처 : https://www.lesstif.com/pages/viewpage.action?pageId=6979732





■ SELinux 설정 / 해제




SELinux는 Linux의 보안을 강화해 주는 보안 강화 커널이고 zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소이다.


특정 서비스가 SELinux  때문에 동작하지 않는다면 SELinux를 끄기 보다는 해당 서비스가 SELinux 하에서 잘 동작하도록 설정을 수정하는걸 권장한다.




#01. SELinux 동작모드



enforce, permissive, disable 세가지 모드가 있으며 Red Hat Enterprise Linux / CentOS를 설치하면 default 로 enforce mode로 동작하며 SELinux의 rule에 어긋나는 operation은 거부된다.


현재 SELinux의 동작 모드는 sestatus 명령으로 확인할 수 있다.


 SELinux 모드 확인

 # sestatus


 SELinux status: enabled

 SELinux mount: /selinux

 Current mode: enforcing

 Mode from config file: enforcing

 Policy version: 24

 Policy from config file: targeted



Permissive mode는 rule에 어긋나는 동작이 있을 경우 audit log를 나믹고 해당 operation은 허용된다.


개발 서버일 경우 특정 daemon 이나 서비스에 문제가 있을 경우 setenforce 0으로 Permissive mode 로 전환하여 문제해결 후 enforce mode로 전환하는걸 추천한다.


 

 # setenforce 0

 # sestatus


 SELinux status: enabled

 SELinux mount: /selinux

 Current mode: permissive

 Mode from config file: enforcing

 Policy version: 24

 Policy from config file: targeted





#02. SELinux 해제



 ① vi편집기로 실행 selinux 실행

 # vi /etc/sysconfig/selinux



 ② SELINUXenforcing 라고 되어 있는 부분을 disabled로 수정한다.

 # This file controls the state of SELinux on the system.
 # SELINUX= can take one of these three values:
 #     enforcing - SELinux security policy is enforced.
 #     permissive - SELinux prints warnings instead of enforcing.
 #     disabled - No SELinux policy is loaded.
 SELINUX=disabled
 # SELINUXTYPE= can take one of three two values:
 #     targeted - Targeted processes are protected,
 #     minimum - Modification of targeted policy. Only selected processes are protected.
 #     mls - Multi Level Security protection.
 SELINUXTYPE=targeted



 ③ CentOS를 재시작 한다.

 # reboot




※ SELinux 해제한 경우

 · 인터넷에 연결된 리눅스 서버라면 SELinux 해제는 결코 추천하지 않는다.

 · 해제할 경우 다시 활성화 시키려면 재부팅이 필요하며 재부팅시 모든 자원에 대해 보안 레이블을 설정해야 하므로 부팅시간이 매우 오래 걸릴 수 있다.

 · SElinux를 해제후 다시 켤 경우 relabel이 필요하며 이때 잘못된 설정이 있을 경우 부팅이 안되거나 ssh로 원격 접속이 불가능할 수 있으므로 enforcing 모드가 아닌 permissive로 설정후 재부팅하는것을 권장한다.





반응형
//

[Linux] VirtualBox 포트 포워딩을 통해 Apache 서버 접근[Linux] VirtualBox 포트 포워딩을 통해 Apache 서버 접근

Posted at 2018. 9. 25. 16:20 | Posted in Linux
반응형




참고① : http://noota.tistory.com/entry/

참고② : http://blog.daum.net/haanulfafa/7937118




■ 포트 포워딩을 이용한 가상머신속 안의 아파치 서버접근





01. 먼저 설치된 우분투에서 ifconfig를 입력하고, 설정된 IP주소를 확인한다.





02. 버츄얼 박스 관리자에서 아래와 같은 작업에 들어간다.

 ① 연결할 가상머신을 선택하고 마우스 오른쪽 버튼을 클릭한다.

 ② 메뉴 목록이 보이면 설정 버튼을클릭한다.





03. 설정 창이 열리면 다음과 같이 작업을 진행한다.

 ① 좌측메뉴에서 네트워크를 선택한다.

 ② 네트워크 항목에서 고급 버튼을 눌러서 숨겨진 항목을 나타낸다.

 ③ 포트 포워딩 버튼을 클릭한다.






04. 포트 포워딩 창이 뜨면 아래와 같이 작업을 진행한다.

 ① 우측 +버튼을 클릭하여 새 포트 포워딩 규칙을 추가한다.

 ②

이름

프로토콜

호스트IP

호스트 포트

게스트IP

게스트 포트

 

 포트 포워딩 이름

TCP

127.0.0.1

80

접근할 IP 주소

80

 ③ 확인 버튼을 클릭하여 설정을 저정한다.





06. 확인 버튼을 클릭하여 변경한 네트워크 설정을 저장하고 닫는다.





07. 웹 브라우저를 열고 localhost 를 입력하면 가상머신에서 설치한 Apache 서버에 접속한 것을 확인 할 수 있다.












■ 기타 접근이 필요한 포트 포워딩





위의 포스팅에서 아파치 서버를 포트 포워딩을 하여 윈도우의 웹 브라우저에서 아파치 서버의 실행결과를 출력하는 것을 해보았다.


이와 마찬가지로 DB, FTP, SSH등의 연결을 위해 포트를 열어주어야 하는경우에는





위와 같이 PORT(포트)를 추가적으로 열어주면 된다.








반응형
//

[Ubuntu] Ubuntu에 APM 세팅하기[Ubuntu] Ubuntu에 APM 세팅하기

Posted at 2018. 9. 25. 15:40 | Posted in Linux/Ubuntu
반응형



■ 우분투 APM 설치하기



-. APMApache, PHP, MySQL을 줄여서  APM 이라고 한다.

 ① 웹서버로 사용할 Apache서버
 ② 웹 어플리케이션을 동작시키기위한 PHP 인터프린터
 ③ 데이터베이를 이용하기 위한 MySQL







#01. Apache를 설치 하기


 $ sudo apt-get install apache2




위와같이 세팅을 마무리 했다면, 이제 웹 브라우저를 열고


주소창에 http://localhost 혹은 http://120.0.0.1 을 입력해보자.






위 그림처럼 보인다면 Apache 웹 서버가 문제 없이 동작하고 있는 것이다.


만약 위 화면이 보이지 않는다면 원인을 찾아야 한다.





아파치 설치가 완료되었다면 mod_rewrite기능을 활성화 시켜두어야 한다.


mod_rewrite는 규칙 기반으로 URL을 동적으로 전환(redirecting) 및 재작성(rewriting) 할 수 있는 아파치 확장 모듈이다.


웹 개발 프레임워크들이 URL 라우팅 기능을 제공하는데


http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19 과 같이 복잡한 URL 을


http://www.example.com/Blog/2006/12/19/  처럼 깔끔한 URL 로 재작성하는,


쉽게말해 짧게 줄여주는 역할을 수행한다고 생각하면 된다.



 $ sudo a2enmod rewrite 




mod_rewrite 설치가 완료되었는지 아래 명령을 통해 확인해 보자.


아파치를 한번 재시작하고 설치 여부를 확인해 보자.



$ sudo service apache2 restart

 



 $ apachectl -D DUMP_MODULES | grep -i rewrite



rewrite_module ( shared )라고 나타나면 정상적으로 설치된 것이다.








#02. PHP 설치하기



 $ sudo apt-get install php php-common libapache2-mod-php



위와 같이 설치가 완료 되었다면.


PHP가 정상적으로 설치되었는지.


아래와 같이 확인해보자.



 $ php -v



위와같이 설치된 PHP의 버전이 확인되었다면.


빔(VIM)을 사용해 테스트할 *.php 파일을 생성해보자.



 $ vim /var/www/html/phpinfo.php



위와같이 입력하면 빔(VIM) 편집기가 실행되는데


아래와 같이 입력하고


:wq로 저장하고 종료한다.



 <?php

             phpinfo();

 ?>



 :wq




그럼 이제 다시 웹 브라우저를 열고


주소창에 http://localhost/phpinfo.php 라고 입력해 보자.






위와같은 화면이 나타나면 정상적으로 PHP세팅이 완료된 것을 확인할 수 있다.


추가적으로 아래와 같은 명령어들을 입력하고 실행하여 자주 사용되는 PHP 패키지들도 설치해 주도록 하자.



 $ sudo apt-get install php7.2-curl php7.2-xml php7.2-zip php7.2-gd php7.2-mbstring php7.2-intl php7.2-mysql




※ php.ini 설치 경로


 $ sudo vim /etc/php/7.2/apache2/php.ini










#03. MySQL 설치하기



 $ sudo apt-get install mysql-server mysql-client php-mysql



MySQL 설치시는 MySQL의 root 계정의 암호를 입력해야 한다.


이는 우분투 root 계정과는 별도의 MySQLroot 계정에 대한 암호이다.






암호를 입력해주고 OK 버튼을 클릭하여 설치를 마무리한다.







반응형
//

[Ubuntu] 빔(VIM) 사용방법 정리[Ubuntu] 빔(VIM) 사용방법 정리

Posted at 2018. 7. 20. 19:39 | Posted in Linux/Ubuntu
반응형




■ CGI, 콘솔 환경에서 파일 수정



 콘솔만 이용해서 우분투를 사용하는 데 있어서 가장 큰 걸림돌은 파일의 내용을 보거나 수정하는 기능이다. 콘솔에서 파일의  내용을 수정하는 방법은 아무리 쉬운 방법이라고 해도 MS윈도우 메모장보다 어렵다. 콘솔 기반 편집기는 GUI 기반 편집기 만큼 직관적이지 못하기 때문이다. 무엇보다 콘솔에서는 마우스를 사용할 수 없다는게 가장 큰 단점이다.


 계속 부정적인 면만 이야기 했지만 사실 콘솔에서 사용할 수 있는 에디터는 생각보다 다양하고 또한 익숙해지기 어려워서 그렇지 제대로 익혀서 사용하게 된다면 오히려 GUI 환경에서 파일을 수정한느 것보다 더 효과적이고 빠르게 작업이 가능하다. 마우스보다는 키보드 단축키가 더  빠르기 때문이다. 컴퓨터  전문가 중에는 GUI 환경에서도 일부러 콘솔용 에디터를 사용하는 사람도 많다. 어찌됐건 콘솔에서 우분투를 사용하는 작업에서 파일 편집이라는 산을 넘지 못하면 더 이상 할 수 있는게 많지 않다.




■ 빔(VIM) 사용하기



 '(VIM)'이라고 부르는 이 에디터는 가장 많이 쓰이는 리눅스 콘솔용 에디터이다. 이 프로그램도 개발된 지 매우 오래되었다. 얼마나 오래되었냐 하면 MS윈도우 같은 GUI기반의 운영체제가 나타나기 전부터 존재했던 에디터이다. 이런 이유로 이 사용법이 그다지 직관적이지 않다. 예를 들어서 처음 VIM을 실행한 유저라면 한 글자도 수정하지도 못하고 프로그램을 종료할 수도 없다.


 그렇지만 (VIM)역시 에디터이기 때문에 다양한 플러그인이 존재하며 그 종류가 에디터 수준에서는 충분하다. 다양한 플러그인을 잘 설정한다면 웬만한 GUI 기반 에디터보다 기능이 많다.




■ 빔(VIM) 설치하기



우선 VIM이 설치되어 있는지 부터 확인한다.


 $ apt-cache show vim


위와같이 설치가 되어 있다면 VIM를 실행하고 그렇지 않다면 아래와 같이 VIM을 설치하자.


 $ sudo apt-get install vim



사용자 계정 암호를 물어보면 입력해주고, 설치될 때까지 기다린다.

설치가 완료되면 아래 명령어를 입력해서 처음으로 VIM을 실행해 보도록 하자.



 $ vi

OR

    $ vim


위와 같은 "memo"라는 글자를 입력하기 위해서 키보드를 이용해 memo라고 하나씩 눌러보면 아마 아무런 반응이 없을 것이다.

보통의 에디터라면 키보드를 누르면 화면에 입력한 글자가 보여야 하지만 VIM은 그렇지 않다.


VIM은 일반적인 에디터와는 달라서 '모드'라는 것이 존재한다. 지금은 편집모드가 아니라서 아무런 편집도 할 수 없는 것이다.





■ VIM의 모드




(VIM) 에디터와 다른 일반 에디터의 가장 큰 차이점은 VIM은 몇 가지 모드를 가지고 있다는 점이다.

각각의 모드들은 그 목적이 정해져 있으며 모드에 따라서 동일한 키보드 입력도 단축키로 인식하거나 아니면 편집할 단어로 인식할지가 달라지게 된다.




 :: VIM 모드 종류와 변화 ::




-. VIM명령모드, Ex모드, 입력모드 총 3가지 모드를 가지고 있다.

-. VIM을 실행하면 항상 명령모드에서부터 시작하게 되고, 키보드 키 i, a, o, s 중 하나를 입력하게 되면 입력모드 전환이 된다.

-. i, a, o, s 키는 각각 성격이 다르지만 경과적으로는 입력모드로 변환이 된다.

-. 입력모드에서 ESC키를 누르면 다시 명령모드로 바뀌게 되고, 명령모드에서 : (콜론), / (슬레쉬), ? (물음표)키 중에서 하나를 누르게 되면 Ex모드로 전환이 된다.

-. : (콜론), / (슬레쉬), ? (물음표)역시 각각 키마다 성격이 다르지만 Ex모드로 전환된다는 점은 같다.

-. 다시 ESC키를 누르거나 Enter키를 누르면 명령모드로 돌아가게 된다.

-. Ex모드에서  입력모드로 바로 갈 수 있는 방법은 없다.(Ex모드 전환도 마찬가지이다.) 반드시 명령모드를 거쳐야 한다.




# 명령모드


-. 명령모드에서는 키보드로 직접 내용을 입력해서 문서 내용을 편집하는 게 안된다.

-. 대신 키보드의 다수의 키들이 각각 특정 기능의 단축키로 지정되어 있다.

   따라서 여러 가지 단축키를 활용해서 문서의 내용을 수정하고 편집할 수 있다.


:: 입력모드로 전환 단축키 ::

 i

 · 현재 커서 위치에서 입력모드로 전환

 a

 · 현재 커서 다음 칸에서 입력모드로 전환

 o

 · 윗줄에서  입력모드로 전환

 ESC

 · 입력모드 종료


:: 커서 이동 단축키 ::

 h, j, k, i

 · 좌 하 상 우 커서 이동, 오래 전 키보드에는 방향키가 없었는데

  그 당시 커서 이동을 위해 사용했다.

  현재는 방향키로도 커서 이동이 가능하다.

 w(소문자)

 · 단어 첫 글자로 커서 이동

 W(대문자)

 · 화이트 스페이스 단위로 다음 글자로 커서 이동

 b(소문자)

 · 뒤쪽 방향으로 단어의 첫 글자로 커서 이동

 B(대문자)

 · 뒤쪽 방향으로 화이트 스페이스 단위로 다음 글자로 커서 이동

 e

 · 단어의 마지막 글자로 커서 이동

 ge

 · 뒤쪽 방향으로 단어의 마지막 글자로 커서 이동

 gg

 · 문서 맨 앞으로 커서 이동

 G

 · 문서 맨 끝으로 커서 이동

 ^

 · 문장 맨 앞으로 커서 이동

 0

 · 라인 맨 앞으로 커서 이동

 $

 · 문장 맨 뒤로 커서 이동

 Ctrl + f

 · 다음 페이지로 커서 이동

 Ctrl + b

 · 이전 페이지로 커서 이동


:: 문서 내용 편집 단축키 ::

 dd

 · 현재 줄 잘라내기

 dw

 · 단어  잘라내기

 yy

 · 현재 줄 복사하기

 p

 · 붙여넣기

 r

 · 현재 글자 교체하기

 u

 · Undo

 Ctrl + R

 · Redo

 x(소문자)

 · 현재 글자 지우기

 X(대문자)

 · 앞의 글자 지우기

 cw

 · 단어 잘라내기

 >

 · 들여쓰기

 <

 · 내어쓰기

 .

 · 이전 명령어를 다시 실행


:: 비주얼 모드 단축키 ::

 v

 · 비주얼 모드 진입

 ESC키

 · 비주얼 모드 취소

 y

 · 블록 복사

 x

 · 블록 잘라내기

 ① 비주얼 모드는 블록(선택영역)을 지정할 수 있는 모드이다.

 ② 마우스로 드래그해서 블록을 잡는 것과 동일한데, VM은 마우스가 없으니  대신 v키를 누르면 블록 지정이 시작된다.

 ③ 커서 키를 이용해서 원하는 부분을 블록 지정한 다음, 해당 블록을 복사할지  삭제할지 키를 입력하면 된다.




# 입력모드


-. 입력모드는 키보드로 입력하는 모든 글자를 문서로 입력하는 모드이다.

-. 입력모드는 GUI 기반의 에디터들이 기본적으로 동작하는 형태와 동일하다.

-. 콘솔 환경에서는 복사와 붙여넣기 같이 단순한 편집 기능조차도 구현하기가 까다롭다.

   따라서 VIM에서는 입력모드에서는 정말 문자 입력 작업만을 하다가

   ESC키를 눌러서 명령모드로 전환한 뒤에 적절한 편집 기능을 사용하는 구조이다.

-. VIM에 익숙하지 않은 사용자는 입력 작업 중간중간 ESC키를 눌러서 명령모드로 바꿔주어야 하는 불편함이 크지만 익숙해지면 빠르게 할 수 있다.




# EX모드


-. Ex모드는 명령 모드처럼 키보드이 키를 입력하면 단축키 같이 즉시 명령이 처리되는 모드가 아니라

  명령어를 입력하고 엔터를 쳐서 해당 명령을 수행하는 모드를 말한다.

-. Ex모드로 진입하기 위해서는 명령모드 상태에서 :(콜론) 키를 입력하게 되면 화면 맨 하단 왼쪽에 :(콜론)이라는 모양이 나오면서 커서가 깜박거리는 모습을 볼 수 있다.

  이때 원하는 Ex모드 명령어를 입력하고 엔터를 치는 것이다.



-. 위 영상은 Ex모드로 진입한 상태를 보여주고 있다.

-. 이 상태에서 ESC를 눌러서 Ex모드를 취소하고 다시 명령모드로 가든지, 수행하고자 하는 명령어를 입력한 후 엔터를 쳐서 VIM이 명령어를 수행하게 해야 한다.

-. Ex모드에서는 명령모드에서 할 수 있는 편집 기능보다 더욱 강력한 기능들을 사용할 수 있다.


 :: Ex모든 단축키  모음 ::

 :w

 · 문서 저장하기

 :q

 · 현재 문서 닫기

 :q!

 · 저장하지 않고 닫기

 :wq

 · 저장하고 닫기

 :숫자

 · 지정한 라인넘버로 이동

 :new

 · 가로로 창 분할

 :vs

 · 세로로 창 분할

 :e 파일명

 · 파일 새로 열기

 :%s/old/new/g

 · old라는 문자를 new라는 문자로 치환

 /단어

 · 문서에서 단어를 찾는다.

 · 단어 찾기 기능의 Ex모드는 :(콜론)이 아니라 /(슬레쉬)임을 주의하자

 · 찾은 단어 사이를 이동하려면 n키를 누르면 된다.


출처 : https://kldp.org/node/102947




반응형
//