Messenger서버 OpenFire (Linux) 설치


OpenFire설치 전 mysql, mysql-server, httpd 설치


설치환경

OS : Oracle Linux 6.8

mysql : 5.1.73

mysql-server : 5.1.73

httpd : 2.2.15

openfire : 4.0.3

jdk : 1.8


http://www.igniterealtime.org/downloads/

↑ 위의 URL로 들어가면 다운받을 수 있다.


jdk는 Oracle 홈페이지가면 다운받을 수 있음


rpm확장자로 받아서 설치


/usr/local/src의 경로에 다운받은 2개의 파일을 저장한 후에 

rpm -ivh 패키지명 으로 설치하면 됨


jdk 설치경로 - /usr/java/jdk1.8.0_101

openfire 설치경로 - /opt/openfire

특정계정 접근금지, 허용



아래 그림과 같이 /etc/vsftpd 경로에 접근하면 밑줄친 두 개의 파일이 보인다.




ftpusers 파일에 들어있는 사용자는 비번을 맞게 쳐도 거부되지만

user_list 파일에 들어있는 사용자는 비번조차 묻지않고 거부된다.


vsftpd.conf 설정파일 맨 아랫줄에 보면 userlist_enable=YES 라는 설정이 되어있다.

고로 ftpusers, user_list에 접근을 제한할 계정을 적게되면 FTP를 사용할 수 없다.


2개의 파일에 입력되어 있는 root를 지워보면 원래 접근이 안되던 슈퍼계정으로도 접근이 가능해진다.

'Server - Linux > vsFTP' 카테고리의 다른 글

[vsFTP] vsFTP 리눅스 설치, 설정 및 접속방법  (0) 2016.09.21


vsFTP 설치, 설정 및 접속방법

    (Linux - Window 파일전송)


vsftp 설치

yum install vsftpd



FTP설정파일 (/etc/vsftpd/vsftpd.conf)

write_enable=YES   - 기본적인 업로드 허용

anon_upload_enable=YES  - 익명 사용자 허용

anon_mkdir_write_enable=YES  - 익명 사용자 디렉토리 생성 허용

anonymous_enable   - 익명 사용자 접속 허가 결정

local_enable    - 로컬사용자의 접속 허가 여부 설정

write_enable    - 로컬 사용자가 저장, 삭제, 디렉토리 생성 등의 명령을 실행할 것인지 설정

anon_upload_enable   - 익명 사용자의 파일 업로드 허가 여부

anon_mkdir_write_enable  - 익명 사용자의 디렉토리 생성 여부

dirlist_enable     - 접속한 디렉토리의 파일 리스트를 보여줄지 설정

download_enable    - 다운로드의 허가 여부

listen_port     - FTP 서비스의 포트 번호를 설정(기본 21번)

deny_file     - 업로드 금지할 파일 지정(ex: deny_file={*.gif, *.jpg, *.mpeg}

hide_file     - 보여주지 않을 파일을 지정 deny_file과 동일하게 작성

max_clients     - FTP 서버의 동시 최대 접속자 수를 지정

max_per_ip     - 1개 컴퓨터가 동싱 pwjq속할 수 있는 접속자 수를 지정




익명 사용자의 소유권 변경

chown ftp.ftp /var/ftp/pub/



selinux disabled 또는 권한 설정(chcon)

 - 찾아봅시다

=================================================================================


접속방법


윈도우에서 접속!

웹브라우저 주소표시줄에 ( ftp://ip or domain )

파일탑색기 주쇼표시줄에 ( ftp://ip or domain )


ID / PW 입력


또는 파일질라, 알FTP 등 프로그램으로 업로드, 다운로드 가능!



=================================================================================


한가지 문제점이 생김

 - 크롬으로 접속했을 때는 해당 로그인한 계정 디렉토리에서만 다운로드가 가능(이게 정상적임)

   파일 탐색기도 마찬가지

   하지만 explorer에서는 !!!! /root 디렉토리를 제외한 모든 디렉토리 접근 및 다운로드 가능...(보안적인문제가..)

   크롬과 exploere의 차이? 왜그런지 모르겠음..


'Server - Linux > vsFTP' 카테고리의 다른 글

[vsFTP] 특정계정 접근금지, 허용  (0) 2016.09.21


설치 및 설정


APM 설치 확인

rpm -qa | grep httpd

rpm -qa | grep php

rpm -qa | grep mysql


패키지 설치

yum -y install httpd php mysql mysql-server gd gd-devel php-gd php-mysql


아파치 실행

service httpd start


부팅 후 자동 시작 설정

chkconfig httpd on


아파치 재실행

service httpd restart


mysqld 실행

service mysqld start


mysql 관리자 패스워드 지정

mysqladmin -u root password 'password'


mysql 접속

mysql -u root -p


부팅 후 자동 시작 설정

chkconfig mysqld on


mysql 재실행

service mysqld restart


PHP 문서 서비스 설정파일 수정

vi /etc/httpd/conf/httpd.conf


402줄 php.htm 인덱스 파일 추가

DirectoryIndex index.php index.html index.html index.html.var

765줄 php, php소스 파일 MIME 형식 설정

AddType application/x-tar .tgz

AddType application/x-httpd-php  .php

AddType application/x-httpd-php-source  .phps


vi /etc/php.ini

229줄 PHP 태그 설정

short_open_tag = Off => On으로 변경


service httpd restart

httpd restartServerName오류



다음과 같이 오류가 난다면(?)



vi /etc/httpd/conf/httpd.conf

다음과 같이 추가해주면 됨


'Server - Linux > APM' 카테고리의 다른 글

[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12

사용자 계정과 비밀번호 정책


# vi /etc/login.defs

-> 비밀번호 기한 설정을 포함한 쉐도우 파일의 설정을 결정한다.


비밀번호 만료 정보를 보기 위한 명령어

# chage -l [username]

ex) # chage -l parkhs



/etc/shadow 파일의 다음 필드를 변경할 수 있다.


{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:


1. Minimum_days : 비밀번호가 만료되는 최소일 수

2. Maximum_days : 비밀번호가 유효한 최대일 수, 즉 이 시기가 지난 후 사용자는

                          반드시 비밀번호를 변경해야 한다.

3. Warn : 비밀번호가 만료되기 전 사용자가 비밀번호를 반드시 변경하도록 경고하는 일 수

4. Expire : 계정이 더 이상 사용되지 않는 절대 일 수


/etc/shadow 직접 수정 보다는 chage 명령어를 사용하여 수정

 # chage -M 60 -m 7 -W 5 test




SetUID, SetGID 점검


 - 일반사용자도 직접 비밀번호를 변경하고자 했기 때문에 

   /usr/bin/passwd 파일소유자 root 권한을 잠깐 빌려주는 SetGID 속성이 부여됐다. 

   이러한 장점도 있지만 보안에 취약하다는 단점도 있기 때문에 SetGID, SetUID 점검이 필요하다.


   방법은 root 소유의 파일 중 퍼미션 4000(SetUID), 2000(SetGID) 부여된 파일들을 찾아 

   일반사용자에게는 굳이 필요하지 않다면 속성을 제거하면 된다.


*퍼미션 4000(SetUID)이 부여된 root 소유파일 찾기

 find / -user root -perm -4000 -print


*퍼미션 2000(SetGID)이 부여된 root 소유파일 찾기

 find / -user root -perm -2000 -print


*필요없는 파일 퍼미션 변경

 # chmod 100 /bin/ping

  

  /usr/bin/chsh

  /usr/bin/gpasswd

  /usr/bin/wall

  /usr/bin/write

  /usr/bin/chage

  /usr/bin/chfn

  /usr/bin/at

  /usr/bin/mount

  /usr/bin/umount

  /usr/bin/crontab

  /usr/bin/newgrp

  /usr/sbin/usernetctl

  /bin/ping


PING 테스트 응답차단



1. 

# vi /etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1          <- 추가 입력 후에 재부팅


2.  방화벽 icmp 차단


시스템 중요파일 속성변경


*gcc, g++ 컴파일러

 # chmod 100 /usr/bin/gcc /usr/bin/g++

 # chattr +i /usr/bin/gcc /usr/bin/g++


*ps 명령(프로세스 관리)

 # chmod 100 /bin/ps

 # chattr +i /bin/ps


*ping 명령

 # chmod 100 /bin/ping

 # chmod 100 /bin/ping6


*그 이외의 관리자 명령어

 # chmod 750 /usr/sbin/useradd

 # chmod 750 /usr/sbin/userdel

 # chmod 750 /usr/sbin/usermod

 # chmod 750 /usr/bin/top

 # chmod 750 /sbin/fdisk

 # chmod 750 /sbin/mkfs*

 # chmod 750 /sbin/fsck*


 # chmod 100 /usr/bin/pstree 

 # chmod 100 /usr/bin/w 

 # chmod 100 /usr/bin/who 

 # chmod 100 /usr/bin/find 

 # chmod 100 /bin/df 

 # chmod 100 /bin/netstat 

 # chmod 100 /sbin/ifconfig 

 # chmod 100 /usr/bin/make


 # chmod 700 /usr/bin/wget 

 # chmod 700 /usr/bin/curl


 # chattr +i /usr/sbin/useradd

 # chattr +i /usr/sbin/userdel

 # chattr +i /usr/sbin/usermod

 # chattr +i /usr/bin/top

 # chattr +i /sbin/fdisk

 # chattr +i /sbin/mkfs*

 # chattr +i /sbin/fsck*



명령어 - chattr (파일 속성 변경) & lsattr (파일 속성 확인)


+- i : 파일을 수정 및 삭제 모든 것을 불가능하게 만든다. root 사용자라도 불가능하지만 

root 사용자만 I 옵션을 해제할 수 있다.

+ 속성은 파일의 속성을 추가하고 - 속성은 파일의 속성을 제거한다.


chattr -R +i [디렉토리/파일명]

 - 디렉토리와 그 하위 모든 파일들에게 부여할 수 있다.


a

해당 파일에 추가만 할 수 있다. root계정만 속성을 변경할 수 있다. 파일보안을 위해 사용

  







c

해당파일은 커널에 의해 디스크상에 자동으로 압축된 상태로 저장된다.


파일을 읽을 경우 압축을 해제한 상태로 되돌려주며 쓰기를 할때는 디스크에 압축되어 저장된다.

d

해당파일은 dump로 백업이 되지 않는다.

i

해당파일의 수정, 삭제, 이름변경, 파일추가, 링크파일 생성이 불가능하다. 변경추가가 거의 없는 파일에 a속성과 함께 사용한다.root계정만 속성을 변경할 수 있다.

s

파일삭제가 될 경우에 해당블럭이 모두 0으로 되고 디스크에 다시 쓰기가 발생한다.

S

변경이 일어날 경우 디스크동기화가 일어난다.

u

파일이 삭제가 되었을 경우 그 내용이 저장되며 삭제되기 이전의 데이터로 복구가 가능하다.


+ Recent posts