[root@nsBunny/home/bunny/www]# yum -y install mod_ssl

[root@nsBunny/etc/httpd/conf.d]# vi ssl.conf

LoadModule ssl_module modules/mod_ssl.so

Listen 443

<VirtualHost _default_:443>

DocumentRoot "/var/www/html"

ServerName www.xxxxxxxxxxxx.pe.kr:443

ErrorLog logs/ssl_error_log

TransferLog logs/ssl_access_log

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

[root@nsBunny/etc/httpd/conf.d]# service httpd restart

[root@ns♥Bunny♥/home/webroot]# nmap -sS -O -v -F localhost | grep 443
Discovered open port 443/tcp on 127.0.0.1
443/tcp  open  https  ==> 포트 확인

[root@ns♥Bunny♥/home/webroot]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443          www.xxxxxxxxx.pe.kr (/etc/httpd/conf.d/ssl.conf:74) ==> 확인

https://xxxxxxxxxx.pe.kr/  ==> 폐이지 보안 인증서 출력 확인

 

 

[root@nsBunny~]# vi /etc/httpd/conf/httpd.conf

LoadModule userdir_module modules/mod_userdir.so

<IfModule mod_userdir.c>

UserDir www  ==> 계정의 web루트 설정 <보통은 public_html>

<Directory /home/*/www>

    AllowOverride All

    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI

    <Limit GET POST OPTIONS>

        Order allow,deny

        Allow from all

    </Limit>

    <LimitExcept GET POST OPTIONS>

        Order deny,allow

        Deny from all

    </LimitExcept>

</Directory>

DirectoryIndex index.html index.html.var index.htm INDEX.HTML index.cgi

[root@nsBunny~]# service httpd restart

[root@nsBunny~]# su - bunny

[bunny@ns ~]$ mkdir www

[bunny@ns ~]$ chmod 711 /home/bunny

[bunny@ns ~]$ chmod 755 /home/bunny/www

[bunny@ns ~]$ cd www

[bunny@ns www]$ vi index.cgi

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

print "<html>\n<body>\n";

print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n";

print "User Test Page ( /home/bunny/www )";

print "\n</div>\n";

print "</body>\n</html>\n";

[bunny@ns www]$ chmod 705 index.cgi

만약 외부에서 폐이지가 열리지 않을경우 Selinux의 보안 설정을 0으로 해재 한다.

[root@nsBunny/etc/httpd/conf]# setenforce 0

그 다음에 계정 홈 폐이지로 접속해서 확인해 본다. 폐이지가 열리는지!

http://xxxxxxxxxxx.pe.kr/~bunny 

 

 

[root@nsBunny~]# yum -y install mysql*

[root@nsBunny~]# service mysqld start

[root@nsBunny~]# chkconfig mysqld on ==> 부팅시 자동 실행

[root@nsBunny~]# mysql -u root

è 디폴트 상태로 접속시 암호가 없기 때문에 바로 접속하지만 이 상태로 사용해서는 안된다.

보안상 큰일난다. 이제 기본적인 암호 설정 및 기본 권한 설정을 해 주어야 한다.

mysql> select user,host,password from mysql.user;

è 기본적인 서버의 정보를 출력한다.

+------+------------------+----------+

| user | host | password |

+------+------------------+----------+

| root | localhost | |

| root | ns.xxxxxxx.pe.kr | |

| root | 127.0.0.1 | |

| | localhost | |

| | ns.xxxxxxx.pe.kr | |

+------+------------------+----------+

5 rows in set (0.00 sec)

관리자 암호를 설정한다.

mysql> set password for root@localhost=password('암호 입력');

Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@'127.0.0.1'=password('암호 입력);

mysql> set password for root@'ns.xxxxxxxxxx.pe.kr'=password ('암호 입력');

Query OK, 0 rows affected (0.00 sec)

mysql> delete from mysql.user where user=''; è 보안상 공개 계정를 지운다.

Query OK, 2 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user; ==> 현재 계정 상황 출력

+------+------------------+-------------------------------------------+

| user | host | password |

+------+------------------+-------------------------------------------+

| root | localhost | *5CCE428B4922Eccc36248121627B66102AFF672B |

| root | ns.xxxxxxx.pe.kr | *5CCE428B4922Ecccc6248121627B66102AFF672B |

| root | 127.0.0.1 | *5CCE428B4922EA32Fccc8121627B66102AFF672B |

+------+------------------+-------------------------------------------+

3 rows in set (0.00 sec)

mysql> flush privileges; ==> 설정 다시 갱신

mysql> quit

[root@nsBunny~]# mysql -u root –p è 방금전에 설정한 암호로 접속해 본다.

Enter password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

mysql> è 기본 서버 설정 완료.

이제 지금까지 설정한 서버들이 재대로 돌아가는지 포트점검을 해 본다.

[root@nsBunny~]# nmap -sS -O -v -F localhost

PORT STATE SERVICE

80/tcp open http

3306/tcp open mysql è 이렇게 열려 있는지 확인한다.

[root@nsBunny~]# yum -y install php*

[root@nsBunny~]# vi /etc/httpd/conf.d/php.conf

<IfModule prefork.c>

LoadModule php5_module modules/libphp5.so

</IfModule>

<IfModule worker.c>

LoadModule php5_module modules/libphp5-zts.so

</IfModule>

########### PHP 4 확장자 호환 설정 ################

#AddType application/x-httpd-php .php4 .php3 .php .htm .html .phtml .ph .inc

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

########### PHP5 ########################

AddHandler php5-script .php

AddType text/html .php

####################################################

DirectoryIndex index.php

[root@nsBunny~]# service httpd restart

테스트 폐이지 출력

[root@nsBunny~]# vi /var/www/html/index.php

<html>

<body>

<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">

<?php

print Date("Y/m/d");

?>

</div>

</body>

</html>

http://xxxxxxx.pe.kr/index.php è 확인

[root@nsBunny~]# yum -y install httpd*

[root@nsBunny~]# rm -f /etc/httpd/conf.d/welcome.conf

[root@nsBunny~]# rm -f /var/www/error/noindex.html

[root@nsBunny~]# ln -s /usr/bin/perl /usr/local/bin/perl

[root@nsBunny~]# vi /etc/httpd/conf/httpd.conf

ServerTokens Prod

ServerRoot "/etc/httpd"

KeepAlive On

ServerAdmin bunny@xxxxxxxxx.pe.kr

ServerName www.xxxxxxxx.pe.kr:80

Options Indexes FollowSymLinks ExecCGI

AllowOverride All

# AddDefaultCharset UTF-8

AddHandler cgi-script .cgi .pl

ReadmeName README.html

HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

:wq è 저장

[root@nsBunny~]# service httpd start

부팅시 자동 시작 등록

[root@nsBunny~]# chkconfig httpd on

시험 폐이지 확인

[root@nsBunny~]# vi /var/www/html/index.html

<html>

<body>

<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">

Bunny Server Test Page

</div>

</body>

</html>

[root@nsBunny~]# vi /var/www/html/index.cgi

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

print "<html>\n<body>\n";

print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n";

print "Bunny Server CGI Test Page";

print "\n</div>\n";

print "</body>\n</html>\n";

[root@nsBunny~]# chmod 705 /var/www/html/index.cgi

http://xxxxxxxxx.pe.kr/index.cgi è 확인

[root@nsBunny~]# yum -y install vsftpd

[root@nsBunny~]# cd /etc/vsftpd/

[root@nsBunny/etc/vsftpd]# vi vsftpd.conf

### anonymous_enable=YES (default = YES). anonymous 사용자의 접속 허용 여부

anonymous_enable=NO

### local_enable=YES (default = NO). 로컬 계정 사용자의 접속 허용 여부

local_enable=YES

### write_enable=YES (defualt = NO). write 명령어 허용 여부

write_enable=YES

### local_umask=022 (default = 077). 로컬 계정 사용자용 umask

local_umask=022

### anon_upload_enable=YES (default = NO). anonymous 사용자가 파일을 업로드 할수 있는지 여부 허용시 업로드 할수있는 디렉토리를 생성해 주어야 한다.

anon_upload_enable=YES

### anon_mkdir_write_enable=YES (default = NO). anonymous 사용자의 디렉토리 생성 허용 여부

anon_mkdir_write_enable=YES

## 새로운 디렉토리에 들어갔을 때 뿌려줄 환경 메시지를 저장한 파일명

dirmessage_enable=YES

# Activate logging of uploads/downloads.

xferlog_enable=YES

### connect_from_port_20=YES Standalone 일때 포트 변경을 원할 경우 설정.

# connect_from_port_20=YES

### listen_port=2121 기본 포트외 다른 포트를 사용한다. vsftpd 서버를 재실행한다.

listen_port=1999

### chown_upload=YES 익명유저가 업로드한 파일의 소유권을 자동변경.

#chown_uploads=YES

### chwon_username=acsecret 소유권을 변경하기 원하는 유저명으로 기입

#chown_username=whoever

### xferlog 표준 포맷은 로그인, 디렉토리 생성등의 로그를 남기지 않지만

### vsftpd 스타일 로그는 이를 포함한 보다 상세한 로그를 남긴다

### xferlog_file=/var/log/vsftpd.log 파일 전송 로그 파일명

xferlog_file=/var/log/vsftpd.log

### xferlog_enable=YES (default=YES). 파일 전송 로그를 남길 것인지 여부

xferlog_enable=YES

### xferlog_std_format=YES (defalut=YES). xferlog 표준 포맷으로 로그를 남길지 여부

xferlog_std_format=YES

### idle_session_timeout=600 (default=300). 클라이언트에서 아무런 명령이 없을경우 세션을 끝낼 때까지의 대기시간.

idle_session_timeout=900

### data_connection_timeout=120 (default=60). data connection 을 끊을 대기 시간.

data_connection_timeout=200

### no_priv_user=ftp 익명(anonymous) 로그인시, 앨리어싱될 유저명 기입.

#nopriv_user=ftpsecure

### session_support=YES wtmp 에 로그 남기기 (YES 로 해야만 last 명령어로 접속 여부 확인 가능)

#session_support=YES

#async_abor_enable=YES

### ascii_upload_enable=YES ASCII 파일 업로드 가능.

#ascii_upload_enable=YES

### ascii_download_enable=YES ASCII 파일 다운로드 가능

#ascii_download_enable=YES

### FTP 서버 접속할 때 로긴 메시지 (default=버전번호). 한글 사용 가능

ftpd_banner=^^ lalalive.pe.kr FTP Server service ^^.

### deny_email_enable=YES 익명 접속시 패스워드에 일반 이메일 주소를 거부 여부

#deny_email_enable=YES

### (vsftpd.banned_emails에 지정된 이메일 주소만 허용)

#banned_email_file=/etc/vsftpd.banned_emails

### chroot_local_user=YES (default=NO). 접속시 로컬 사용자의 홈디렉토리를 /로 변경 사용자의 홈디렉토리를 벗어나지 못하도록

### 제한하기 위한 설정. 제한이 필요할 경우 YES 로 바꾼 후 제한할 사용자 ID chroot_list_file= 에 설정한 파일에 지정한다

chroot_local_user=YES

#chroot_list_enable=YES

# (default follows)

#### 주의할 것은 chroot_local_user=YES chroot_list_enable=YES 를 함께 사용할 경우 /etc/vsftpd.chroot_list에 포함된 사용자 ID

#### 제한없이 홈디렉토리를 벗어날 수 있다. (반대로 작용)

#chroot_list_file=/etc/vsftpd.chroot_list

### ls_recurse_enable=YES 디렉토리 내용 출력시 캐쉬 사용여부.

ls_recurse_enable=YES

### pam_service_name=vsftpd ==> PAM 파일명을 지정 (설치할 때 /etc/pam.d/vsftpd 명으로 복사함)

pam_service_name=vsftpd

### userlist_enable=YES /etc/vsftpd.user_list 에 있는 사용자에 대해 접근을 허가 설정.

userlist_enable=YES

## listen=YES Standalone 으로 운영할 때 listen=YES

listen=YES

tcp_wrappers=YES

##### ========= 가상유저 ==========

guest_enable=YES

### guest_username=virftp ==> 가상 유저의 실제 할당 계정

guest_username=virftp

#### user_sub_token=$USER ==> 서로 다른 홈 디렉토리를 부여하기 위해 셋팅

user_sub_token=$USER

local_root=/home/ftp2

### virftp_use_local_privs=YES 설정하지 않으면 기본 적으로 anonymous 의 권한을 가지고 화일을 생성하지 못한다.

virftp_use_local_privs=YES

### 접속자 - xinetd 를 통하지 않고 standalone으로 동작할 때만 사용 가능)

### max_clients=100 최대 접속자 수

max_clients=15

### max_per_ip=3 IP 당 접속 수

max_per_ip=2

### 전송속도 제한 (0은 제한없음, 단위는 초당 bytes)

### anon_max_rate=10000, trans_chunk_size=0 로 설정하여 chunk size vsftpd 가 판단하도록 한다.

### local_max_rate=200000 계정 사용자의 전송량 제한

local_max_rate=200000

### anon_max_rate=100000 anonymous 사용자의 전송속도 제한

anon_max_rate=100000

### trans_chunk_size=0 지정한 byte 단위로 나눠서 전송 저장한다. 0 vsftpd 가 알아서 판단한다. v1.1.3 이상에서 trans_chunk_size 옵션이 있다.

trans_chunk_size=0

[root@nsBunny/etc/vsftpd]# service vsftpd start

vsftpd에 대한 vsftpd을 시작 중: [ OK ]

[root@nsBunny/etc/vsftpd]# nmap -sS -O -v xxxxxxxxxx.pe.kr | grep ftp

21/tcp open ftp

ftp 접속시 500 OOPS: cannot ~~이라는 에러가 나오는 경우가 있는데 이건

Selinux라는 보안 장벽이 있기 때문이다. 사용하지 않는다면 상관 없지만

사용중이라면 다음과 같은 방법으로 해결한다.

[root@nsBunny/etc/vsftpd]# setsebool -P ftp_home_dir=1

[root@nsBunny/etc/vsftpd]# ftp ftp.xxxxxxxxxx.pe.kr

Trying 211.238.xxx.xxx...

Connected to ftp.xxxxxxxxxx.pe.kr (211.238.xxx.xxx).

220 (vsFTPd 2.2.2)

Name (ftp.xxxxxxxxxx.pe.kr:root): bunny

331 Please specify the password.

Password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

230 Login successful.

Remote system type is UNIX.

ftp> ls –al è 이런식으로 사용하면 된다.

[root@nsBunny/]# yum -y install openssh*

[root@nsBunny/]# cd /etc/ssh

[root@nsBunny/etc/ssh]# vi sshd_config

#### 지정된 포트로 접속시 사용가능 #####

Port 22

###### 프로토콜 방식을 결정 한다. #######

Protocol 2,1

# Protocol 1

###### 해당 인증키의 설정을 관리 #######

# 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

#LoginGraceTime 2m

##### No<ROOT접속불가> Yes<ROOT접속허가> #####

PermitRootLogin no

UsePrivilegeSeparation yes

UsePAM yes

ClientAliveInterval 300

ClientAliveCountMax 6

### ClientAliveInterval : 데이터 수신이 없을시에 클라이언트가 살아있는지 확인 신호를 보내는 간격을 시간으로 지정.

### ClientAliveCountMax : 확인 신호를 지정된 횟수만큼 보낸다는 의미.

이런식으로 주석을 풀고 설정하면 된다.

[root@nsBunny/etc/ssh]# service sshd restart

sshd 를 정지 중: [ OK ]

sshd ()를 시작 중: [ OK ]

[root@nsBunny/etc/ssh]# su - bunny

[bunny@ns ~]$ ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/home/bunny/.ssh/id_rsa):

Created directory '/home/bunny/.ssh'.

Enter passphrase (empty for no passphrase): xxxxxxxxxxxxxx

Enter same passphrase again: xxxxxxxxxxxxxxx

[bunny@ns ~]$ ssh -l root xxxxxxxxxx.pe.kr

The authenticity of host 'xxxxxxxxxx.pe.kr (211.238.xxx.xxx)' can't be established.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'xxxxxxxxx.pe.kr,211.238.xxx.xxx' (RSA) to the list of known hosts.

root@xxxxxxxx.pe.kr's password: xxxxxxxxxxxxxxxxxx

Last login: Thu Sep 13 20:46:17 2012 from 118.217.164.49

root@nsBunny~]# è 이런 방식으로 사용하는게 SSH이다.

동적 ip 할당 서버이다. 다시말해 ip 할당해서 클라이언트 컴퓨터가 네트워크를 사용할수 있게 하는 공유기 같은 역할을 하는 서버라고 할수 있다. 하지만 전제 조건이 랜카드가 2개 이상 있어야 한다. 하나는 서버가 사용하는 카드이고 하나는 내부 클라이언트가 연결할수 있는 또 하나의 랜카드가 있어야만 사용할수 있다. 무슨말인지 이해가 가셨으면 좋겠네요.

Bunny/etc]# yum -y install dhcp

Bunny/etc/init.d]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.1

NETMASK=255.255.255.00

Bunny/etc/init.d]# service network restart

Bunny/etc/init.d]# touch /var/lib/dhcpd/dhcpd.leases

Bunny/etc]# vi /etc/dhcp/dhcpd.conf

# 동적 아이피 할당 설정 파일

ddns-update-style ad-hoc;

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.10 192.168.0.200;

default-lease-time 86400;

max-lease-time 259200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option routers 192.168.0.1;

option domain-name-servers 164.124.101.2, 61.251.10.140;

option domain-name "lalalive.pe.kr";

# 지정 클라이언트 동적 아이피 지정

#host notebook {

# hardware ethernet 00:80:c8:85:xx:xx;

# fixed-address 192.168.0.15;

# option host-name "ns2.lalalive.pe.kr";

}

[root@apptreeBunny/etc]# vi /etc/rc.d/rc.firewall-2.4

#!/bin/sh

# rc.firewall-2.4

#iptables위치를 IPTABLES변수로 선언

IPTABLES=/sbin/iptables

# eth0 외부이더넷, eth1 내부이더넷

# eth0 EXTIF변수로 선언

# eth1을 INTIF변수로 선언

EXTIF="eth0"

INTIF="eth1"

echo " External Interface: $EXTIF"

echo " Internal Interface: $INTIF"

# iptables ftp사용을 위한 모듈올리기

/sbin/insmod ip_tables

/sbin/insmod ip_conntrack

/sbin/insmod ip_conntrack_ftp

/sbin/insmod iptable_nat

/sbin/insmod ip_nat_ftp

# ip_forward위한 커널매개변수변경

echo "1" > /proc/sys/net/ipv4/ip_forward

# SLIP, PPP, or DHCP의 유동IP를 위한 커널매개변수변경

# 고정IP사용자는 필요없음

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# IP forwarding과 Masquerading 설정시작

# 기존에 존재하는 rule을 지우고, 새로운 룰을 적용하기위한 정책설정

$IPTABLES -P INPUT ACCEPT

$IPTABLES -F INPUT

$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -F OUTPUT

$IPTABLES -P FORWARD DROP

$IPTABLES -F FORWARD

$IPTABLES -t nat -F

# iptables rule정책설정

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

$IPTABLES -A FORWARD -j LOG

# ip-masq설정

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

echo "Sunny 즐거워요~~~~^^"

Bunny/etc/init.d]# service network restart

Bunny/etc/init.d]# iptables -F

Bunny/etc/init.d]# sh /etc/rc.d/rc.firewall-2.4

Bunny/etc/init.d]# dhcpd eth1

이런식으로 사용하는게 DHCP서버 입니다.

서버 시간을 동기화 하고 클라이언트 시간을 마추어주는 시간 서버이다.

Bunny/etc]# yum -y install ntp

Bunny/etc]# vi /etc/ntp.conf

restrict 127.0.0.1

restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

# http://time.ewha.or.kr/domestic.html

#Server 0.centos.pool.ntp.org

#Server 1.centos.pool.ntp.org

#Server 2.centos.pool.ntp.org

server time.kriss.re.kr

server time2.kriss.re.kr

server ntp1.cs.pusan.ac.kr

server ntp2.cs.pusan.ac.kr

server ntp1.sjtel.net

server ntp2.sjtel.net

Bunny/etc]# service ntpd restart

Bunny/etc]# chkconfig ntpd on

Bunny/etc]# ntpq -p

remote refid st t when poll reach delay offset jitter

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

210.98.16.100 .INIT. 16 u - 64 0 0.000 0.000 0.000

210.98.16.101 210.98.16.100 3 u 43 64 1 7.435 1.783 0.002

ntp1.sjtel.net 192.168.18.6 2 u 43 64 1 4.781 -1.327 0.002

ntp2.sjtel.net 192.168.18.10 2 u 43 64 1 4.419 -0.353 0.002

<옵션>

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

-c 디렉토리를 포함하여 여러개의 파일들을 묶을 때 사용한다.

-x 디렉토리를 포함하여 묶인 파일의 압축을 풀겠다는 것을 tar에게 알린다.

-t tar 파일안에 있는 파일이나 디렉토리 목록을 볼 때 사용하는 옵션이다.

-f 파일명&gt; 파일을 묶을 때는 출력 파일, 파일의 압축을 풀때는 입력 파일을 이 옵션 뒤에 써 준다.
파일명에는 /dev 디렉토리 밑의 장치명이 올 수도 있다. 이 때는 그 장치명에 해당하는 장치를 출력으로

하거나 입력으로 한다.
-v 작업 진행 상황을 화면에 표시한다
-C 디렉토리 tar 동작을 개시하기 전에 명시한 디렉토리로 디렉토리를 바꾼 후 작업한다.
기본적으로 현재 디렉토리를 대상으로 작업하지만 다른 디렉토리에 압축을 풀 때 유용한 옵션이다.
-M -f 옵션 뒤에 미디어 장치명(플로피나 DAT같은)이 올 때 멀티 볼륨 백업을 하거나 복원할 때 사용한다.
파일이 많아서 한장의 미디어로 모든 파일을 백업이나 복원할 수 없을 때 사용한다.
-G 이 옵션은 부분 백업(incremental backup)할 때 사용한다. 부분 백업은 어떤 기준을 정하고
그 기준과 다른 파일들만 부분적으로 백업하는 것을 말한다.
-V 볼륨명을 정한다. 현재 백업되어 묶인 파일에 특별한 이름을 부여하는 것이다.
-N 지정된 날짜 이후에 만들어진 파일이나 디렉토리를 대상으로 한다.

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

로컬에서 백업하여 원격으로 바로 옮기는 경우

[root@lalalive*BunnyCOM2*/chroot]# tar cvfzp - /chroot/ | ssh bunny@lalalive.pe.kr "cat > ./home.tgz"

[root@lalalive*BunnyCOM2*/chroot]# tar cvfzp - /home | ssh bunny@lalalive.pe.kr "cat > /dev/tape"

[root@lalalive*BunnyCOM2*/chroot]# tar cvfzp - /chroot/ | ssh bunny@lalalive.pe.kr "cd /home/sunny; mv chroot chroot2; tar xvfzp -"

[root@lalalive*BunnyCOM2*/chroot]# ssh bunny@lalalive.pe.kr "cd /home/sunny ; tar xvfzp -" < /mnt/disk_backup1/sy.tar.gz

[root@lalalive*BunnyCOM2*/chroot]# ssh bunny@lalalive.pe.kr " cat my.tgz" | tar xvfzp –

[root@lalalive*BunnyCOM2*/chroot]# tar cvf myTemp.tar tmp *.tar로 묶을 때

[root@lalalive*BunnyCOM2*/chroot]# tar xvf myTemp.tar *.tar로 묶은 파일 풀 때

[root@lalalive*BunnyCOM2*/chroot]# tar xvf myTemp.tar -C /Sunny/last 원하는 곳에 풀 때

[root@lalalive*BunnyCOM2*/chroot]# tar cvMf /dev/st0 -N \'3 Oct 2003\' /Sunny &gt; -V \"backup from 3 Oct 2003\" -G /e

-M은 여러장 백업시 사용하고 -G는 부분백업을 할대 사용한다.

[root@lalalive*BunnyCOM2*/chroot]# tar cfz - 압축할디렉터리 | split -b 2000m - 압축파일.tar.gz

[root@lalalive*BunnyCOM2*/chroot]# tar cvfz - / --exclude=Server --exclude=proc --exclude=Server2 --exclude=home/ -- \

xclude=temp/ --exclude=mnt/ . | split -b 2000m - OS_System_Com.tar è 전체 시스템 분할 압축
[root@lalalive*BunnyCOM2*/chroot]# cat 압축파일.tar.gz* | tar xfz –

[root@lalalive*BunnyCOM2*/chroot]# tar cvfzp Server_OS_Bcakup.tar.gz --directory / --label="Backup set created on `date '+%d-%B-%Y'`." \

--exclude=Server --exclude=proc --exclude=Server2 --exclude=home/ --exclude=temp/ --exclude=mnt/ . è 디폴트 시스템 전체 백업

[root@lalalive*BunnyCOM2*/chroot]# tar -zcvpf /Server/Sunny_OS_Backup_`date'+%d-%B-%Y'`.tar.gz

--label="Backup set created on `date '+%d-%B-%Y'`." --exclude=Server --exclude=proc --exclude=Server2 --exclude=home/ --exclude=temp/ \

--exclude=mnt/ . è 일반 디폴트 전체 백업

[root@lalalive*BunnyCOM2*/chroot]# tar -cvpf /dev/nst1 --label="Backup set created on `date '+%d-%B-%Y'`." --exclude=Server \

--exclude=proc --exclude=Server2 --exclude=home/ --exclude=temp/ --exclude=mnt/ . è 날짜 별로 자동 백업

사실 공유기 상태에서 서버 운영시 방화벽을 내부 시스템에서 구체적으로 설정을 할 필요는 없다.

왜냐하면 공유기 자체가 방화벽 기능을 담고 있고 설정에서 포워딩 기능을 이용해서 지정된 포트 외에는 접근이

불가능하기 때문이다. 다만 이 방화벽 사슬은 개인 공유기가 아닌 실재로 고정IP상태에서 직접 네트워크에 물려있는

서버 컴퓨터에서만 해 주면 좋을 것이다. 그렇지 않으면 보안적으로 해킹을 당할 확률이 높아진다.

root@nsBunny/shellroot]# vi iptables_powerSecurity_script.sh

echo "###################################################################"

echo "#################### 시스템 방화벽 정책 보안 설정 #################"

echo "#################### 작성자 : 하 태 용 <bunny> #################"

echo "#################### http://bunnyblog.tistory.com #################"

echo "#################### E-Mail : lovego75@yahoo.co.kr ################"

echo "###################################################################"

IPTABLES="/sbin/iptables"

IP_ADDR=`grep "IPADDR=" /etc/sysconfig/network-scripts/ifcfg-Auto_eth0 | awk -F'=' '{ print $2 }'`

. /etc/init.d/functions

case "$1" in

start|restart)

echo "$1ing next_firewall :"

;;

stop)

echo "$1ping next_firewall :"

$IPTABLES -F

$IPTABLES -X

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

$IPTABLES -P OUTPUT ACCEPT

exit

;;

*)

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

exit

;;

esac

echo "================== 룰셋 초기화 ====================="

$IPTABLES -F

echo "================== 기본정책 설정 ======================"

$IPTABLES -P INPUT DROP

$IPTABLES -P FORWARD DROP

$IPTABLES -P OUTPUT ACCEPT

echo "================== Loopback 트래픽 허용 ================="

$IPTABLES -A INPUT -i lo -j ACCEPT

echo "================== 자기자신을 소스로 하는 트래픽 차단 =================="

$IPTABLES -A INPUT -i eth0 -s $IP_ADDR -j DROP

$IPTABLES -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

echo "================== 상태추적 설정 ======================="

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A INPUT -p all -m state --state INVALID -j DROP

echo "================== 비정상적 tcp-flags 차단 ==================="

$IPTABLES -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,ACK,RST -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP

$IPTABLES -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

echo "================== ftp servive ========================"

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 20 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 21 -m state --state NEW -j ACCEPT

echo "================== ssh servive ========================"

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 22 -m state --state NEW -j ACCEPT

echo "================== telnet servive ======================"

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 23 -m state --state NEW -j ACCEPT

echo "================== smtp servive ======================="

#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 25 -m state --state NEW -j ACCEPT

echo "================== domainserver servive ====================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 53 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p udp --sport 1024: --dport 53 -m state --state NEW -j ACCEPT

echo "================== http servive ====================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 80 -m state --state NEW -j ACCEPT

echo "================== OpenVPN service ==================="

$IPTABLES -A INPUT -p udp --sport 1024: --dport 1194 -m state --state NEW -j ACCEPT

echo "================== pop3 servive ====================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 110 -m state --state NEW -j ACCEPT

echo "================== identd servive ==================="

$IPTABLES -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset

echo "================== imap servive =================="

#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 143 -m state --state NEW -j ACCEPT

echo "================== snmp servive =================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 161 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p udp --sport 1024: --dport 161 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p udp --sport 1024: --dport 199 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 199 -m state --state NEW -j ACCEPT

echo "================== https servive ================="

#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 443 -m state --state NEW -j ACCEPT

echo "================== rsync servive ================="

#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 873 -m state --state NEW -j ACCEPT

echo "================== mysql servive ================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 3306 -m state --state NEW -j ACCEPT

echo "================== http servive 3000 =================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 3000 -m state --state NEW -j ACCEPT

echo "================== servive luxe =================="

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 39789 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 36785 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

[root@nsBunny/shellroot]# sh iptables_powerSecurity_script.sh

[root@nsBunny/shellroot]# iptables L è 방화벽 정책을 확인한다.

[root@nsBunny/shellroot]# iptables F è 방화벽 정책을 초기화 한다.

<참고 내용>

iptables 보안 사슬 옵션

-A(--append) : 정책안에 규칙을 덧붙인다. -D(--delete) : 한개또는 그이상의 선택된 규칙을 지운다

-R(--replace) :선택된 규칙을 새로운 규칙으로 대체한다. -I(--insert) : 정책속에 새로운 규칙을 넣는다.

-P(--policy) : 기본 정책을 변경한다 -N(--new-chain) : 새로운 정책수립한다

-X(--delete-chain) : 정의되지 않은 규칙은 지운다. -L(--list) : 각 정책을 나열한다.

0-F(--flush) : 모든정책을 지운다 -Z(--zero) 정책안에있는 모든 규칙들의 패킷이나 카운터의 바이트값을 0으로 초기화한다.

추가옵션 è ACCEPT <당연히 받아들인다는 뜻이고> REJECT

DENY <거부한다는 뜻인데 REJECT는 친절하게 '거부되었습니다>

DENY <불친절하게 아무런 응답이 없는 것을 의미한다>

세부 옵션 è -p(--protocol) 이 규칙의 protocol -s(--source) 발신지 주소 -sport(--source-port)

발신지 port(모든주소에 대해서)

-d(--destination) 도착지 주소 -dport(--destination-port) 도착지 port(모든 주소에 대해서) -icmp-type

ICMP type을 나타낸다 -j(--jump) 패킷을 점프시킨다. -i(--interface) 인터페이스를 지정해준다.

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

iptables -s 211.238.165.111 -j DROP è 막기

iptables -A INPUT -s 211.238.165.111 -p tcp --destination-port telnet -j DROP è Service 차단하기

iptables -A INPUT -p tcp --destination-port telnet -i ppp0 -j DROP è 선택적인 차단

iptables -A INPUT -i ppp0 -p tcp --syn -j DROP è SYN Packets 막기

iptables -A INPUT -i ppp0 -p tcp --syn --destination-port ! 80 -j DROP è SYN Packets web 막기

iptables -P FORWARD ACCEPT è Chain 정책

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

파일 시스템의 종류와 개념

/bin è 시스템 기본 명령어들이 위치한 곳이다.

/boot è 부트 이미지와 부트 맵이 보관된다.

/chroot è 고급 보안 시스템 공간을 사용할 때 만드는 디렉토리이다.

/dev è 모든 시스템의 장치 드라이버들이 보관된 곳이다.

/etc è 시스템의 모든 설정 파일들과 서버데몬들이 위치한다.

/home è 일반 유저의 홈 디렉토리 공간이다.

/lib è 시스템 공유 라이브러리 파일들이 보관되는 곳이다.

/mnt è 시스템 장치들이 위치한다.

/root è 슈퍼 관리자 전용 홈 디렉토리이다.

/sbin è 시스템 관리 명령어들이 위치한다.

/tmp è 임시 저장이나 테스트 공간으로 사용한다.

/usr è x-window 와 공유바이너리 또는 프로그램 들이 위치한다.

/var è 시스템 로그와 web 디렉토리 메일저장공간이 위치한다.

[root@lalalive*BunnyCOM2*/home]# vi /etc/filesystems

ext3 è Linux 표준 파일 시스템

ext2 è Linux 전통적인 고전 파일 시스템

nodev proc è 모률 가상 로딩 시스템

nodev devpts iso9660 è 씨디 전용 파일 시스템

vfat è win98 파일 시스템

hfs è 네트워크 파일 공유 시스템

[root@lalalive*BunnyCOM2*/home]# vi /etc/fstab è 시스템 마운트 설정 파일

[root@lalalive*BunnyCOM2*/home]# fdisk /dev/hda è 파티션 분할 명령어 < -l 은 리스트>

Command (m for help): p è 파티션 정보 출력 Command (m for help): n è 새로운 파티션을 생성한다.

Command (m for help): l è 파티션 유형을 선택한다. Command (m for help): d è 기존 파티션을 삭제한다.

Command (m for help): w è 파티션을 저장한다. Command (m for help): q è 저장하지 않고 나간다.

[root@lalalive*BunnyCOM2*/home]# mkfs -help è 리눅스 파일 시스템 만들기

-V : 정보를 자세하게 보여준다.

-t 형태 만들어질 파일 시스템의 형태를 지정한다.

fs-options 이것은 각 특정 파일 시스템을 만드는 풀그림에서 사용되는 옵션을말한다.

-c : 파일 시스템을 만들기 전에 먼저 불량 블럭 검사를 한다.

-l : 파일이름 filename 으로부터 불량 블럭 목록을 읽는다.

-v : 작업 상태, 결과를 자세하게 보여준다.

[root@lalalive*BunnyCOM2*/home]# mkfs -t ext2 /dev/hdb1

[root@lalalive*BunnyCOM2*/home]# mkfs -t ext2 /dev/fd0

[root@lalalive*BunnyCOM2*/home]# fdformat /dev/fd0

[root@lalalive*BunnyCOM2*/home]# mkfs -t ext2 -c /dev/fd0 -v e -c : 블록체크 -v : 진행과정 display

[root@lovetaeyong etc]# mkfs.ext2 /dev/hda

/dev/hda is entire device, not just one partition!

Proceed anyway? (y,n) y è ext2로 포멧 하겠냐고 물어본다.

[root@lalalive*BunnyCOM2*/home]# fsck –help è 리눅스 화일 시스템을 점검하고 수리한다.

-A : /etc/fstab 화일에 표시된 모든 화일 시스템을 한번씩 모두 점검한다.

-R : -A 플래그와 같이 사용될 때 루트 화일 시스템은 제외하도록 한다.

(이미 읽기-쓰기 가능으로 마운트 되어있는 경우)

-T : 시작할 때 제목을 보여주지 않는다.

-N : 실행하지는 말고 어떤 작업을 할 것인지만 보여준다.

-s : fsck 동작을 시리얼화한다. 대화형 모드에서 여러 화일 시스템을 점검할 때유용하다.

-t : 화일시스템유형 점검할 화일 시스템 유형을 지정한다.

-a : 물 어봄 없이 자동으로 복구한다.

-r : 화일 시스템 복구시 질문을 하게끔 한다. :

fsck 의 종료 코드는 다음 값의 합계로 나타난다:

0 - 에러 없음 : 1 - 화일 시스템 에러 고쳐짐 : 2 - 리부팅이 필요함 :

4 - 화일 시스템 에러를 고치지 않고 그대로 둠 : 8 - 실행 에러 : 16 - 사용법 또는 문법 에러

128 - 공유 라이브러리 에러

[root@lalalive*BunnyCOM2*/home]# fsck -t [type] [device]

fsck 파일 점검은 가능한 umount 한 후에 실행한다.

하지만 / mount 하지 않으면 부팅이 제대로 될수 없기에 / 를 체크할때는

플로피로 부팅을 하던지 아님 single mode 로 부팅한후 체크 한다.

[root@lalalive*BunnyCOM2*/home]# fsck.ext2 -cv /dev/hdb è 디스크 상태를 체크하고 수정한다.

마운틴 제어 명령어 및 USB 디스크 사용법

[root@lalalive*BunnyCOM2*/home]# mount –help

-v : 자세한 출력 모드. + -f : 실제 시스템 호출은 하지 않고 마운트할 수 있는지 점검 한다.

-n : /etc/mtab 화일에 쓰기 작업을 하지 않고 마운트 한다

-r 읽기만 가능하게 마운트한다. 같은 옵션으로는 -o ro 이 있다.

-w : 읽기/쓰기 모드로 마운트한다. 기본 설정값이다. 같은 옵션으로는 -o rw 이 있다.

-t <vfstype> 인수는 화일 시스템의 유형을 지시한다. 현재 지원되고 있는 화일시스템

유형은 linux/fs/filesystems.c 적혀있다.

minix, ext,ext2, xiafs, hpfs, fat, msdos, umsdos, vfat, proc, nfs, iso9660, smb,

ncp, affs, ufs, sysv, xenix,

[root@lalalive*BunnyCOM2*/home]# mount -t vfat /dev/hda9 /chroot/win98

[root@lalalive*BunnyCOM2*/home]# mount -t iso9660 /dev/cdrom /chroot/cdrom/

[root@lalalive*BunnyCOM2*/home]# mount -t ntfs /dev/hda11 /chroot/winxp/

[root@lalalive*BunnyCOM2*/home]# mount -t nfs lalalive.pe.kr:/tmp /chroot/nfs/

[root@lalalive*BunnyCOM2*/home]# mount -t ext2 /dev/hda13 /chroot/linux-ext2

[root@lalalive*BunnyCOM2*/home]# mount -t msdos /dev/fd0 /chroot/msdos/

[root@lalalive*BunnyCOM2*/home]# umount –help è 화일 시스템을 언마운트

-n : /etc/mtab 를 갱신하지 않고 언마운트한다.

-a : /etc/mtab 화일에 명시한 모든 화일 시스템을 언마운트한다.

-t : 파일시스템유형 특정 화일시스템유형에만 적용하도록 지정한다.

[root@lalalive*BunnyCOM2*/home]# umount /chroot/cdrom/

[root@lalalive*BunnyCOM2*/home]# umount –a è 전체 시스템 언마운팅^^

서버로 운영시 시스템 레벨 3으로 하는게 보통입니다.

레벨 5 x-windows모드는 아직까지 보안적으로 취약한게 사실입니다.

관리자 마다 취향이 다르지만 저 같은 경우는 레벨 3으로 사용합니다.

[root@lalalive*BunnyCOM2*/]# vi /etc/inittab

id:5:initdefault: [x-win모드] è id:3:initdefault: [콘솔로컬모드]변경

è 이 이후는 현재 centos 6버전에서는 삭제된 내용 같다.

기존의 리눅스버전에는 이 옵션이 존재해서 콘솔모드가 0-6까지 설정되어 있어서

다중콘솔 모드를 지원을 했었다. 한데 보안상 이 모든 것을 없앤 걸로 보인다.

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6 è 이렇게 추가한다면 재부팅시 다중콘솔 모드가 가능해 진다.

# Trap CTRL-ALT-DELETE 주석처리 <불법 부팅 차단>

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; 시스템 재부팅 합니다"

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; 시스템 전원 내려 주세요"

### 1-2-3 오픈 처리 ###

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

#4:2345:respawn:/sbin/mingetty tty4

#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

[root@lalalive*BunnyCOM2*~]# init 3 è 부팅하지 않고 시스템레벨 3인 콘솔시스템으로 전환하는 명령어 입니다.

[root@lalalive*BunnyCOM2*~]# init 5 è 부팅하지 않고 시스템레벨 5 x-windows로 전환하는 명령어 입니다.

[root@lalalive*BunnyCOM2*~]# mv /etc/sysctl.conf /etc/sysctl_backup.conf

[root@lalalive*BunnyCOM2*~]# vi /etc/sysctl.conf

########## 커널옵션 튜닝값들 ################

net.ipv4.icmp_echo_ignore_all = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 180

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 1280

net.ipv4.tcp_sack = 0

net.ipv4.tcp_window_scaling = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.ip_local_port_range = 32768 61000

net.ipv4.ip_forward = 0

vm.bdflush = 100 1200 128 512 15 5000 500 1884 2

vm.buffermem = 80 10 60

kernel.sysrq = 1

##선택사항

#net.ipv4.icmp_echo_ignore_all = 0

#fs.file-max = 32768

### RAM 256M :8192

##### ======================= 옵션 설명 ================================#####

#net.ipv4.icmp_echo_ignore_all = 1 응답 막기

#net.ipv4.icmp_echo_ignore_all = 0 응답 하기

#net.ipv4.icmp_echo_ignore_broadcasts = 1 Broadcast로 오는 핑 차단하기

#net.ipv4.conf.all.accept_source_route = 0 IP 소스 라우팅 막기

#net.ipv4.tcp_max_syn_backlog=1024 backlog 늘리기 조정 값

#net.ipv4.tcp_syncookies = 1 syncookie 기능 판별

#net.ipv4.conf.all.send_redirects= 0

#net.ipv4.conf.all.accept_redirects= 0 ICMP redirect를 막는다

#net.ipv4.icmp_ignore_bogus_error_responses = 1 bad icmp 패킷 차단

#net.ipv4.conf.all.rp_filter = 1 IP 스푸핑 방지하기

#net.ipv4.conf.all.log_martians = 1 IP 스푸핑된 패킷 로그에 기록하기

#/etc/host.conf 파일에 nospoof 옵션을 주어 IP 스푸핑 방지를 위한 설정을 추가

multi on + nospoof on

#net.ipv4.tcp_fin_timeout = 30 연결종료시간을 줄인다

#net.ipv4.tcp_keepalive_time = 1800 keepalive 시간 줄이기

#net.ipv4.ip_local_port_range = 32768 61000 열수 있는 포트 늘리기

[root@lalalive*BunnyCOM2*~]# sysctl -w # ==> 시스템 설정 저장

[root@lalalive*BunnyCOM2*~]# sysctl -a # ==> 시스템 설정 값 출력

[root@lalalive*BunnyCOM2*~]# rpm -Uvh ftp://ftp.riken.go.jp/Linux/centos/4/os/i386/CentOS/RPMS/cdrecord-2.01.1-5.0.EL4.4.i386.rpm

[root@lalalive*BunnyCOM2*~]# rpm -Uvh ftp://ftp.riken.go.jp/Linux/centos/4/os/i386/CentOS/RPMS/cdrecord-devel-2.01.1-5.0.EL4.4.i386.rpm

[root@lalalive*BunnyCOM2*~]# rpm -Uvh ftp://ftp.riken.go.jp/Linux/centos/4/os/i386/CentOS/RPMS/mkisofs-2.01.1-5.0.EL4.4.i386.rpm

[root@lalalive*BunnyCOM2*~]# rpm -Uvh ftp://ftp.riken.go.jp/Linux/centos/4/os/i386/CentOS/RPMS/dvd+rw-tools-5.21.4.10.8-4.i386.rpm

[root@lalalive*BunnyCOM2*~]# mkisofs help

-V <볼룸이름> -L <히든속성포함> -P <제작자> -R <긴파일명 사용> -T <도스파일명 긴 이름지원 o <출력파일명> -b <부팅파일명> -c<카탈로그>

[root@lalalive*BunnyCOM2*~]# lsmod | grep ide-scsi è 모률 확인

[root@lalalive*BunnyCOM2*~]# cdrecord –help

-v : 레코딩 정보를 상세 출력 : -eject : 레코딩 후 디스크 배출 : speed : 레코딩 배속

dev : cdrecord -scanbus 결과 나온 device number(0,0,0) 처음 0 은 생략가능 test.iso 는 레코딩할 이미지의 이름

[root@lalalive*BunnyCOM2*~]# cdrecord –scanbus è 디바이스 확인

1,0,0 100) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.00' Removable CD-ROM

1,1,0 101) 'LITE-ON ' 'LTR-48246S ' 'SS0B' Removable CD-ROM

이제 설치 씨디를 구우면 된다.

[root@lalalive*BunnyCOM2*~]# cdrecord -v -eject speed=52 dev=1,0,0 SULinux-Server-1.5-i386.iso

Multisession 레코딩 하기

[root@lalalive*BunnyCOM2*~]# cdrecord dev=1,0,0 –msinfo

[root@lalalive*BunnyCOM2*~]# cdrecord -v -eject speed=52 dev=0,0,0 -multi CentOS-5.2-i386-LiveCD.iso

이미지 마운트 하기

[root@lalalive*BunnyCOM2*~]# mount -o loop livecd-i686-installer-2008.0.iso gentoo-livecd

[root@lalalive*BunnyCOM2*~]# mount -t iso9660 -o ro,loop=/dev/loop0 livecd-i686-installer-2008.0.iso gentoo-livecd

[root@lalalive*BunnyCOM2*~]# ps aux | grep loop è 루프 센서 확인

root 2865 0.0 0.0 0 0 ? SW 02:28 0:00 [loop0]

[root@lalalive*BunnyCOM2*~]# umount /Server/cd/gentoo-livecd è 마운트 해제

이제부터 만들어 진 부팅 인스톨 씨디를 가지고 설치하면 된다.

+ Recent posts