이번 포스트는 낚시와 관련된게 아니라 제가 현재 회사에서 작업을 하고 있거나 했던 내용을 참고 하기 위해 올리는거라 설명이 별루 없으며 순간 순간 수정이 되오니 ㅎㅎ 양해 바랍니다.

ㅠ.ㅠ 출조 가고파요~~ 족저근막염 때문에 출조를 못 나가니.. 이거워 야 원....

아무튼 낚시와 관련된게 아니니 서버쪽과 관련이 없으신분들은 패스~~~하세요!!!

고객사에서 이번에 HP Server(HP ProLiant DL360 G9)를 새로 구입을 하였는데 따로 RAID Controller를 구입하지 않으시고 내장 RAID Controller B140i을 사용 하시네요. B140i를 사용할때에는 CentOS 설치시 반드시 dd 형식으로 설치 해야하는데 HP에서 B140i에서 CentOS 설치 지원되는 최소 버젼이 6.6 버전이라 어차피 dd 로 올릴꺼 최신 버전으로 CentOS 7(x86_64 1804) 설치를 합니다.

문제는 현재 사용하고 있는 APM(Apache, PHP, Mysql) 들이 CentOS 6.2 버전이고 홈페이지 소스를 관리하는 업체에서 최대한 APM 버전을 그대로 해달라는 요청에 저만 죽어나네요.

RPM, yum 으로 APM 예전 버전들을 찾아서 설치해 보았으나 모조리 실패~~!!

어쩔수 없이 Source 컴파일 설치를 시작합니다.

APM Source 파일을 찾아서 다운로드 하는것만 해도 하루 지나가네요. ㅡ,.ㅡ

예전 설치 환경

OS : CentOS 6.2

Apache : httpd-2.2.24

MySQL : MySQL 5.1.52

PHP : 5.3.3

새로 설치 환경

OS : CentOS 7.5(x86_64 1804)

Apache : httpd-2.2.24

MySQL : MySQL 5.1.52

PHP : 5.3.3

MySQL 5.1.52 Source 컴파일 설치

다운로드 경로 :

# wget https://downloads.mysql.com/archives/get/file/mysql-5.1.52.tar.gz

Source 로 설치시 필요한 의존성 패키지를 모조리 설치합니다~

# yum install -y wget patch pcre-devel lua-devel libxml2-devel ncurses-devel zlib zlib-devel curl openssl openssl-devel libtermcap-devel libc-client-devel bison gcc g++ cpp gcc-c++ freetype freetype-devel freetype-utils gd gd-devel libjpeg libjpeg-devel libpng libpng-devel curl curl-devel flex php-mbstring libexif-devel libmcrypt libmcrypt-devel

# tar xvfpz mysql-5.1.52.tar.gz

# ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --localstatedir=/usr/local/msyql/data --enable-shared --with-mysqld-user=mysql --with-charset=utf8 --with-extra-charsets=all --with-libedit --enable-assembler --sysconfdir=/etc

# make && make install

# useradd mysql

# chown -R mysql.mysql /usr/local/mysql

# chown -R mysql.mysql /usr/local/mysql/data

# chmod 755 /usr/local/mysql/data

# /usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf

# cd

# vi ~/.bash_profile

PATH=$PATH:$HOME/bin:/etc/rc.d/init.d:/usr/local/mysql/bin

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

# cp -a /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld

그다음 root 암호 설정을 알아서...

APAHCE 2.2.24 컴파일 설치

다운로드 경로 :

# wget https://archive.apache.org/dist/httpd/httpd-2.2.24.tar.gz

# tar xfpz httpd-2.2.24.tar.gz

# cd httpd-2.2.24

# ./configure --prefix=/usr/local/apache2 --enable-rule=SHARED_CORE --enable-modules=all --enable-mods-shared=most --with-mpm=worker --enable-rewrite --enable-deflate --enable-headers --enable-so --enable-ssl --enable-unique-id

# make && make istall

# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

PHP 5.3.3 컴파일 설치

다운로드 경로 : http://php.net/releases/

# wget http://museum.php.net/php5/php-5.3.3.tar.gz

# tar xvfpz php-5.3.3.tar.gz

# cd php-5.3.3

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-mbstring --enable-magic-quotes

# make && make install

위의 명령어를 적었는데 아래와 같이 오류가 발생하면..

.. php-5.3.3/ext/dom/node.c: In function 'dom_canonicalization'

.. php-5.3.3/ext/dom/node.c: 1953:21: ............

.. php-5.3.3/ext/dom/node.c: 1955:5: ............

아래 명령어를 사용하여 다운 받아 진행을 합니다.

# wget -O php.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt

(참조 : http://blog.naver.com/PostView.nhn?blogId=ssik425&logNo=10175143994)

# cd php-5.3.3

# patch -p0 -b < php.patch

# make && make install



CentOS Apache



아파치(Apache)에서 설정 시 webadmin 사용자 추가 후 디폴트로 되어 있는 DocumnetRoot 를 변경(/var/www/html -> /home/webadmin/www/html) 


테스트 시 아래와 같은 에러가 발생


Forbidden You don’t have permission to access / on this server. 



먼저 홈페이지 디렉토리(/var/www/html)을 사용자 디렉토리로 옮겼다는 가정하에 시작합니다.


# chown -R webadmin:webadmin /home/webadmin/www/html

// 사용자와 그룹을 webadmin으로 변경(root 권한)


# vi /etc/httpd/conf/httpd.conf


아래 내용을 추가 기입하세요.


<Directory /Users/mytory/workspace>

   Options FollowSymLinks

   AllowOverride None

   Order deny,allow

   Allow from all

</Directory>



# service httpd restart


이제 홈페이지로 접속 테스트를 해 보니 정상 작동~













CentOS APM 설치 후 홈페이지 소스를 FTP로 옮길려고 로그인을 하였는데.. 

디렉토리만 보이고 내용은 하나도 보이지 않는 현상이 나타나네요.


일단 vsftp 는 확인해 본바 이상이 없음.



SELinux 정책 확인


# vi /etc/sysconfig/selinux


# 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=enforcing

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted



SELINUX=enforcing 을 아래 disabled 로 변경


그 후 가급적 서버 재부팅을 권함.


다시 FTP 로그인 후 접속 해보면 파일 내용이 나옵니다.



만약 이렇게 해도 안된다면 아래 글을 참조하세요.


# setsebool -P ftp_home_dir 1

// SELinux 정책에서 사용자의 home 디렉토리의 쓰기를 막아놓은것을 해제하는 명령어

 

# service vsftpd restart


# setsebool -P ftp_disable_trans 1

// SELinux 정책에서 FTP부분을 적용하지 않겠다는 명령어





IIS7.x 이상에서 SQL Injection 과 Web-Shell 해킹을 간단하게나마 접근을 하지 못하게 하는 방법을 알려드리겠습니다.



1. 관리자 페이지 접속 IP 제한

현재는 관리자 페이지(admin 디렉터리)가 모두에게 개방이 되어 있는 상태로 있다고 가정을 하고 관리자 페이지를 아래 그림과 같이 admin 폴더를 클릭하세요.





그리고 아래 그림과 같이 IIS -> IP 주소 및 도메인 제한(우클릭) -> 기능열기 클릭합니다.





그리고 기능 설정 편집 클릭





일단 관리자 페이지에 모든 사용자가 접근을 할 수 없도록 아래 그림과 같이 거부를 설정합니다.





전부 거부를 하였으니 그다음 허용할 IP를 설정해야 하니.  허용 항목 추가를 클릭합니다.





IP 등록시 하나의 IP를 넣어도 되고 클래스 별로 넣을수도 있도록 되어 있으니 사용할 부분에 선택을 합니다.





등록을 하게 되면 아래 그림과 같이 허용할  IP 클래스가 나옵니다.




이제 테스트를 해야겠죠? 

허용 IP가 아닌 다른 IP 대역대에서 접속 테스트를 해보면 아래 그림과 같이 사용 권한 없음이 나타나야 정상입니다.

이 정도만 해도 특정 관리자들이 로그인하는 부분에서 SQL Injection 에 대해 조그만한 대비가 됩니다.






2. 업로드 디렉터리 실행 권한 제거


만약 해킹으로 어떻게든 로그인 부분에서 뚫렸다면 업로드 디렉터리에 스크립트 실행 권한을 제거 한다면 이 또한 대비가 될것입니다.


먼저 업로드 디렉터리를 선택한 후, 처리기 매팅 도구를 기능 열기로 실행합니다. 아래 그림 참조.





처리기 매핑 화면이 나타나면 아래 그림과 같이 순서대로 [기능 사용 권한 편집] -> [스크립트 체크 해제]-> 확인 을 하시면 됩니다. 그렇게 되면 뒤에 있는 기능들이 상태가 그림과 같이 사용안함 및 회색으로 변합니다.





이 두가지만 설정을 해 놓으셔도 어느정도(?) 대비가 되실겁니다.


추후 또 다른 정보가 있다면 글을 올리도록 하겠습니다.


IIS 7.0 이상의 버젼에서 asp 작업을 하다보면 아래와같이 자세한 오류 메시지가 보이지 않아서 난감할때가 있습니다.




IIS 7.0 이상의 버젼 부터는 보안이 강화되어 "자세한 오류"메시자가 표시가 되지 않았습니다.
이를 표시하기 위해서는 아래와 같이 설정을 변경합니다.

!주의 : 아래와 같이 설정시 해킹의 위험(고의적인 에러 유도로 웹서버 종류 파악을 할 수 있으며 IIS 에러 페이지로        WINDOWS 버젼 예상)이 있으니 장애 오류 확인 할때만 사용하시는게 좋을듯 합니다.

1. IIS(인터넷 정보 서비스) 관리자


2. 사이트 -> IIS -> ASP -> 기능열기 -> 디버깅 속성

- 브라우저에 오류 전송 : True

- 서버 쪽 디버깅 사용 : False

- 클라이언트 쪽 디버깅 사용 : True


3. 사이트 -> IIS -> 오류 페이지 -> 기능 열기 -> 기능 설정 편집

오류 응답 : 자세한 오류



다 적용하신 후 오류 메세지를 확인 해 보면 아래와 같이 나옵니다.













[스크랩] JBoss 6.0 설치하기

Posted 2014. 6. 19. 13:30


출처 : http://blueray21.tistory.com/22




1. JBoss 다운로드 및 설치

1.1 다운로드

[root@centos ~]$ wget http://sourceforge.net/projects/jboss/files/JBoss/JBoss-6.0.0.Final/jboss-as-distribution-6.0.0.Final.zip/download

1.2 파일 이동 및 압축해제

[root@centos ~]$ mv jboss-as-distribution-6.0.0.Final.zip /usr/share/

1.3 압축 풀기

[root@centos ~]$ cd /usr/share/ 
[root@centos share]$ unzip -q jboss-as-distribution-6.0.0.Final.zip


2. 계정 생성 및 프로파일 수정

2.1 계정 새성

[root@centos share]$ groupadd jboss
[root@centos share]$ useradd -s /bin/bash -g jboss jboss
[
root@centos share]$ chown -Rf jboss.jboss /usr/share/jboss-as-distribution-6.0.0.Final/


2.2 프로파일 수정

  • JAVA_HOME
  • JBOSS_HOME

[root@centos share]$ vi /home/jboss/.bash_profil

1
2
3
4
5
6
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
JBOSS_HOME=/usr/share/jboss-6.0.0.Final
export JBOSS_HOME

2.3 설치 경로 소유자 변경

[root@centos share]$ chgrp -R jboss /usr/share/jboss-6.0.0.Final
[root@centos share]$ chown -R jboss /usr/share/jboss-6.0.0.Final


3. 스크립트 생성

[root@centos share]$ su - jboss
[jboss@centos ~]$ mkdir bin
[jboss@centos ~]$ cd bin
[jboss@centos bin]$ 
vi jboss.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
RETVAL=0
USER=`whoami`
JBOSS_HOME=/usr/share/jboss-6.0.0.Final
SERVER_IP=127.0.0.1
start() {
 # Start daemons.
 echo $"start JBoss6 : "
 if [ "$USER" = "root" ]; then
  su - jboss -c "$JBOSS_HOME/bin/run.sh -b $SERVER_IP -c all &"
 else
  if [ "$USER" = "jboss" ]; then
                        $JBOSS_HOME/bin/run.sh -b $SERVER_IP  -c all
  else
   echo "************* please! run by jboss ***************"
  fi
 fi
}
stop() {
 # Stop daemons.
 echo $"stop JBoss6 : "
 if [ "$USER" = "root" ]; then
  su - jboss -c "$JBOSS_HOME/bin/shutdown.sh -o $SERVER_IP"
 else
  if [ "$USER" = "jboss" ]; then
   $JBOSS_HOME/bin/shutdown.sh -o $SERVER_IP
  else
   echo "************* please! run by jboss ***************"
  fi
 fi
}
case "$1" in
 start)
  start
  ;;
 stop)
  stop
  ;;
 restart|reload)
  stop
  sleep 5
  start
  RETVAL=$?
  ;;
 *)
  echo $"Usage: $0 {start|stop|restart}"
  exit 1
esac
exit $RETVAL

[jboss@centos bin]$ chmod +x jboss.sh 


4. JBoss 실행 및 종료

4.1 JBoss 실행

[jboss@centos bin]$ ./jboss.sh start &

4.2 JBoss 상태 조회

[jboss@centos bin]$ netstat -an | grep 8080
tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      

4.3 JBoss 종료

[jboss@centos bin]$ ./jboss.sh stop &


5. JBoss Admin Console 접속

  • http://localhost:8080/

  • Administration Console 클릭

  • Username : admin
  • Password : admin


6. JBoss Admin 비밀번호 변경

[jboss@centos bin]$ cd /usr/share/jboss-6.0.0.Final/server/default/conf/props
[jboss@centos props]$ vi jmx-console-users.properties

1
2
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin





출처 : http://freeprogram.tistory.com/27



라이센스 :

개인, 기업(단체)에 모두 무료입니다. 라이센스는 자유 소프트웨어(GPL)입니다. 아래는 공식 홈페이지 라이센스 문구입니다.


다운로드 :

http://clonezilla.org


설치법 :

컴퓨터가 느려질 때면 포맷하고 싶지만 다시 운영체제와 드라이버, 기본 소프트웨어 깔기에 소모되는 많은 시간에 인내심이 부족하여 포기하고 맙니다. 이전에도 하드 백업, 복구 관한 블로그를 보며 시도를 해보려 했지만 유료 프로그램에 백업 방법이 복잡에 포기했습니다.

그리고 드디어 몇년 후에 바로 몇일 전 다시 하드 백업에 시도하였고 성공하였습니다. 이제는 지겨운 설치시간과 초기 설치를 위한 잦은 부팅에서 벗어났네요.


그 방법을 설명해드리자면, 저에게 생소한 백업, 복구 프로그램은 종류가 생각보다 많았습니다. 그 중에 노턴 고스트는 프로그램은 유료고 복구에 성공하여도 하드에 기록을 남겨 정품이 아니면 나중에 저작권 문제가 생길 수도 있습니다. 기타 개인 무료 여러개 더 있지만 해보지는 않았고 개인,기업 모두 무료인 클론질라(Clone Zilla)라는 프로그램을 사용했습니다.


결과부터 말하자면 초기 윈도우, 드라이브 세팅한 용량이 14기가 되었고 약 10분간 백업이 끝난 후 5기가 정도 하드 백업 이미지가 생성되었습니다. 그 5기가 짜리를 복구하는 데는 5분 정도 걸렸습니다. 복구가 너무 빨라서 감탄했습니다.


[백업 방법 - C드라이브를 D드라이브에 이미지 백업]


1. 부팅 USB만들기


http://clonezilla.org 클릭

- 왼쪽 메뉴에서 Live CD/USB 클릭

- 하단에 For USB flash drive or USB hard drive 문단에 this doc 클릭

- MS Windows Method B : Manual 제목 밑에 Download 클릭

- stable releases - 2.2.0-31 클릭

- select i686-pae 선택, file type ZIP 선택 후 download 클릭 (120메가)

- 부팅 USB로 만들 USB를 ntfs형식으로 포맷

- 위에서 받은 파일 압축푼 후 그것을 USB에 복사

(복사 했을 때 모양이 USB 루트에 폴더가 여러개 있어야 한다. USB에 들어갔을 때 압축 파일명의 폴더가 처음에 하나 보이고 클릭하면 여러 폴더가 보이는 경로가 아니다. 한마디로 USB에 들어갔을 때 utils 라는 폴더 보여야 함)

- USB > utils > win32 > makeboot 파일 우클릭 후 관리자 계정으로 실행 클릭

(그러면 콘솔 창으로 글자가 쭉 나오면서 부팅 USB로 만들어 진다.)


2. USB를 첫번째 부팅 순서로 두고 USB로 부팅하기



3. 클론질라 실행하기 (첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



4. 언어 선택하기 (세번째 선택 : 기본값으로 세번째를 가르키고 있다.)



5. 키맵 설정하기 (두번째 선택 : 기본값으로 두번째를 가르키고 있다.)



6. 클론 질라 진입하기 (첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



7. 다른 하드나 파티션으로 이미지를 백업할 것인지 아니면 모든 데이터를 클론(복제)할 것인지 선택 

(첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



8. 백업 이미지를 저장할 매체 선택하기 (로컬 하드 및 USB로.. ) (첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



9. 백업 이미지를 저장할 매체 선택하기 (드라이브 선택)

(여기서 주의 해야 할 점은 부팅 USB 드라이브는 잡히지 않는다. USB에 이미지를 백업하기 원한다면 또 다른 USB가 삽입되어 있어야 한다. 그리고 윈도우7의 경우 예약된 파티션이라고 100메가 정도로 숨겨진 파티션이 있는 경우가 있다. 그래서 숨겨진 파티션과 본인이 운영체제를 설치한 파티션을 피해서 다른 운용가능한 파티션으로 선택해야 한다. 필자의 경우 숨겨진 파티션을 이전에 지웠기 때문에 sda1이 윈도우가 깔린 C드라이브 sda2가 자료 백업 드라이브다. 그래서 sda2를 선택했다. 파티션 용량을 보면 대충 짐작할 수 있다.)



10. 백업 이미지 만들 위치 지정 ( / 모양 루트로 지정한다 : 기본값으로 루트로 지정되어 있다)

(여기서 필자가 백업할 드라이브를 잘못 선택해서 들어온 사진이다. 모르고 C드라이브를 선택했다. 백업을 저장할 파티션이기 때문에 windows 이런 폴더가 보이면 안된다. 이런 폴더가 보인다면 위 진행과정에서 잘못 선택한 것이다. 다시 재부팅해서 처음부터 시도해야 한다. windows 폴더가 보이지 않는다면 루트 ( / 모양 ) 선택하면 된다.)



11. 진행 방법 선택 (초보자용) (첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



12. 위 단계 지정한 곳에서 수행할 명령 ( save parts 선택 )

(save disk : 하드 통째로 백업해서 저장하기)

(save parts : 특정 파티션 백업해서 저장하기)

(restore disk : 이미지를 불러서 하드 복구하기)

(resotre parts : 이미지를 불러서 파티션 복구하기)

(나머지 모름)



11. 이미지가 담길 폴더 이름 (자동으로 작성되어 있다)



12. 윈도우가 설치된 파티션 선택 (위에서 선택한 백업 파티션을 제외한 파티션이 목록으로 나온다)

(여기서도 필자가 잘못한 사진이다. 백업할 파티션을 sda2(D드라이브)로 선택해서 현재 목록에 sda1(C드라이브)가 나와야 정상이다. 이 사진은 위에서 파티션을 잘못 지정해서 파티션 목록도 반대로 나온 사진이다.)



13. 백업 이미지 생성 후 파일이 정상인지 확인 할 것이냐 선택 (첫번째 선택 : 기본값으로 첫번째를 가르키고 있다.)



14. 백업 이미지 생성이 끝나면 USB를 뽑고 부팅하면 된다. 그 후 평소처럼 쓰면된다.

(D드라이브에 가보면 아까 지정한 폴더로 이미지 파일이 생성된 것을 볼 수 있다)




[복구 방법]


위 사진 2번 부터 12번 단계까지 한 후 resotre parts 선택하면 바로 복구가 진행된다. 참고로 10번 사진에서 백업한 이미지 디렉토리가 뜨지 않는다. 그냥 루트 선택하면 자동으로 백업 이미지 디렉토리와 연동이 된다.


[참조했던 URL]

http://blog.naver.com/PostView.nhn?blogId=anvicnw&logNo=10128626669

http://blog.daum.net/iris91/53

(방법이 헷깔리시면 위 블로그를 참조하세요. 저도 위 블로그 보고 따라 한 겁니다.)


[별점과 사용 후기를 남겨주시면 다른 분들에게 많은 도움이 될 것 같습니다.]


« PREV : 1 : 2 : 3 : 4 : ··· : 18 : NEXT »