서버로 사용되는 시스템에는 관리자만이 사용할 수 있는 명령어와 일반사용자가 사용할 수 있
는 명령어가 동일하지는 않습니다.
서버관리자는 일반사용자와는 달리 서버의 상태점검, 보안점검 및 자원감시등의 작업들을 하기
때문에 일반사용자가 사용할 수 있는 명령어외에도 특수한 명령어들을 사용하게되 됩니다.
그런데 이들 명령어는 일반사용자들이 사용하게 되면 보안에 문제가 발생할 수 있습니다.
일반적으로 서버를 처음설치하고 나면 아래에서 설명드리는 대부분의 명령어들은 일반사용자
들도 사용할 수 있게 퍼미션되어있는 경우가 많습니다.
따라서 서버(OS)를 설치한 후에는 보안을 위하여 아래와 같은 명령어들의 퍼미션을 일반사용자
들이 사용할 수 없도록 다음과 같이 조정해 주시는 것이 좋습니다.

1. top명령어 퍼미션수정
[root@superuser bin]# ls -l /usr/bin/top
-r-xr-xr-x 1 root root 34896 3월 8 2000 /usr/bin/top*
[root@superuser bin]# chmod 100 /usr/bin/top

2. w 명령어 퍼미션수정
[root@superuser bin]# ls -l /usr/bin/w
-r-xr-xr-x 1 root root 8860 3월 8 2000 /usr/bin/w*
[root@superuser bin]# chmod 100 /usr/bin/w

3. uptime 명령어 퍼미션수정
[root@superuser bin]# ls -l /usr/bin/uptime
-r-xr-xr-x 1 root root 2836 3월 8 2000 /usr/bin/uptime*
[root@superuser bin]# chmod 100 /usr/bin/uptime

4. useradd 명령어 퍼미션수정
[root@superuser bin]# ls -l /usr/sbin/useradd
-rwxr-xr-x 1 root root 53200 2월 17 2000 /usr/sbin/useradd*
[root@superuser bin]# chmod 100 /usr/sbin/useradd

5. userdel명령어 퍼미션수정
[root@superuser bin]# ls -l /usr/sbin/userdel
-rwxr-xr-x 1 root root 34704 2월 17 2000 /usr/sbin/userdel*
[root@superuser bin]# chmod 100 /usr/sbin/userdel

6. last명령어 퍼미션수정
[root@superuser php]# which last
/usr/bin/last
[root@superuser php]# chmod 100 /usr/bin/last
[root@superuser php]# ls -l /usr/bin/last
---x------ 1 root root 10032 3월 7 2000 /usr/bin/last*

7. ping 명령어 퍼미션 수정
[root@superuser /root]# ls -l /bin/ping
-rwsr-xr-x 1 root root 17968 3월 6 2000 /bin/ping*
[root@superuser /root]# chmod 100 /bin/ping
[root@superuser /root]# ls -l /bin/ping
---x------ 1 root root 17968 3월 6 2000 /bin/ping*

8. find 명령어 퍼미션 수정
[root@superuser /root]# which find
/usr/bin/find
[root@superuser /root]# ls -l /usr/bin/find
-rwxr-xr-x 1 root root 54544 2월 3 2000 /usr/bin/find*
[root@superuser /root]# chmod 100 /usr/bin/find
[root@superuser /root]# ls -l /usr/bin/find
---x------ 1 root root 54544 2월 3 2000 /usr/bin/find*
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/22 11:40 2005/06/22 11:40
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/252

1. /etc/hosts.equiv 및 $HOME/.rhosts 체크하기
/etc/hosts.equiv파일을 널(/etc/null)로 다음과 같이 링크를 시켜두고, 소유자는 root로
되어 있어야하며, 퍼미션은 600으로 해두십시요.
#ln -s /dev/null /.rhosts
[root@www /]# find / -name .rhosts -print
#ln -s /dev/null /etc/hosts.equiv
[root@www /]# ls -l /etc/hosts.equiv
rwxrwxrwx 1 root root 9 Sep 2 22:57 /etc/hosts.equiv -> /dev/null

2. /etc/services
이 파일의 소유권은 반드시 root로 되어 있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다.
[root@www /]# ls -l /etc/services
-rw-r--r-- 1 root root 11231 Aug 26 13:50 /etc/services

3. /etc/inetd.conf
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 600이 안전합니
다.
-rw------- 1 root root 2935 Aug 22 22:25 /etc/inetd.conf

4. /etc/aliases
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다.
-rw-r--r-- 1 root root 732 Mar 9 14:42 /etc/aliases


5. httpd에 대한 보안사항...
아파치를 설치했을 경우에는 보통 /usr/local/apache/에 설치하게되며 이중 가장 중요한
아파치설정파일의 소유권은 root로 해두시고 퍼미션은 600으로 해두신후에 일반사용자들
이 함부로 볼 수 없도록 해두십시요.
[root@superuser /conf]# ls -l httpd.conf
-rw------- 1 root root 38596 10월 22 17:27 httpd.conf

6. /etc/wtmp
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다. 이파일은 시스템에 설치된후부터 현재까지의 모든 접속로그를 기록하고 있습니다.
who또는 last등의 명령어들은 모두 이 파일에 기록된 정보들을 참조하여 보여주게됩니다.
-rw-r--r-- 1 root utmp 384 Sep 1 11:42 /var/log/wtmp

7. /var/run/utmp
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다. 이파일은 wtmp와는 조금다르게 현재 접속하 사용자의 정보를 저장하고 있는 파일입
니다.
-rw-r--r-- 1 root utmp 4224 Sep 2 22:53 /var/run/utmp

8. /etc/motd, /etc/mtab
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다.
-rw-r--r-- 1 root root 0 Jul 7 1995 /etc/motd
-rw-r--r-- 1 root root 85 Sep 1 11:43 /etc/mtab

9. /etc/syslog.conf
이 파일의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 644로 되어있습
니다. 이 파일은 시스템에서 남겨지는 모든 로그파일의 정보를 저장하고 있습니다. 이파일
은 반드시 root만이 볼 수 있도록 해두십시요.
-rw------- 1 root root 712 Aug 22 22:36 /etc/syslog.conf

10. /etc, /usr/etc, /bin, /usr/bin, /sbin, /usr/sbin
다음과 같이 위의 디렉토리들의 퍼미션을 점검하시기 바랍니다.
[root@www /]# ls -al
drwxr-xr-x 2 root root 2048 Jul 25 17:49 bin/
drwxr-xr-x 2 root root 1024 Aug 29 22:42 boot/
drwxr-xr-x 5 root root 34816 Aug 29 13:43 dev/
drwxr-xr-x 24 root root 3072 Sep 1 11:43 etc/
drwxr-xr-x 24 root root 1024 Aug 31 14:36 home/
drwxr-xr-x 4 root root 3072 Jul 19 01:50 lib/
drwxr-xr-x 3 root root 1024 Jul 18 17:39 local/
drwxr-xr-x 2 root root 12288 Jul 19 01:47 lost+found/
drwxr-xr-x 5 root root 1024 Jul 18 17:01 mnt/
drwxr-xr-x 3 root root 1024 Jul 18 17:39 opt/
dr-xr-xr-x 50 root root 0 Aug 29 22:42 proc/
drwxr-x--- 5 root root 1024 Aug 31 14:15 root/
drwxr-xr-x 3 root root 2048 Aug 31 14:15 sbin/
drwxrwxrwt 6 root root 2048 Sep 1 04:02 tmp/
drwxr-xr-x 19 root root 1024 Jul 19 01:48 usr/
drwxr-xr-x 15 root root 1024 Aug 21 22:23 var/

11. /tmp, /var/tmp
위의 두 디렉토리의 소유권은 반드시 root로 되어있어야하며, 퍼미션은 일반적으로 1777
로서 sticky-bit로 설정되어 있습니다.
drwxrwxrwt 6 root root 1024 Aug 26 13:52 tmp/
drwxrwxrwt 2 root root 1024 Aug 21 22:06 /var/tmp/

12. umask 값확인할 것..
root의 umask값을 확인하십시요. root가 새로 생성하는 모든 파일과 디렉토리의 기본퍼미
션을 설정하는 것입니다. 일반적으로는 022로 되어있습니다.
[root@www /]# umask
022
이렇게 설정되어 있다면 root가 생성하는 파일은 644로 생성되며, 디렉토리는 755로 생
성됩니다. 참고로 umask값이 755로 되어있을 경우에는 새로생성되는 파일은 640이 되
며, 새로생성되는 디렉토리의 퍼미션은 750이 됩니다.
아래의 표를 참조하십시요.

umask값
생성되는 파일
생성되는 디렉토리
022
644
755
027
640
750



13. /dev 에 device파일외의 것이 있나를 확인할 것..
아래와 같은 명령어(find)로 /dev에 디바이스(device)파일외에 다른 것이 있나를 확인하십
시요. 만약 이외의 파일이 있다면 당한(?)것으로 봐도 무방합니다.
[root@www /root]# find /dev -type f -exec ls -l {} \\;
-r-x------ 1 root root 26450 Jan 26 2000 /dev/MAKEDEV
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/22 11:35 2005/06/22 11:35
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/251

webalizer 실행시 에러

echo \"/usr/local/lib\" >> /etc/ld.so.conf
dconfig

를 수행해야 한답니다.



아래 링크를 참고하세요.

http://help.directadmin.com/item.php?id=56
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/06/21 11:21 2005/06/21 11:21
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/250

리눅스 설치후 초기 보안셋팅

1. 서버구축시에는 반드시 별도의 파티션과, 별도의 백업디스크를 둔다.
이 백업디스크에 일백업및 실시간 백업이 이루어 지도록 구성한다.

backup.sh 파일작성및 crontab에 설정적용함.

### crontab 파일내용(기본)
00 00 * * * su - root /usr/bin/rdate -s time.bora.net && /sbin/clock -w
00 01 * * * su - root -c \'/home/papa/backup.sh\' >& /dev/null
00 08 * * * su - root -c \'/home/papa/system_check\' >
/home/papa/www/system_check/system_check_logs

### backup.sh 내용(기본)
#!/bin/bash
cd /backup
rm -f *.tar.gz
tar cvfpz /backup/usr.local.tar.gz /usr/local/
tar cvfpz /backup/home.tar.gz /home
tar cvfpz /backup/etc.tar.gz /etc
tar cvfpz /backup/var.tar.gz /var

2. 시스템디스크와 데이터디스크를 구분하여 구축한다.

예 sda : / 시스템(운영체제가 설치되는)디스크
sdb : /home : 데이터디스크
sdc : /usr : Mysql, Apache등의 Applications 저장 디스크
sdd : /backup : 백업 디스크

3. /etc/xinetd.d/ 불필요한 파일들 제거

4. /etc/rc.d/init.d/ 불필요한 초기화 스크립트 제거

5. /etc/services 파일의 사용하지 않는 포트정보 주석처리

6. tcp_wrapper의 효율적인 활용을 위한 /etc/hosts.allow, /etc/hosts.deny 파일 설정

/etc/hosts.allow의 권장내용

popper : ALL
sendmail : ALL

7. proftpd 설치시에 Anonymous로그인 불허설정.(주석처리)
** RPM시에는 /etc/proftpd/conf/proftpd.conf 파일에 설정
** 컴파일시에는 /usr/local/proftpd/etc/proftpd.conf 파일에 설정

관리자 ID외의 상위 디렉토리 이동제한설정

예1)
DefaultRoot ~ !papa

예2)
DefaultRoot ~ !ds5ezp,!papa

8. ssh의 root원격로그인 설정제거
sshd가 설치되어 있지않을 경우나 망가져있을 경우에는 ssh관련 파일들을 rpm으로 설치하거나 compile하여
설치한다.
rpm으로 설치하였을 경우에는 /etc/rc.d/init.d/sshd start를 해줘야만 local key파일들이 /etc/sshd에 생성된
다.

/etc/ssh/sshd_config파일내의 (redhat 7.3에서는 기본설정되어 있음(주석처리되어 있다는 의미)
PermitRootLogin no

9. su 명령어의 사용제한설정

chmod 4750 /bin/su
/etc/group내의 wheel그룹에 관리자계정 등록(예 : wheel:x:10:root,papa)
chown root:wheel /bin/su

10. logserver 설정 : 필요할 경우에.....
/etc/hosts 에는 logserver의 호스트정보 등록
/etc/syslog.conf 에는 로그를 원격로그서버에 저장할 대상 설정

작업서버에서의 syslog 재시작(/etc/rc.d/init.d/syslog restart)
로그서버(su21)에서의 syslogd재시작(/sbin/syslogd -h -r)

11. secu_script로 파일보안을 위한 파일퍼미션 설정

12. /etc/rc.d/rc.local내에 시스템 시작시 실행할 초기화 스크립트 설정

/usr/local/apache/bin/apachectl start
/usr/local/mysql/bin/safe_mysqld&
/usr/local/proftpd/sbin/proftpd

### Time Server Setting
/usr/bin/rdate -s time.bora.net
/sbin/clock -w

13. timeserver 설정

방법#1 cron에 설정 (매일 한번씩 맞춤)
00 01 * * * su - root /usr/bin/rdate -s time.bora.net && /sbin/clock -w

time server 설정시 크론의 내용을 확인하여 작동이 되지않을 경우에는 /etc/services 내의 time관련 서비스 항
목의 주석제거할것....

방법#2 부팅시마다 적용하기 위해 /etc/rc.d/rc.local에 설정

### Time Server Setting
/usr/bin/rdate -s time.bora.net
/sbin/clock -w

14. cron에 local 백업설정 (가능한 새벽 04:00)

15. cron에 시스템 점검 실행 설정 system_check (가능한 아침 08:00)

16. 불필요한 process 제거

17. ntsysv 에서 초기 실행할 서비스데몬 내리기

18. 로그인정보수정 및 리눅스버전정보 숨기기

/etc/motd
/etc/issue
/etc/issue.net
/etc/redhat-release

############################ 경고 ################################

지금 접속하신 귀하의 정보들은 이미 다른 서버로 원격저장 되었습니다.

불필요한 접속을 하셨다면 지금 로그아웃 하십시요.

허용되지않은 불법적인 접속으로 인한 모든 법적인 책임은 접속자에게

있습니다.

------------------------- for login user -------------------------

It will be punished for illegal login to this system.

It is saved for login information in another system.

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


19. root소유의 SetUID, SetGID 명령어 퍼미션수정및 불피요한 것일 경우에 삭제
찾는 방법 : find / -user root -perm -4000 -print

20. systemfiles들 로컬복구를 위한 별도저장
저장위치 : /backup/systemfiles/

21. chkrootkit 설치및 실행결과 확인

22. 시스템 performance및 hacking보안을 위한 kernel option값 설정
(리스트 작성하여 적어둘것....)

23. 마지막에는 tripwire 설치 및 초기화 설정

24. 커널옵션값 설정 (/etc/sysctl.conf 수정)

/etc/sysctl.conf 파일에 아래 설정들을 복사하여 넣어두면

########## 커널옵션 튜닝값들 ################
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
########## 커널옵션 튜닝값들 ################



직접명령어를 사용할 경우에 다음과 같은 명령어로 커널값설정한다.
주의) 오른쪽의 값이 두개이상되는 것들은 입력이 안됨.(방법찾아볼것)

#!/bin/bash

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=180
sysctl -w net.ipv4.tcp_timestamps=0
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=1280
sysctl -w net.ipv4.tcp_sack=0
sysctl -w net.ipv4.tcp_window_scaling=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.rp_filter=1
sysctl -w net.ipv4.conf.default.rp_filter=1
sysctl -w net.ipv4.conf.all.log_martians=1
sysctl -w net.ipv4.conf.all.accept_source_route=0
sysctl -w net.ipv4.ip_forward=0
sysctl -w kernel.sysrq=1
sysctl -w net.ipv4.icmp_echo_ignore_all=0
sysctl -w fs.file-max=16384
########################################################

25. httpd.conf 파일 수정

-- Options 항목에 Indexes 모두 제거

--- 아래행 추가
## *.inc 파일을 웹에서 불러들이지 못하는 설정
## 수퍼유저코리아 박성수(papa@superuser.co.kr)
## 2003년 5월 30일

Order allow,deny
Deny from all


--- 아래행 추가
## *.log 파일을 웹에서 불러들이지 못하는 설정
## 수퍼유저코리아 박성수(papa@superuser.co.kr)
## 2003년 5월 30일

Order allow,deny
Deny from all


26. 아파치 cgi 실행옵션제거

Options 부분에서 ExecCGI 제거 고려할 것.
AddHandler cgi-script .cgi 주석제거

27. 서버설치 직후에 모든 파일시스템의 badblock을 점검한다.

- mount 를 해서 파티션의 정보를 확인한다.
- badblocks -v -o 파티션명.txt 파티션명
(예 badblocks -v -o sda1.txt /dev/sda1
- 시간이 많이 걸리므로 shell 파일을 만들어서 작업한다.
(예 badblocks.sh)
#!/bin/bash
badblocks -v -o sda1.txt /dev/sda1
badblocks -v -o sda2.txt /dev/sda2
badblocks -v -o sda3.txt /dev/sda3

작업이 끝난 후에 배드블럭이 존재하는 디스크는 반드시 교체한다.

28. httpd.conf파일을 이용하여 기본적인 아파치웹서버보안을 설정한다.

- Options 지시자중 Indexes를 제거한다.

- Options 지시자중 FollowSymLinks를 제거한다. : 심블릭링크파일의 설정을 허용하지 않는다.
예)/home/sspark09/www/linkfile 이라는 파일이 ln -s /home/sspark/09/www/linkfile /etc/passwd라는 링크
파일일 경우에 웹에서 linkfile을 로딩했을 경우에 /etc/passwd의 파일내용을 볼 수 있다. SymFollowLinks라는
지시자가 없을 경우에는 이런 링크파일의 사용을 웹에서는 허용하지 않는다.

- Options 지시자중 IncludesNoExec옵션을 추가한다. 이는 SSI의실행 태그중 exec나 cmd를 실행하지 못하게
한다.

- CGI는 특정 디렉토리에서만 실행가능하도록 설정한다. 게시판등에서 cgi실행파일을 웹서버에 올려두고서 이
를 실행하게 되면 시스템의 정보가 쉽게 유출이 될 수 있다. 이를 막기 위하여 다음 예와 같은 설정으로 특정 디
렉토리에서만 cgi가 실행가능하도록 한다.
ScriptAlias /cgi-bin/ \"//usr/local/apache/cgi-bin/\"

- ServerTokens는 Apache서버에 접속했을 경우에 응답메시지의 헤더에 웹서버 버전, 설치된 응용프로그램등
과 같은 정보를 전달한다. 이 정보들은 공격자들에게는 웹서버의 버전정보등을 유출함으로서 서버해킹을 용이
하게 하는 문제를 야기할 수 있다. ServerTokens Full 이라고 되어 있다면 제거하고 ServerTokens Prod로 추가
또는 수정한다. 기본적으로 ServerTokens키워드는 Apache 1.3이상에서 사용가능하며 일반적으로는
httpd.conf에 설정이 되어있지않다. 설정되어 있지 않을 경우에는 Full의 적용을 받게 되므로 전달가능한 모든
정보를 전달한다. 이를 ServerTokens Prod를 추가또는 수정함으로서 정보유출을 막을 수 있다.

- 웹서버 구동중에 문제나 에러발생시(401, 403, 404등)에 보여줄 에러페이지를 redirect하여 원하는 페이지를
보여줄 수 있도록 한다. (광고나 홍보들을 위한 수단으로 사용한다.)
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/28 11:02 2005/05/28 11:02
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/249

HOW-TO Network 네트워크 ip 랜

HOW-TO Network Configuratoin

이번 강좌에서는 시스템의 네트워크 설정 파일인 /etc/sysconfig/network,
/etc/sysconfig/network-scripts/ifcfg-eth0, /etc/resolv.conf, /etc/hosts 파일들에 대해서 설명할 것이
다. 대부분의 네트워크 설정은 netcfg 유틸을 이용하면 손쉽게 설정할 수 있기 때문에 이 파일들을 직접 수
정해서 사용할 일은 극히 드물겠지만 한번쯤 읽어 보는 것도 좋은 공부가 될 것이라고 생각한다.

::/etc/sysconfig/network
# 호스트 네임과 게이트웨이등을 설정하는 파일이다.
NETWORKING=yes
# 네트워크 기능을 on 할것인지 off 할것인지 설정한다. 당연히 yes로 설정해야 되겠지요.
HOSTNAME=ns1.rootman.org
# 호스트 네임을 설정한다. 반드시 완벽한 도메인으로 설정해야 된다. 리눅스 서버 데몬중에는 이 호스트
네임을 참조해서
# 작동되는 것들이 있기 때문에 잘못된 호스트 네임 설정으로 인해 데몬이 정상 작동하지 않을 수 있다. 예
를 들면 아파치
# 데몬은 호스트 네임이 잘못 설정되어 있을 경우 start 되지 않는다.
GATEWAYDEV=eth0
# 게이트 웨이 장치를 설정하는 부분이다. 대부분의 경우 eth0, 즉 첫번째 랜카드를 설정해서 사용할 것이
다.
GATEWAY=203.241.205.254
# 게이트 웨이 주소를 설정하는 부분이다.
# /etc/syscofnig/network 파일을 수정한 후 받드시 network를 restart 시켜 줘야 된다.
[root@rootman root]# /etc/init.d/network restart

:: /etc/sysconfig/network-scripts/ifcfg-eth0(ifcfg = Interface Config)
# network interface 장치에 대한 설정을 하는 파일이다. 위의 경우는 eth0 즉 첫번째 랜카드에 대한 설정
파일이다.
# 랜카드가 두개인 시스템에서는 ifcfg-eth1도 편집해야 되겠지요. 그리고 루프백 장치인 ifcfg-lo는 기본
적으로 설정되어
# 있기 때문에 특별히 편집해야 될 일이 없다.
DEVICE=eth0
# 인터페이스 장치명을 설정하는 부분이다. 일반적으로 첫번째 랜카드는 eth0, 두번재 랜카드는 eth1로 설
정된다.
BOOTPROTO=none
#
BROADCAST=203.241.205.255
# 브로드 캐스터 주소를 적는 부분이다.
IPADDR=203.241.205.91
# IP 주소를 설정하는 부분이다.
NETMASK=255.255.255.0
# 넷 마스크값을 설정한다.
NETWORK=203.241.205.0
# 네트워크 주소를 설정한다.
ONBOOT=yes
# 부팅시에 인터페이스 장치를 활성화
# /etc/syscofnig/network 파일을 수정한 후 받드시 network를 restart 시켜 줘야 된다.
[root@rootman root]# /etc/init.d/network restart

::/etc/resolv.conf
사용할 DNS 서버 주소를 설정하는 파일이다. 자체적으로 네임서버를 운영할 경우에는 루프백 주소인
127.0.0.1을 설정해도 되는만 ISP에서 제공하는 DNS 서버를 이용하는 것이 시스템 리소스를 조금이라도 절
약할 수 있을 것이다.
루트맨의 웹서버도 ISP의 DNS를 이용하고 있다.
# /etc/resolv.conf
search rootman.org
nameserver 134.75.30.1
nameserver 203.241.192.9

위의 설정 중에서 \'nameserver\'로 설정된 부분은 사용할 DNS 서버 주소이고 \'search\'라는 특이한 설정이 있
는데 이 설정에 특정 도메인을 설정해 두면 DNS 서버에 질의할 때 \'search\'에 설정된 도메인을 덧붙여서 먼
저 찾게 된다. 예를 들면 위의 설정에는 \'rootman.org\'가 설정되어 있는데 만약 telnet linux 라고 명령하
면 linux 뒤에 \'search\'에 설정된 도메인을 덧 붙여서 linux.rootman.org를 먼저 DNS에 검색하게 된다. 즉
타이핑의 수고를 줄일 수 있게 한다. 만약 search에 .com 을 설정한다면 웹 브라우저에서 redhat만 입력하
고 엔터를 치면 redhat.com에 접속된다. search를 어떻게 설정하느냐에 따라 아주 유용하게 사용할 수 있을
것이다.

::/etc/hosts
이 파일은 자체 forward zone 파일이라고 생각해도 된다. 이 파일에 특정 아이피에 대해 호스트 네임을 설
정하고 닉 네임을 설정해서 사용하면 되는데 다음의 설정예를 보면서 이해하도록 하자.
# /etc/hosts
203.241.205.97 rootman.co.kr rootman
203.241.205.91 telnet

첫번째 필드에 IP 주소를 설정하고 두번째 필드에는 호스트 네임을 설정하는데 본인 마음대로 설정하면 된
다. 세번째 필드는 호스트 네임에 대한 닉네임을 설정하는 부분인데 설정 안해도 된다. 이 설정에서 중요한
것은 IP 주소이다. 특정 아이피에 대해 마음대로 호스트 네임을 정하고 닉네임을 붙일 수 있다. 위의 경우
IP 주소 203.241.205.91의 호스트 네임을 telnet 이라고 설정했기 때문에 웹 브라우저에서 telnet 이라고
적고 엔터를 치면 IP 주소 203.241.205.91의 웹 사이트가 열리게 된다. 위와 같이 /etc/hosts를 설정하면
telnet이라는 호스트 네임에 대해 IP 주소 203.241.205.91로 해석하게 된다.
이런 설정은 회사내, 또는 학교내에서 여러 아이피를 외우고 있기가 불편할 때 사용하면 아주 편리하다.
예를 들어 IP를 203.241.205.95를 friend 라고 설정하면 friend라는 호스트 네임을 이용해서
203.241.205.95에 접근할 수 있게 된다. 또 203.241.205.94를 yahoo.com으로 설정하면 이 시스템에서만큼은
yahoo.com을 IP 주소 203.241.205.94로 인식하게 된다. 잘만 이용하면 여러모로 편리할 것이다.
그런데 이런것이 어떻게 성립이 되는지 궁금할 것이다. 바로 그 답은 /etc/host.conf 파일에 있다.
일반적으로 /etc/host.conf 파일을 열어 보면 다음과 같이 설정 되어 있을 것이다.
# /etc/host.conf
order hosts,bind

위의 설정이 의미하는 것은 도메인에 대해 질의할 때 hosts 파일을 먼저 참고하고 답을 찾지 못하면 bind
즉 DNS에 질의하라는 의미이다. 그렇기 때문에 우리가 특정 아이피를 /etc/hosts에 yahoo.com으로 등록시켜
놓으면 yahoo.com이라는 호스트 네임은 그 아이피를 가리키게 되는 것이다. 시스템에서 hosts 파일부터 참
고 하기 때문에...
위의 순서를 변경할 수도 있는데 그냥 그대로 두고 사용하는 것을 추천하는 바이다....
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/28 10:59 2005/05/28 10:59
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/248

mail 계정의 forwarding 설정하기

사용하는 id@nuri.net 계정의 메일을 forwarding 설정하여 다른 e-mail 로 보내도록 설정하는방법
forwarding 을 사용하려면 sol.nuri.net 에 접속하여 .forward 파일을 생성한후 아래와같이 설정한다.

nuri.net 에 메일을 보관하고 다른곳으로 보내는방법
#vi .forward
inet, inet@hotmail.com

nuri.net 에 남기지 않고 다른 계정으로 보내기
#vi .forward
inet@hotmail.com
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/24 19:20 2005/05/24 19:20
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/247

Redhat 9 에서 apache 2.0.52 + php 5.0

다운로드 소스
httpd-2.0.52.tar.gz (apache.org)
php-5.0.2.tar.tar (php.net)
ibxml2-cvs-snapshot.tar.gz (xmlsoft.org)


#### libxml 설치하기 ####
1.)tar xvzf libxml2-cvs-snapshot.tar.gz
2.)./configure
3.)make
4.)make install

#### 아파치 설치하기 ####
1.) tar xvzf httpd-2.0.52.tar.gz
2.) ./configure --prefix=/usr/local/apache_2.0.52 --enable-rule=SHARED_CORE --enable-modules=so --enable-so
3.) make
4.) make install

#### php 설치 ####
1.) tar xvzf php-5.0.2.tar.tar
2.) ./configure --prefix=/usr/local/php_5.0.2 --with-apxs2=/usr/local/apache_2.0.52/bin/apxs --with-config-file-path=/usr/local/apache_2.0.52/conf --with-mysql=/usr/local/mysql
3.) make
4.) make install

httpd.conf , mysql 설치는 생략했습니다.
그리고 /usr/local/apache_2.0.52/bin/apachecl start 하시면
httpd.conf 파일이 없다고 안되실수도 있는데..이럴땐
n -s /usr/local/apache_2.0.52/conf/httpd.conf /etc/httpd/conf/httpd.conf
해서 링크시키면 됩니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/24 19:19 2005/05/24 19:19
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/246

Linux Log Filter

last –x : 시스템 종료와 재시작에 관계된 엔트리만 보여준다

ast –x reboot : 모든 시스템 재시작을 보여준다.

ast –x shutdown : 모든 시스템 종료를 보여준다.

ast –a : redout 의 마지막 줄에 있는 모든 호스트 정보를 보여준다.

ast –d : 모든 원격 로그인을 보여준다.

ast –n : last 가 보여주는 줄(line) 수를 제어 할수 있도록 해 준다.
예를 들면,last –n 2는 단지 가장 최근의 마지막 두 개의 엔트리만을
보여 준다.

Ex) last –ad : 모든 호스트 명과 원격 로그인의 IP 번호를 보여 준다.
이것은 또한 자동적으로 IP 번호를 DNS이름으로 변환하여 준다.

astb : 실패한 로그인들을 보여준다.

주의) /var/log/btmp 파일이 있어야 한다

디폴트 값은 없다.. touch /var/log/btmp 명령어로 생성해 줘야한다.



추가적인 파일과 명령

host# cat /var/log/messages | grep servicename

/var/log/messages에서 서비스에 대한 다양한 정보들을 얻을수 있다.

servicename 에 ftp telnet ssh .... 서비스네임을 대치해서 넣으면 됩니다.



uptime : 시스템의 가동시간을 알수 있다.

Ex) $ uptime

오후 2:57 현재 가동중 33일, 9:37, 8 users, 로드 평균: 0.31, 0.53, 0.58
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/24 19:10 2005/05/24 19:10
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/245

Linux서비스 데몬들과 설명

LINUX서비스데몬들

amanda : 백업 클라이언트인 amanda 데몬

amandaidx : amanda 서버의 패키지 서비스 중 하나인 amandaidx 데몬

amd : auto mount daemon, 시스템의 요청이 있는 경우에 자동으로 장치와 NFS 호스트를 마운트해 주는 데몬.
네트워크의 설정이 잘못된 경우에는 부팅을 하는 도중에 문제를 일으킬수 있으므로 처음에서 꺼두는 것이 좋다.

amidxtape : amand 서버에 패키지 서비스 중 하나인 amidxtape 데몬

anacron : 시간에 따라 지정한 프로그램을 정기적으로 실행하는 데몬. cron과 같은 기능을 하지만 계속 켜두지 않는 컴터에서 사요하는 데몬

apmd : 베터리 상태를 감시하고 syslog(8)에 기록하며 시스템을 끄기도 하는 데몬

arpwatch : 이더넷 카드와 ip 어드레스의 설정 관계를 유지하는 데몬

atd : 특정 시간 또는 시스템 부하가 적을때 지정된 명령을 실행시키는 데

autofs : 파일 시스템을 사용하고자 할때 자동으로 마운트 시켜주는 데몬

chargen : chargen의 TCP 버전 서버

chargen-upd : chargen의 UDP 버전 서버

ciped : ip address를 암호화하는 CIPE 데몬

crond : cron을 실행시키는 데몬, cron은 지정한 프로그램을 특정 시간에 주기적으로 실행시키는 유닉스 표준 프로그램

daytime : daytime의 TCP 버전 서버. daytime은 클라이언트의 질의에 응답하여 아스키 형태로 현재 시간과 날짜를 출력하는 데몬. TCP 포트 13을 사용

daytime-udp : daytime의 UDP 버전 서버. UDP포트 13을 사용

dhcpd : Dynamic host configuration protocol server daemon. 동적 호스트 제어 프로토콜 서버 데몬.
BOOTP와 DHCP가 포함된 데몬으로 클라이언트들이 부팅할때 자동으로 동적 IP 어드레스와 네트워크 정보를 가질수 있게 해줌.

echo : echo 의 TCP 버전 서버

echo-udp : echo 의 UDP 버전 서버

finger : finger 리퀘스트에 응답하는 서버. finger는 사용자에 대한 로그인 네임, 디렉토리, 쉘과 최종 로그인 시간에 대한 정보를 볼수 있게 하는 프로토콜

gated : gated(라우팅 데몬) 을 시작하거나 종

gpm : MC(midnight command) 와 같은 텍스트 기반 리눅스용 애플리케이션에서 마우스를 쓸수 있게 해주는 데몬.
콘솔에서 마우스를 이용한 팝업 메뉴와 복사/ 붙이기 기능도 지원

httpd : 웹 서비스를 위한 아파치 데몬. html파일과 cgi를 사용가능하게 함

identd : 특별한 TCP 연결에서 사용자의 신원을 결정해 주는 데몬. TCP 포트번호를 주면 연결된 서버 시스템 소유자를 확인할수 있는 문자열을 돌려줌

imap : 원격 사용자가 imap 클라이언트(Pine, netscape communicator)를 이용하여 자신의 메일에 접근할수 있게 하는 서비스

imaps : 원격 사용자가 SSL을 지원하는 imap 클라이언트(netscape communicator, fetchmail 등)를 이용하여 자신의 메일에 접근할수 있게 하는 서비

innd : 유즈넷 뉴스 서버를 이용하여 지역 뉴스 서버를 설정할수 있는 데몬

ipchains : 패킷 필터링 파이어월을 자동으로 실행하는 데몬

ipop2 : 원격 사용자가 pop2 클라이언트를 이용하여 메일에 접근할수 있게 하는 서비스

ipop3 : 원격 사용자가 pop3 클라이언트를 이용하여 메일에 접근할수 있게 하는 서비스

irda : irda 가 정상적으로 동작하도록 해 주는 데몬

keytable : /etc/sysconfig/keytable로 키보드 유형을 변환할수 있게 하는 서비스.
한텀에서 kbdconfig 프로그램을 실행하여 키보드 유형을 변환할수 있다. 대부분의 시스템에서 keytable 데몬은 실행시켜 두어야 한다.

kudzu : 부팅시 새롭게 추가된 하드웨어를 설정할 수 있게 hardware probe를 실행시키는 데몬

inuxconf : 시스템 설정을 유지하기 위해 부팅시에 다양한 태스크의 실행을 정렬시키는 데몬.

inuxconf-web : 웹을 통해 linuxconf를 실행할수 있게 연결을 허용하는 데몬

pd : 프린터(line printer)가 정상적으로 동작하도록 해 주는 프린트 서비스 데몬

mars-nwe : netware IPX 프로토콜을 사용하는 클라이언트에게 리눅스 머신에서 파일과 프린트 서버를 호환시켜 주는 데몬

mcserv : midnight command(MC) 서버이다. MC끼리 네트워크를 공유한다

mysqld : 매우 빠르고 안정적인 mysql 데이타 베이스 서버 데몬이다

named : 도메인 네임과 ip어드레스를 해석하기 위한 DNS서버(BIND) 데몬. 로컬 호스트에서 DNS서버를 운영할때만 실행 시킨다.

netfs : 삼바, 네트워크 파일 시스템(NFS), NCP(netware)등의 마운트와 언마운트에 관여하는 데몬.

network : 네트워크 인터페이스의 설정을 시스템 부팅시 커널에 적재시키는 데몬.

nfs : TCP/IP 네트워크에서 파일을 공유할수 있게 하는 데몬. /etc/exports 파일에서 설정한 NFS 서버가 기동할수 있게 해 준다.

nfslock : NFS파일을 locking 한다.

nscd : NIS/NS 를 사용할수 있게 하는 데몬. nscd는 실행중인 프로그램의 그룹을 살피고 패스워드를 변경하거나 다음 질의를 위해 결과를 캐시하는 데몬이다.

ntalk : 서로 다른 시스템끼리 채팅이 가능하게 ntalk 연결을 허용하는 서버

ntpd : NTPv4데몬

pcmcia : 휴대용 PC에서 이더넷이나 모뎀을 쓸수 있게 하는 데몬.

pop3s : SSL을 지원하는 pop3클라이언트를 사용하여 메일에 접근할수 있게 하는 서비스이다.

portmap : RPC(NFS, NIS, mcsev등) 연결을 관리하기 위한 포트 매핑 데몬으로 RPC를 사용하는 프로그램을 실행하기 위해서는 반드시 선택하여야 하는 데몬.

postgresql : postgresql 디비에 관한 데몬

pppoe : adsl서비스에 연결시켜 주는 데몬

proftpd : 쉬운설정, 보안성, 단순성에 초점을 맞춘 개선된 ftp 서버 데몬

pxe : 부팅전 실행환경 서버. 다른 PXE기반 머신에 네트워크 부팅을 제공한다

random : 시스템에 필요한 난수 발생 및 저장 데몬

rawdevices : HDD 파티션과 같은 블론 디바이스를 위한 스크립트. /etc/sysconfig/rewdevices 파일을 편집하여 원시 디비아스를 블론 디바이스로 매핑할수 있다.

reconfig : /etc/reconfigSys 파일이 존재하면 재설정을 실행하는 데몬

rexec : rexec(3) 루틴을 위한 서버 데몬. 인증된 사용자 이름과 패스워드로 원격 실행을 제공하는 서버이다.

rlogin : rlogin 프로그램을 위한 서버 데몬. 신뢰할수 있는 호스트로부터 특권화된 포트 번호에 기반한 인증을 통해 원격 로그인을 제공한다.

routed : RIP 프로토콜을 통해 업데이트된 자동 IP 라우팅 테이블 설정 데몬

rsh : rshd 서버는 rcmd 루틴을 위한 서버이며 따라서 rsh 프로그램을 위한 서버이다. 신뢰할수 있는 호스트로부터 특권화된 포트번호에 기반한 인증 통해 원격 실행을 제공한다.

rstat : 네트워크에 연결된 사요자에게 그 네트워크 상의 머신에 대한 퍼포먼스 매트릭스를 회수할수 있게 해주는 프로토콜

rsync : 컴퓨터간 자료 공유를 위해서 사용되는 rsync에 대한 데몬이다.

rusersd : 네트워크에 특정 사용자가 있는 검색해 주는 데몬.

rwalld : 시스템에 동작중인 모든 터미널에 메시지를 표시할수 있게 해 주는 프로토콜

rwhod : 원격 접속자의 목록을 볼수 있게 해주는 데몬. finger와 비슷한 기능을 한다.

sendmail : 메일을 다른 호스트로 전송하는 메일 전송(Mail Transport Agent)데몬

smb : SMB 네트워크 서비스를 제공하기 위한 삼바 서버(smbd와 nmbd)데몬

snmpd : SNMP(Simple Network Management Protocol)데몬

squid : HTTP, FTP, gopher와 같은 프로토콜을 사용할때 캐싱 속도를 높이는 데몬.

sshd : openssh 서버 데몬

swat : 삼바 웹 관리 툴, 삼바 서버의 설정을 위해 swat를 사용하며, 웹 브라우저를 통해 901포트로 접속한다.

syslog : 많은 데몬들이 로그 메세지를 다양한 시스템 로그파일에 기록하는데 사용하는 데몬. syslog는 항상 실행되는 것이 좋다.

talk : 다른 시스템에 접속한 사용자로 부터 채팅 요구에 응답하여 터미널의 내용을 다른 사용자에게 보내서 대화할수 있게 하는 데몬.

telnet : telnet 세션을 제공하는 서버. 인증을 위해 사용자 이름과 패스워드를 사용한다.

tftp : 파일 전송을 위한 프로토콜. tftp프로토콜은 어떤 OS에서는 부팅 디스켓이 없는 워크스테이션이나 네트워크 인식 프린터를 위한 설정 파일의 다운로드, 설치 프로세스의 시작을 위해 가끔 이용된다.

time : rdate 데몬에 의해 사용되는 RFC 868 시간 서버의 TCP 버전

time-udp : rdate 데몬에 의해 사용되는 RFC 868시간 서버의 UDP 버전

webmin : webmin 관리자 서버 데몬

xfs : 부팅과 셧다운시 X 폰트 서버를 시작하거나 종료시키는 데몬

xinetd : inetd 데몬을 대체하는 강력한 데몬. telnet, ftp 등과 같은 서비스를 처리하는 슈퍼 데몬.

ypbind : NIS/YP 클라이언트에서 실행되는 데몬으로 NIS도메인을 바인드한다.
NIS클라이언트로 동작하기 위해서는 glibc에 기반한 시스템에서 실행되어 한다. 그러나 NIS를 사용하지 않는 시스템에서는 실행하지 말아야 한다.

yppasswd : NIS클라이언트 사용자의 패스워드를 변경할수 있게 해 주는 데몬

ypserv : 표준 NIS/YP 네트워크 프로토콜 서버. 호스트 네임, 사용자 네임과 다른 정보 데이타베이스를 네트워크를 통하여 배포하는 것은 허용한다.
ypserv데몬은 클라이언트에서는 필요하지 않으며 NIS 서버에서 실행된다
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/24 19:09 2005/05/24 19:09
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/244

#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2005/05/24 19:08 2005/05/24 19:08
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/243

« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : ... 22 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/04   »
  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        
Statistics Graph

Site Stats

Total hits:
180072
Today:
218
Yesterday:
243