달력

5

« 2024/5 »

  • 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

2014-06-27 오전 9:29  

 

메일서버 : sendmail qmail 썬더버드… 

 

vsFTP 구축 

 

홈페이지    http://vsftpd.beasts.org 

                ftp://vsftpd.beasts.org/users/cevans 

                http://rpmfind.net 

 

1)패키지설치 

 

yum install -y vsftpd 

 

 

2)소스컴파일 

 

yum remove -y vsftpd 

 

wget http://pkgs.fedoraproject.org/repo/pkgs/vsftpd/vsftpd-2.1.0.tar.gz/7890b54e7ffa6106ffbdfda53f47fa41/vsftpd-2.1.0.tar.gz 

 

tar xvfz vsftpd-2.1.0.tar.gz 

 

cd vsftpd-2.1.0 

 

make && make install 

 

 

mkdir /usr/local/man/man5 

mkdir /usr/local/man/man8 

 

환경설정 파일 생성 



  • 환경설정파일 생성 (/etc/vsftpd.conf

 

Cd EXAMPLE/INTERNET_SITE/vsftpd.conf /etc

 

Ls /etc.vsftpd.conf

 

EXAMPLE/ 파일이 몇 있는지 확인 (파일만)

Cd /EXAMPLE

 

  • 접속에 따른 구분

EXAMPLE /INTERNET_SITE       익명접속(INETD방식) 백그라운드

    /INTERNET_SITE_NOINETD  익명접속(STANDALONE)포그라운드

                                                        독립모드라고도 !

 

/VIRTUAL_USERS                 가상 사용자 접속

 

Ls INTERNET_SITE

 

  1. inetd 모드로 동작하기

(텔넷 설치하고~

 

Vi /etc/xinetd.d/csftpd

Service 6 ~ 17 까지~

 

Service ftp {

                       socket_type =stream

Wait = no

User = root

 

 

  • 주의 : rpm 패치키 설치시 파일이 없으므로 생성 해주어야 한다.

 

 

  1. Standalone 모드로 동작하기

 

Cp EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc

 

/User/local/sbin/vsftpd &

 

 

Disable = yes ===> no값으로 수정

 

 

22>

 

Vi /etc/xinetd.d/vsftpd

 

Disavle   = yes 저장

 

Service xinetd restart

 

Cp EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc

 

/User/local/sbin/vsftpd &

 

 

 

 

  • FTP 동작으로 확인
  1. Telnet으로 확인

 

Telnet localhost 21

 

User ftp

 

  1.  

Pass 123@abc.com

 

Netstat -a |

 

:
Posted by God Seed
2014. 12. 10. 15:08

6/24~26 CentOS / SENDMAIL SERVER IT 스터디/리눅스 Cent OS2014. 12. 10. 15:08

 

[SENDMAIL SERVER] 

 

 

홈페이지  http://www.sendmail.org 

 

 

 

1. 패키지설치 

 

yum install sendmail sendmail-cf sendmail-devel sendmail-doc -y

 

yum remove -y sendmail* 

 

 

 

A(MUA)>MTA서버-x-MTA서버>B

spool                    <<반응    1. 유저x    2. 수신거부

임시저장디렉터리

 

 

<참고자료>

HELO 

일반적으로 도메인 이름을 사용하여 클라이언트 자체를 식별하기 위해 클라이언트에서 보냅니다

 

EHLO 

서버에서 ESMTP(Extended Simple Mail Transfer Protocol) 명령에 대한 자체 지원을 식별할  있도록 합니다.  

 

MAIL FROM 

메시지를 보낸 사람을 식별하며 MAIL FROM: 형식으로 사용됩니다

 

RCPT TO 

메시지 받는 사람을 식별하며 RCPT TO: 형식으로 사용됩니다

 

TURN 

클라이언트와 서버가 역할을 전환할  있으며  연결을 설정하지 않고 반대 방향으로 메일을 보낼  있습니다

 

ATRN  

ATRN(인증된 TURN) 명령은 하나 이상의 도메인을 매개 변수로 사용할  있습니다세션이 인증되지 않은 경우에는 ATRN 명령은 거부되어야 합니다

 

SIZE 

SMTP 서버에서 지원되는 최대 메시지 크기를 표시할  있는 메커니즘을 제공합니다호환 서버는 수락할  있는 최대 메시지 크기를 표시하는 크기 확장을 제공해야 합니다클라이언트에서는 서버가 표시하는 크기보다  메시지를 보낼  없습니다

 

ETRN 

SMTP 확장. ETRN 다른 서버에서 자체 전자 메일 메시지를 모두 보내도록 요청하기 위해 SMTP 서버가 보냅니다

 

PIPELINING 

 명령 이후 응답을 기다리지 않고 명령 스트림을 보낼  있습니다

 

CHUNKING 

DATA 명령을 대체하는 ESMTP 명령 명령은 SMTP 호스트가 데이터의 끝부분을 계속적으로 검사하지 않도록 BDAT 명령을 메시지의 전체 바이트 수가 포함된 인수와 함께 보냅니다받는 서버에서 메시지 바이트를 계산하고 메시지 크기가 BDAT 명령으로 보낸 값과 같은 경우 서버는 모든 메시지 데이터를 받았다고 가정합니다

 

DATA 

클라이언트에서 메시지 내용 전송을 초기화하기 위해 보냅니다

 

DSN 

배달 상태 알림을 사용할  있는 ESMTP 명령입니다

 

RSET 

전체 메시지 트랜잭션을 무효화하고 버퍼를 다시 설정합니다

 

VRFY 

사서함을 메시지 배달용으로 사용할  있는지 확인합니다예를 들어 vrfy ted 사용하여 로컬 서버에 Ted 사서함이 있는지 확인합니다 명령은 Exchange 구현  기본적으로 해제됩니다

 

HELP 

SMTP 서비스에서 지원하는 명령 목록을 반환합니다

 

QUIT 

세션을 종료합니다

 


 

 

 

 

 

 

 

2. 소스 컴파일 (sendmail.8.14.3.tar.gz) 

 

yum install openldap-devel cyrus-sasl-devel db4-devel tcp_wrappers-devel 

 

 

wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.3.tar.gz 

 

 

 

tar xvfz sendmail.8.14.3.tar.gz 

 

cd sendmail.8.14.3 

 

                                      그레이브 `````````````````````````````````````````````````` 

*사전작업있음            작은따옴표    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 

 

cat > devtools/Site/site.config.m4 

 

define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX -DLDAPMAP') 

 

define(`confENVDEF', `-I/usr/include/db4 -I/usr/include/sasl -DXDEBUG=0 

-DTCPWRAPPERS -DSASL=2 -DSTARTTLS') 

 

define(`confLIBS', `-lnsl -lwrap -lldap -llber -lsasl2 -lcrypt -lssl -lcrypto 

-ldb-4.3') 

 

APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS -DSASL -DFALSE=0 

-DTRUE=1') 

 

APPENDDEF(`conf_sendmail_LIBS', `-ssl -lcrypto -lsasl2') 

 

 

APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER') 

 

APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER') 

 

 

 

 

 

 

./configure 아님 --------> sh Build 명령으로 대체됨 

 

 

 

 

sendmail 데몬 

 

 

#!/bin/bash 

# sendmail      This shell script takes care of starting and stopping 

#               sendmail. 

# chkconfig: 2345 80 30 

# description: Sendmail is a Mail Transport Agent, which is the program \ 

#              that moves mail from one machine to another. 

# processname: sendmail 

# config: /etc/mail/sendmail.cf 

# pidfile: /var/run/sendmail.pid 

 

# Source function library. 

. /etc/rc.d/init.d/functions 

# Source networking configuration. 

. /etc/sysconfig/network 

 

# Source sendmail configureation. 

if [ -f /etc/sysconfig/sendmail ] ; then 

. /etc/sysconfig/sendmail 

else 

DAEMON=no 

QUEUE=1h 

fi 

 

# Check that networking is up. 

[ ${NETWORKING} = "no" ] && exit 0 

 

[ -f /usr/sbin/sendmail ] || exit 0 

 

RETVAL=0 

prog="sendmail" 

 

start() { 

    # Start daemons. 

    if [ "$DAEMON" = yes ];then 

echo -n $"Starting $prog: " 

/usr/bin/newaliases > /dev/null 2>&1 

if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then 

  make -C /etc/mail -s 

else 

  for i in virtusertable access domaintable mailertable ; do 

    if [ -f /etc/mail/$i ] ; then 

makemap hash /etc/mail/$i < /etc/mail/$i 

    fi 

  done 

fi 

daemon /usr/sbin/sendmail ${DAEMONOPTIONS:-} -bd \ 

$([ -n "$QUEUE" ] && echo -q$QUEUE) 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail 

if ! test -f /var/run/sm-client.pid ; then 

echo -n $"Starting sm-client: " 

touch /var/run/sm-client.pid 

chown smmsp:smmsp /var/run/sm-client.pid 

daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \ 

$([ -n "$QUEUE" ] && echo -q$QUEUE) 

RETVAL=$? 

        echo 

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client 

        fi 

 

return $RETVAL 

    fi 

 

stop() { 

    # Stop daemons. 

    if [ "$DAEMON" = yes ];then 

echo -n $"Shutting down $prog: " 

killproc sendmail 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail 

if test -f /var/run/sm-client.pid ; then 

echo -n $"Shutting down sm-client: " 

killproc /usr/sbin/sendmail 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid 

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client 

fi 

return $RETVAL 

    fi 

 

# See how we were called. 

case "$1" in 

  start) 

start 

;; 

  stop) 

stop 

;; 

  restart|reload) 

stop 

start 

RETVAL=$? 

;; 

  condrestart) 

if [ -f /var/lock/subsys/sendmail ]; then 

    stop 

    start 

    RETVAL=$? 

fi 

;; 

  status) 

status sendmail.sendma 

RETVAL=$? 

;; 

  *) 

echo $"Usage: $0 {start|stop|restart|condrestart|status}" 

exit 1 

esac 

 

exit $RETVAL 

 

 

---------------------------------------------------------------------------------------------- 

 

mkdir -p /usr/man/man1 /usr/man/man8 

 

useradd -d /dev/null -s /sbin/nologin smmsp 

 

 

sh Build install 

 

 

sendmail -d0.1 -dv < /dev/null           명령으로 설치 점검해준다. 

 

확인사항 ==> SASL v2와 STARTTLS가 있는지 확인해준다. 

 

 

 

*만약 위의 두 파일이 없다면 

 

cat > devtools/Site/site.config.m4   구문오류임 

 

------------------------------------------------- 

 

*/etc/mail 디렉토리에 빈파일 생성(메일데몬이 참조함) 

 

touch /etc/mail/local-host-names  

touch /etc/mail/trusted-users 

touch /etc/mail/access 

touch /etc/mail/mailertable 

touch /etc/mail/aliases 

 

 

 

* 스풀디렉토리와 저장 디렉토리 생성 

 

mkdir /var/spool/mail 

mkdir /var/spool/mqueue 

mkdir /var/spool/clientmqueue 

mkdir /var/log/mail 

 

touch /var/log/mail/statistics 

 

chmod 600 /var/log/mail/statistics 

chmod 770 /var/spool/clientmqueue 

chmod 700 /var/spool/mqueue 

 

chown root.mail /var/spool/mqueue/ 

chown smmsp.smmsp /var/spool/clientmqueue 

chown root.mail /var/spool/mail 

 

 

 

*/etc/init.d/sendmail 생성      메일 데몬 스크립트 작성 

 

#!/bin/bash 

# sendmail      This shell script takes care of starting and stopping 

#               sendmail. 

# chkconfig: 2345 80 30 

# description: Sendmail is a Mail Transport Agent, which is the program \ 

#              that moves mail from one machine to another. 

# processname: sendmail 

# config: /etc/mail/sendmail.cf 

# pidfile: /var/run/sendmail.pid 

 

# Source function library. 

. /etc/rc.d/init.d/functions 

# Source networking configuration. 

. /etc/sysconfig/network 

 

# Source sendmail configureation. 

if [ -f /etc/sysconfig/sendmail ] ; then 

. /etc/sysconfig/sendmail 

else 

DAEMON=no 

QUEUE=1h 

fi 

 

# Check that networking is up. 

[ ${NETWORKING} = "no" ] && exit 0 

 

[ -f /usr/sbin/sendmail ] || exit 0 

 

RETVAL=0 

prog="sendmail" 

 

start() { 

    # Start daemons. 

    if [ "$DAEMON" = yes ];then 

echo -n $"Starting $prog: " 

/usr/bin/newaliases > /dev/null 2>&1 

if test -x /usr/bin/make -a -f /etc/mail/Makefile ; then 

  make -C /etc/mail -s 

else 

  for i in virtusertable access domaintable mailertable ; do 

    if [ -f /etc/mail/$i ] ; then 

makemap hash /etc/mail/$i < /etc/mail/$i 

    fi 

  done 

fi 

daemon /usr/sbin/sendmail ${DAEMONOPTIONS:-} -bd \ 

$([ -n "$QUEUE" ] && echo -q$QUEUE) 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail 

if ! test -f /var/run/sm-client.pid ; then 

echo -n $"Starting sm-client: " 

touch /var/run/sm-client.pid 

chown smmsp:smmsp /var/run/sm-client.pid 

daemon --check sm-client /usr/sbin/sendmail -L sm-msp-queue -Ac \ 

$([ -n "$QUEUE" ] && echo -q$QUEUE) 

RETVAL=$? 

        echo 

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sm-client 

        fi 

 

return $RETVAL 

    fi 

 

stop() { 

    # Stop daemons. 

    if [ "$DAEMON" = yes ];then 

echo -n $"Shutting down $prog: " 

killproc sendmail 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail 

if test -f /var/run/sm-client.pid ; then 

echo -n $"Shutting down sm-client: " 

killproc /usr/sbin/sendmail 

RETVAL=$? 

echo 

[ $RETVAL -eq 0 ] && rm -f /var/run/sm-client.pid 

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sm-client 

fi 

return $RETVAL 

    fi 

 

# See how we were called. 

case "$1" in 

  start) 

start 

;; 

  stop) 

stop 

;; 

  restart|reload) 

stop 

start 

RETVAL=$? 

;; 

  condrestart) 

if [ -f /var/lock/subsys/sendmail ]; then 

    stop 

    start 

    RETVAL=$? 

fi 

;; 

  status) 

status sendmail.sendma 

RETVAL=$? 

;; 

  *) 

echo $"Usage: $0 {start|stop|restart|condrestart|status}" 

exit 1 

esac 

 

exit $RETVAL 

 

저장. 

 

 

* /etc/mail/sendmail.mc    /etc/mail/sendmail.cf  파일 생성 

 

sendmail.mc는 샘플로 대체한다. 

sendmail.cf는 sendmail.mc 파일로 생성해준다. 

 

 

cd /etc/mail 

 

vi sendmail.mc 

 

Line2 수정 --> tar.gz 압축해제한 소스디렉토리 경로를 지정해준다. 

 

include(`/root/0624/sendmail-8.14.4/cf/m4/cf.m4')dnl 

 

 

------------------------------------------------ 

 

/etc/sysconfig/sendmail 파일 생성 

 

cat > /etc/sysconfig/sendmail 

DAEMON=yes 

QUEUE=1h 

 

------------------------------------------------- 

데몬 실행 

 

service sendmail start 

 

------------------------------------------------- 

 

동작 테스트 

 

telnet localhost 25 

 

help 

 

ehlo root 

 

MAIL FROM:<자기계정@naver.com> 

 

RCPT TOL<자기계정@nate.com> 

 

DATA 

보내는 메시지 작성 

 

QUIT 

 


:
Posted by God Seed

오전 11:18 2014-06-19 

 

APM 설치 

 

Apache + PHP + MySQL 

 

 

1. 아파치 (웹서버) 

 

홈페이지   http://www.apache.org 

               http://www.apache.or.kr 

               http://www.apache-kr.org/ 

 

파일서버    ftp://ftp.apache-kr.org 

               ftp://mirror.apache.or.kr 

                

 

2. PHP (웹언어) 

 

홈페이지   http://www.php.net 

 

 

 

3. MySQL (웹 DB) 

 

홈페이지   http://www.mysql.org 

 

 

 

 

 

http://www.apache.org 

http://www.php.net 

http://www.mysql.org 

 

 

 

*웹서버 테스트 

 

service httpd restart 한 후에 웹브라우저를 실행하고 주소창에 

 

http://localhost 입력하면 아파치페이지가 보인다. 

 

 

vi /etc/httpd/conf/httpd.conf 

 

 

265 Line 주석제거 후 자신의 도메인으로 수정한다. 

 

#ServerNAme www.bluescreen.com:80 

 

 

355/362 Line 수정 

 

UserDir disable           ---> 주석처리 

#UserDir public_html   ---> 주석제거 

 

수정후 

#UserDir disable 

UserDir public_html 

 

 

370 Line  주석 모두제거 

 

<Directory> 

~~~~~~~~~~~~~~~~~ 

</Directory> 

 

 

 

391 Line 수정 

 

DirectoryIndex index.html index.php 

 

 

769 Line 빈공간에 아래의 구문 추가입력 

 

Addtype   application/x-httpd-php    .php 

 

 

드뎌 저장. 

 

 

 

웹서버 데몬 재시작 

 

service httpd restart 

 

 

php 실행파일 생성 

 

 

cat > /var/www/html/index.php 

<?php phpinfo(); ?> 

 

저장. 

 

 

동작확인 => 웹브라우저 실행 후 주소창에 다음과 같이 입력 

                 http://자신의 도메인 

 

그라믄 php페이지창이 보일거에요 

 

 

아니면 첨부터 ~~~~~~~~~~고고!!!!!! 

 

 

 

mail server 

  1. SMTP simple mail transfer protocol 
  2. POP3 post office protocol 
  3. IMAP internet mail access protocol 
  4. MIME multipurpose internet mail extensions 
  5. MUA message user agent 메일 작성기 
  6. MDA 
  7. MTA message trensmit agent 메일 교환기 

 

 

메일 테스트 

 

telnet localhost 25 

 

help 

 

214-2.0.0       HELO    EHLO    MAIL    RCPT    DATA 

214-2.0.0       RSET    NOOP    QUIT    HELP    VRFY 

214-2.0.0       EXPN    VERB    ETRN    DSN     AUTH 

214-2.0.0       STARTTLS 

 

 

MAIL FROM:<kokavang@naver.com> 

250 2.1.0 <kokavang@naver.com>... Sender ok 

 

 

SMTP응답코드 

 

211 

시스템 상태 메시지 

214 

도움말 

220 

SMTP서비스준비 

221 

SMTP서비스 연결 종료 

250 

정상 수행됨 

251 

수신자의 이메일 주소가 로컬이 아닌 경우 메일은 전송됨 

252 

주소를 확인할 수 없음 

354 

메일 데이터를 받아 들일 수 없는 상태 

421 

요청 서비스 불가로 연결 종료 

450 

요청서비스를 실행할 수 없음 

451 

요청 서비스를 오류 발생으로 인하여 강제 종료함 

452 

디스크 공간 부족으로 요청 서비스를 실행 불가함 

500 

해당 명령을 알 수 없음 

501 

잘못된 구문 오류 

502 

해당 명령은 이 서비스에서 실행 불가 

503 

명령 순서가 올바르지 않음 

504 

주어진 값은 서비스에서 실행할 수 없음 

550 

메일박스 이용 불가 

551 

수신자 이메일 주소가 로컬이 아닌 경우 

552 

메일공간 부족으로 강제종료 

553 

유효하지 않은 메일 박스 이름 

554 

작업 실패 

 

SMTP 오류 응답 코드 

421 

Server too busy 

수신측 서버의 응답이 지연된 경우, 수신서버의 트래픽으로 인하여 메일을 받질 못하는 경우 발송자에게 리턴메일을 전송한다. 

441 4.4.1 

No answer from host 

수신측의 응답이 없어 리턴되는 경우 

451 4.4.0 

DNS resolving error 

수신측 서버의 도메인을 리졸빙하지 못해 리턴되는 경우 

451 4.3.0 

Temporary system failure 

수신측 서버의 일시적인 장애로 메일을 받지 못해 리턴되는 경우 

451 4.4.2 

Bad connection 

수신측 서버의 응답이 없어 응답시간 초과로 인해 리턴되는 경우 

451 

Relay  Server Not Ready 

수신측 서버의 메일 릴레이를 허용하지 않는 경우 

452 4.4.5 

Insufficient disk space 

수신측 서버의 메일 공간이 부족할 경우 

501 5.1.8 

Sender domain must exist 

수신측 도메인이 존재하지 않는 경우 

505 

Authentication required 

인증이 필요한 경우 

512 5.1.2 

Bad destination system address 

수신측 서버의 장애로 인하여 응답이 없는 경우 

550 5.11 

Suspended user 

수신측 사용자의 계정이 정지된 경우 

550 5.1.2 <이메일주소> 

Unsuspended mail destination 

수신측 서버의 응답이 지연되고 있는 경우 

550 5.1.1 (이메일주소> 

Relaying Denied 

메일 릴레이를 허용하지 않는 경우 

550 <RCPT> 

ERROR, Mailbox doesn't exist 

메일박스가 존재하지 않는 경우 

553 5.3.0 <이메일주소> 

spam 

수신측 서버에서 발신자의 주소가 스팸처리 되는 경우 

553 

sorry, that domain insn't my list of allowed rcpt hosts 

수신측 서버에서 허용하는 발신자의 도메인이 아닌 경우 

554 5.3.2 

Rejected by mailbox host 

수신자가 발신자의 메일을 수신 거부하는 경우 

 

 

 

 


 

 

 

 

 

 

 

:
Posted by God Seed

2014-06-18 오전 9:14  

 

------------------------------------------------ 

 

*네임서버 설정파일들 

 

Resolver 

 

1) /etc/host.conf        해석 순서지정 

2) /etc/resolv.conf 도메인네임서버 지정 

 

 

 

Name Daemon 

 

1) /var/named/etc 

2) /var/named/chroot/var/named/etc    

3) /var/named/chroot/var/named/도메인.zone 

4) /var/named/chroot/var/named/named.ca      캐시서버전용 

5) /var/named/chroot/var/named/도메인.rev 

6) /var/named/chroot/var/named/named.local   루프백용 

 

 

Bind Syslog 

 

1) /var/named/named_dump.db 

2) /var/named/name_stats 

 

 

---------------------------------------------- 

 

 

 

네임서버 소스설치 

 

yum remove -y bind* 

 

 

홈페이지 : http://www.isc.org 

 

 

wget ftp://ftp.isc.org/isc/bind9/9.6.1b1/bind-9.6.1b1.tar.gz 

 

 

tar xvfz bind-9.6.1b1.tar.gz 

 

cd bind-9.6.1b1 

 

./configure --with-libtool  

                --with-openssl=/usr 

                --localstatedir=/var 

                --enable-threads 

 

make && make install 

 

 

 

----------------------------------------------- 

[Master - Slave] 

 

 

/var/named/chroot/etc/named.rfc1912.zones 

 

*Master의 경우 

zone "pinkscreen.com" IN { 

type master; 

file "pinkscreen.zone"; 

allow-update { slave아이피입력; }; 

}; 

 

 

*Slave의 경우 

zone "pinkscreen.com" IN { 

type slave; 

file "slaves/pinkscreen.zone"; 

masters { master아이피입력; }; 

}; 

 

/var/named/chroot/var/named/slave 디렉토리에 마스터의 

존파일이 트랜스퍼되서 넘어오는것을 확인한다. 





2014-06-19 오전 9:52  

 

 

  1. acl          엑세스리스트(접근허용할 아이피 주소) 

 

예) 

acl       "blue" { 

           192.168.0.100/24 

 

  1. rndc로 네임서버 데몬 관리하기 

슬레이브서버는 마스터서버에서 데몬 재시작이 안되었을 경우 무한정 기다린다. 

 

vi /etc/named.conf 

 

controls { 

            inet 127.0.0.1 allow { localhost; } <-아이피주소 또는 any 

            keys { 키이름; }; 

}; 

key 키이름 { 

                algorithm "hmac-md5"; 

                secret      "2398347tirjte5rw9wre"; 

}; 

 

include : 지시자(명령을 지정하는것) 포함하다 

include "/etc/rndc.key"; 

 

, rndc.key 파일의 그룹권한을 named로 수정해주어야 한다. (소유자: root/그룹: named) 

 

  1. rndc.key 생성하기 

rndc-confgen 도구를 이용하여 생성한다. 

 

rndc-confgen -a -k 키이름 

==> 

[root@localhost named]# rndc-confgen -a -k altf4 

wrote key file "/etc/rndc.key" 

*퍼미션 부여 

mv /etc/rndc.key /var/named/chroot/etc/ 

ln -s /var/named/chroot/etc/rndc.key /etc/rndc.key 

chmod 640 /var/named/chroot/etc/rndc.key 

chown root.named /var/named/chroot/etc/rndc.key 

 

3-2.  dnssec-keygen 도구를 사용한 공유키생성 

 

       dnssec-keygen -a hmac-md5 -b 256 -n HOST 키이름  

 

예) 

       dnssec-keygen -a hmac-md5 -b 256 -n HOST ctrlf4 

Kctrlf4.+157+54601.key 

ctrlf4. IN KEY 512 3 157 V7w0AhsqHVsdhGt5vz1O1c+z1PqhBKUszgJ/HSUQF0g= 

 

Kctrlf4.+157+54601.private 

Private-key-format: v1.2 

Algorithm: 157 (HMAC_MD5) 

Key: V7w0AhsqHVsdhGt5vz1O1c+z1PqhBKUszgJ/HSUQF0g= 

Bits: AAA= 

:
Posted by God Seed

2014-06-16 오후 12:40  

vi /etc/xinetd.d/swat 

 

 

service swat { 

port = 901 

sockey_type = stream 

wait = no 

only_from = 클라이언트 아이피를 적어준다(관리용) 

user = root 

server = /usr/local/samba/sbin/swat 

log_on_failure += USERID 

disable = no 

 

 

 

 

웹민 설치 

 

http://www.webmin.com 

 

설치디렉토리 => /usr/src/redhat/SOURCES 

 

mkdir -p /usr/src/redhat/SOURCES 

 

rpm -ivh webmin-1.690-1.src.rpm 

 

웹브라우저 실행 ==> http://localhost:10000 

 

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

 

[Name Server = BIND] 

 

설치프로그램 

 

yum install -y bind 

                    bind-utils 

                    bind-libs 

                    bind-chroot 

                    caching-nameserver 

 

 

rpm -qa | grep bind 

 

 

1) 환경설정 

 

ln -s /var/named/chroot/etc/named.caching-nameserver.conf /etc/named.conf 

 

vi /etc/named.conf 

 

options { 

listen-on port 53 { any; }; 

listen-on-v6 port 53 { ::1; }; 

directory   "/var/named"; 

dump-file   "/var/named/data/cache_dump.db"; 

statistics-file "/var/named/data/named_stats.txt"; 

memstatistics-file "/var/named/data/named_mem_stats.txt"; 

 

allow-query     { any; }; 

allow-query-cache { any; }; 

 

match-clients      { any; }; 

match-destinations { any; }; 

 

저장. 

 

 

 

 

 

2)zone 파일 설정 

 

vi /var/named/chroot/etc/named.rfc1912.zones 

 

zone "도메인명" IN { 

type master/slave/hint; 

file "도메인.zone"; 

allow-update { none; }; 

}; 

 

 

ex) 

zone "bluescreen.com" IN { 

type master; 

file "bluescreen.zone"; 

allow-update { none; }; 

}; 

 

 

 

zone "0.168.192.in-addr.arpa" IN { 

         type master; 

         file "bluescreen.rev"; 

         allow-update { none; }; 

}; 

 

 

 

 

3) zone 파일 생성 

 

cd /var/named 

 

cp /var/named/localhost.zone bluescreen.zone 

 

vi /bluescreen.zone 

 

$TTL    86400 

@               IN SOA  @       root ( 

                                        42           ; serial (d. adams) 

                                        3H           ; refresh 

                                        15M         ; retry 

                                        1W           ; expiry 

                                        1D )         ; minimum 

 

                IN NS           ns.bluescreen.com. 

 

@ A 192.168.0.100 

www A 192.168.0.150 

ftp A 192.168.0.200 

 

역방향일 경우 

도메인을 아이피로 매핑 

AAAA 

IPv6의 A레코드 

PTR 

아이피를 도메인으로 매핑 

NS 

네임서버를 지칭 

MX 

메일서버를 지칭 

CNAME  

별칭으로, 도메인을 도메인으로 매핑 

  

 

 

4) 자신의 DNS 서버주소를 자신으로 수정한다. 

 

vi /etc/resolv.conf 

nameserver 192.168.0.100 

 

 

 

 

 

5) 네임서버 데몬 재실행   *현재 방화벽 사용 

 

service named restart 

 

 

 

6) 동작확인 

 

host www.bluescreen.com  (정방향 확인할 경우) 

 

www.bluescreen.com has address 192.168.0.100 

 

 

host 192.168.0.100  (역방향 확인할 경우) 

 

192.168.0.100 has address www.bluescreen.com 

 

:
Posted by God Seed

 

2014-06-10 오전 10:02 2014-06-10 

 

 

[samba] 

 

홈페이지 :   http://www.samba.org 

                 ftp://ftp.samba.org 

 

 

 

*패키지확인 

 

rpm -qa | grep samba 

 

 

 

*패키지설치 

 

yum install samba 

 

 

 

*소스설치(단, RPM 패키지를 먼저 제거해주어야 한다.) 

 

yum remove samba* 

 

rpm -qa | grep samba 

 

wget ftp://ftp.samba.org/pub/samba/samba-3.3.16.tar.gz 

 

tar xvfz samba-3.3.16.tar.gz             

 

cd samba-3.3.16 

 

cd source 

 

./configure --prefix=/usr/local/samba  

                --sysconfdir=/etc/samba 

 

make && make install 

 

 

*소스컴파일후 사후작업 

 

cd samba-3.3.16 

 

cp examples/smb.conf.default  /usr/local/samba/lib/smb.conf 

 

ln -s /usr/local/samba/lib/smb.conf  /etc/samba/smb.conf 

 

cp packaging/Example/samba.init  /usr/sbin/samba 

 

cp packaging/Example/samba.init  /etc/init.d/smb 

 

chmod 755 /usr/sbin/samba  /etc/init.d/smb 

 

 

ln -s /usr/local/samba/lib/libtalloc.so.1  /usr/lib/libtalloc.so.1 

ln -s /usr/local/samba/lib/libtdb.so.1  /usr/lib/libtdb.so.1 

ln -s /usr/local/samba/lib/libwbclient.so.0  /usr/lib/libwbclient.so.0 

 

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

 

[삼바 서버 /클라이언트]

 

 

 

 

 

 

:
Posted by God Seed

2014-06-09 오전 11:11  

 

NFS 

 

리눅스 - 리눅스의 파일공유 

 

마운트 개념 : 서버의 디렉터리를 클라이언트에 옮겨서 사용 - 실시간 동기화 

보안에 취약하므로 설정에 주의하여야 함. 

 

exporting(내보내기) 서버가 자신의 디렉터리를 클라이언트로 하여금 가져갈 수 있도록 허용하는 행위 

 

설치 : yum install -y nfs-utils portmap 

 

설치 확인 : rpm -qa | grep nfs 

               rpm -qa | grep portmap 

 

방화벽 설정 (/etc/sysconfig/iptables) 

 

방화벽 (/etc/sysconfig/iptables) 

방화벽을 사용하지 않는 경우에는 이 파일이 비어있다.(=>setup) 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p 

tcp --dport 2049 -i eth0 -j ACCEPT 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p 

udp --dport 2049 -i eth0 -j ACCEPT 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p 

tcp --dport 111 -i eth0 -j ACCEPT 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p 

udp --dport 111 -i eth0 -j ACCEPT 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p 

tcp --dport 40000:60000 -i eth0 -j ACCEPT 

 

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p 

udp --dport 40000:60000 -i eth0 -j ACCEPT 

 

 

*방화벽 재시작 

service iptables restart 

 

 

*vi /etc/exports 설정 

 

 

*서버에서 nfs 데몬 재시작 

 

service portmap restart 

service nfs restart 

 

*NFS 동작확인 

rpcinfo -p 

프린트내용중에서 nfs와 portmap이 보이면 성공 

 

 

*클라이언트에서 마운트 설정 

 

mount -t nfs 서버아이피:공유디렉토리  마운트디렉토리 

 

 

 

[실습] NFS를 이용한 리눅스 원격설치 

 

 

*설치모드로 진입 

 

boot: linux askmethod 

 

:
Posted by God Seed

2014-06-03 오전 9:12  

 

 

/root/.ssh 

Vi known_hosts (ssh로 접속했을 경우

원격지주소 

암호화방식(RSA, DES) 

암호화된 패스워드 값 

Man - in -the middle attack 

위 변조의 위험이 있는 경고 

 

공격의 위험을 감지 하였을 경우 known_hosts를 통째로 삭제할 것. 

 

 

레드헷 설치 프로그램 

  1. 자동설치프로그램 => 확장자 .rpm or yum 
  2. 수동설치프로그램 => 확장자 .tar.gz  or  

 

참고 홈페이지 

 

 

Scp : 원격복사 

Sftp :  

 

처음으로 소스컴파일(수동설치)을 하는 경우에는 

C프로그래밍과 관련된 패키지가 없으므로 yum으로 설치해준다. 

 

소스컴파일(수동설치) 제거 

Make clean 

 

소스 컴파일시 설치되는 파일들 

/etc/ssh 

           ssh_config                   : 클라이언트 설정파일 

           sshd_config                 : 서버설정파일  

           ssh_host_dsa_key          : DSA 암호화된 개인키(서버) 

           ssh_host_dsa_key.pub    : DSA 암호화된 공개키(클라이언트) 

           ssh_host_rsa_key           : RSA 암호화된 공개키 

           ssh_host_rsa_key.pub      : RSA 암호화된 공개키 

 

/usr/local/bin                           

             scp                          : 원격전송프로그램 

             ssh                          : 클라이언트프로그램 

             ssh-keygen               : 키 생성 프로그램 

             ssh-agent                 : 인증대리인 

             ssh-add                    : 인증대리인+Identity추가 

             sft                           : sftp 프로그램 

 

/usr/local/sbin                         

             sshd                        : 서버프로그램 (d로 끝나면 : 데몬) 

 

 

오늘 사용한 명령어 history 

ssh 192.168.0.43 

exit 

su root 

exit 

ssh localhost 

cd /home 

cd 21-3 

ll 

su 21-3 

ssh 192.168.0.57 

cd .ssh 

ll 

vi known_hosts  

exit 

cd .ssh 

ll 

rm -f known_hosts  

wget ftp://ftp.kaist.ac.kr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz (카이스트대학 서버에서 다운) 

yum remove -y openssh* (기존 버전 삭제) 

tar xvfz openssh-5.2p1.tar.gz (받은 압축파일 해제) 

yum install -y zilb-devel libgcrypt-devel openssl-devel pam-devel (보안관련요소 설치) 

./configure --prefix=/usr/local --sysconfdir=/etc/ssh --with-pam (ssh 설치) 

make && make install (소스 컴파일) 

make clean   (프로그램 제거) 

 

 

보안키 생성(RSA/DSA) 

 

/usr/local/bin/ssh-keygen -t rsa 

 

 

 

 

서버 환경설정(/etc/ssh/sshd_config)  

 

#vi (~) 입력 하면... 

 

포트 : 22 

 

#Protocol 2,1 

Protocol 2 

#AddressFamily any 

#ListenAddress 0.0.0.0 (ipv4) 

#ListenAddress ::   (ipv6) 

  

# HostKey for protocol version 1 

#HostKey /etc/ssh/ssh_host_key 

# HostKeys for protocol version 2 

#HostKey /etc/ssh/ssh_host_rsa_key 

#HostKey /etc/ssh/ssh_host_dsa_key 

#KeyRegenerationInterval 1h  : 자동으로 생성키의 유효시간이다.  

                                         해킹방지용으로 0값은 무한대이다. 

#ServerKeyBits 768  : 최소값을 512, 기본값은 768개의 암호길이 

#SyslogFacility AUTH 

SyslogFacility AUTHPRIV   syslog : 데몬에 의한 로그 관리, 기본값은 AUTH 

#LogLevel INFO  : 기본값은 INFO 

                         Quiet(기록하지 않음) 

                         FATAL(치명적인 오류) 

                         ERROR, VERBOSE, DEBUGS…(에러 관련) 

#LoginGraceTime 2m  : 로그인 유효시간, 0값은 무제한/ 설정 후 service sshd(데몬명) restart 

#PermitRootLogin yes  : 수퍼계정으로 로그인 가능/불가능 

#StrictModes yes  : 로그인에 앞서 SSHD 데몬이 홈디렉토리 소유권과 원격호스트의 파일들을 체크할 수 있도록 한다. 

#MaxAuthTries 6  : 접속당 최대 인증회수 제한, 기본값은 6이며, 3회 이상 인증 실패 시 로그가 기록 됨 

                        /var/log/btmp 

 

 

 

서버 설치 

패키지 확인 

Rpm -qa | grep 패키지명 

패키지 설치 

Yum또는 wget 또는 tar 

환경설정 

/etc/~~~~~~~ 

방화벽 설정 

/etc/sysconfig/iptables 

데몬 재시작 

Service 데몬명 restart 

 

 

 

방화벽설정  (vi /etc/sysconfig/iptables) 

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 

보안관련 설정 시 유용, dport메뉴가 중요 

 

 

인증방식 

  1. 서버인증 

SSH서버에서 생성된 공개키를 클라이언트 시스템에 저장하여 

다음번 서버에 접속하였을 경우 공개키가 서버와 동일한 지를 

확인하여 인증하는 방식이다. 

 

  1. 클라이언트 인증 
  • 패스워드 방식 

/etc/ssh/sshd_config항목에서 

PasswordAuthentification   yes 

위 방식을 사용하지 않을 경우에는 yes -> no값으로 변경한다. 

 

  • 공개키 인증방식 

Ssh-keygen으로 RSA/DSA 공개키와 개인키를 생성한 후 

Scp와 Sftp를 사용하여 클라이언트에게 안전하게 전송한다. 

파일 저장 위치 : ~/.ssh/    ~ : /home/로그온계정명 

 

공개키 암호화 방식 성공수비 

송신자의 공개키 -----------> 수신자의 비밀키(개인키) 

 

두 개의 키 중 id_rsa.pub공개키를 scp나  sftp를 이용하여 

서버의 사용자 홈 디렉터리에 전송한다. 

 

Vi etc/ssh/sshd_config 

 

PasswordAuthentification   no 

PubkeyAuthentification      yes 

AuthorizedKeysflie           .ssh/authorized 

 

 

  • 호스트 기반 인증방식 
  • PAM인증방식 (보안의 핵심 : 이중 암호화) 

 

 

2014-06-05 오전 10:10  

호스트 인증방식 (Host-based Authentification) 

 

호스트 인증은 클라이언트의 공개키를 서버의 known_hosts파일에 저장하여 공개키가 일치하는 클라이언트의 접속이 있을 때 패스워드 없이 접속할 수 있도록 해준다. 

 

개인키 /etc/ssh/ssh_host_rsa.key 

공개키 /etc/ssh/ssh-host_rsa.key.pub 

 

1)클라이언트 설정 

Ssh-keygen -t rsa 

 

Vi /etc/ssh/ssh_config 수정 

 

EnableSSHKeygen                yes 

HostbasedAuthentifiication    yes 

 

2)서버설정 

 

scp나 sftp를 사용하여 클라이언트의 공개키를 업로드/전송한다. 

 

 

 

PAM인증방식 

vi /etc/ssh/sshd_config 수정 

 

USerPAM                                     yes 

ChellengeResponseAuthentication     yes 

 

 

 

 

 

 

SSH의 특징 

  1. SCP{를 이용한 파일전송 

사용법 

scp 계정@서버주소:복사할파일명 저장파일명 

 

 

 

NFS SERVER (Network File System) 

썬마이크로시스템즈에서 개발한 TCP/IP프로토콜로 리눅스 운영체제 간에 파일을 상호 공유하고자 할 때 사용된다. 

  • 원격서버의 특정디렉토리를 로컬디렉토리로 사용한다. 
  • CD-ROM/DVD가  없는 경우 공유를 사용한다. 
  • 웹서버를 분산시켜 동기화 할 경우에 사용한다. 

 

자바 ---> 유비쿼터스 미들웨어(지니) 

:
Posted by God Seed

2014-05-22 

 

Tar 명령을 이용한 로컬데이트 미러링 

 

 

디렉터리 생성 

 

원본 : /root/0521 

대상 :/home /backup 

:
Posted by God Seed

2014-05-16 오전 10:10  

 

백업 : 시스템의 장애 또는 데이터의 손실 및 손상이 발생하였을 때 신속한 데이터의 복구를 통하여 업무 흐름을 원할 하게 만드는것 

 

시스템 백업 

정기적인 백업(예약) -cron : 주기적 

                           -at : 일회성 

cpio, dump, tar 

 

백업의 종류 

시초백업(고스트) 

완전백업 

증본백업 

 

시스템백업의 종류 

단순백업 

다단계백업 

 

복원 

cd 0516 

 

tar xvfz Full-backup.tar.gz     1,2,3 

tar xvfz incremental1.tar.gz -g ./backuplist    4 

tar xvfz incremental2.tar.gz -g ./backuplist    5 

tar xvfz incremental3.tar.gz -g ./backuplist    5삭제 

 

 

리눅스마스터 

 

Etc/ Fstab 자동마운트 

 

 

Cpu 사용량:top 

메모리 사용량 :free 

 

Export PATH=$PATH:/Etc 

기존경로에 

현재설정된 모든경로를 포함하여 

생성 

 

 

데스크탑 관리 프로그램 

GNOME 그놈 : gnu 프로제트로 제작리눅스에 무료로 포함 + gimp(리눅스용 포토샵

KDE : 노르웨이 트롤테크 사에서 단독으로개발 (k프로젝트

 

 

전체백업 

Tar cpfz 백업 디렉토리 /백업 파일명.tar.gz 

~listed-incremental 저장할 위치/backuplist 백업파일 

 

해제 확인 

Tar xvfz 파일명.tar.gz  

 

증분백업 

 

 

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

[백업 스크립트

:증분 

:증분 

:증분 

:증분 

:증분 

:증분 

:완전 

 

새벽 세시~네시 

 

Vi /backup.sh 

 

#!/bin/bash 

 

Rdate -s time.bora.net 시간동기화 

 

:
Posted by God Seed