여기서 root.adm 펴미션은 그냥 root.root로 놔둬도 상관없습니다.~~
글쓴이: 폴리™
흔히들 리눅스를 설치하고 그냥 외부에 공개해버리는 서버들이 간혹있습니다.
이에 따른 버그조차조 패치를 않하고
기본적으로 사용을 하는 분들이 많이
있는데 이는 잘못된 생각이며, 버젼별로 버그 패치를 꼭 해주셔야 합니다.
또한 각종 remote
bug가 허용되는것들은 조심을 하셔야 한다고 생각되며
아래에 보안 리눅스 디폴트 퍼미션을 공개합니다. 마음대로 설정은 하셔도
되며
저에게는 어떠한 책임이 없음을 여기서 밝혀드립니다.
▶ 표준 보안 퍼미션 설정
/bin/ root.root 711
/boot/ root.root 700
/dev/
root.root 711
/dev/audio* root.audio 600
/dev/dsp* root.audio 600
/etc/
root.adm 711
/etc/conf.modules root.adm 640
/etc/cron.daily/ root.adm
750
/etc/cron.hourly/ root.adm 750
/etc/cron.monthly/ root.adm
750
/etc/cron.weekly/ root.adm 750
/etc/crontab root.adm
640
/etc/dhcpcd/ root.adm 750
/etc/dhcpcd/* root.adm 640
/etc/esd.conf
root.audio 640
/etc/ftpaccess root.adm 640
/etc/ftpconversions root.adm
640
/etc/ftpgroups root.adm 640
/etc/ftphosts root.adm
640
/etc/ftpusers root.adm 640
/etc/gettydefs root.adm
640
/etc/hosts.allow root.adm 640
/etc/hosts.deny root.adm
640
/etc/hosts.equiv root.adm 640
/etc/inetd.conf root.adm
640
/etc/rc.d/init.d/ root.adm 750
/etc/rc.d/init.d/syslog root.adm
740
/etc/inittab root.adm 640
/etc/ld.so.conf root.adm
640
/etc/lilo.conf root.adm 600
/etc/modules.conf root.adm
640
/etc/motd root.adm 644
/etc/printcap root.lp 640
/etc/profile
root.root 644
/etc/rc.d/ root.adm 640
/etc/securetty root.adm
640
/etc/sendmail.cf root.adm 640
/etc/shutdown.allow root.root
600
/etc/ssh_config root.root 644
/etc/ssh_host_key root.adm
640
/etc/ssh_host_key.pub root.adm 644
/etc/sshd_config root.adm
640
/etc/syslog.conf root.adm 640
/etc/updatedb.conf root.adm
640
/home/ root.adm 751
/home/* current 700
/lib/ root.adm 751
/mnt/
root.adm 750
/root/ root.root 700
/sbin/ root.adm 751
/tmp/ root.root
1777
/usr/ root.adm 751
/usr/* root.adm 751
/usr/X11R6/ root.xgrp
751
/usr/bin/ root.adm 751
/usr/bin/* root.root 755
/usr/sbin/ root.adm
751
/usr/sbin/* root.root 755
/var/ root.root 755
/var/log/ root.root
711
/var/log/* root.root 600
/var/spool/mail/ root.mail 771
▶툴들에 대한 퍼미션 설정
1. 컴파일 툴들의 퍼미션 설정
chmod 0700 /usr/bin/gcc
chmod 0700
/usr/bin/g++
chmod 0700 /usr/bin/cc
chmod 0700 /usr/bin/colorgcc
2. 시스템 툴들의 퍼미션 설정
chmod 0700 /usr/bin/w
chmod 0700
/usr/bin/who
chmod 0700 /usr/bin/finger
3. 네트워크 툴들의 퍼미션 설정
chmod 0700 /bin/ping
chmod 0700 /usr/bin/telnet (이나
아마 /bin/telnet일겁니다.)
chmod 0700 /usr/bin/ssh (만일 여러분이 ssh를 설치하였다면)
chmod
0700 /usr/sbin/traceroute
▶물리적 보안
보통 서버가 외부 사람이 많이 오는곳에 설치되어있다면 그 사람들중에
물리적 크래킹을 하기위하여 다가오는 분들이
많이 있습니다. 이에 방어
할수 있는것은 바로 lilo와 root로 조인을 못하게 설정하는것입니다.
1. lilo.conf의 설정
/etc/lilo.conf 의 맨위에다가 아래와 같이 설정을 합니다.
#My LILO
password
password=foobar <-- 비번입니다.
저장을 하고 나서,
chmod a-r /etc/lilo.conf
아무도 못보게 설정을 합니다.
그다음 /sbin/lilo를 구동시켜 새로운 설정을 적용시킵니다.
2. /etc/inittab 의 설정
로컬에서는 루트로도 접근이 가능합니다.
허나 이를 막기 위하여 이 파일을 수정하셔야
합니다.
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
이라고 보이실겁니다. 이것을 아래와 같이 변경을
합니다.
ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
저장을 하시고 나서 아래와 같이 명령어를
수행합니다.
#telinit q
#
위와 같이 한후에 보시게 되면 /etc/에 shadow.allow가
만들어질것입니다.
그것이 있다면 아무나 리부팅을 못하는것이죠.
3./etc/securetty 의 설정
/etc/securetty 파일을 열게 되면 아마도 아래와 같이 있을것입니다.
# /etc/securetty
tty1
tty2
tty3
tty4
tty5
tty6
이것은 로컬에서 root로 들어올수 있는것이죠.
그래서 이것을 막게 하는것입니다. 그래야 공개된 석상에서 아무도 root를
뚫고
들어오지를 못할테니까여... 설령 linux single로도...
그래서 아래와 같이 설정을 합니다.
#
/etc/securetty
#tty1
#tty2
#tty3
#tty4
#tty5
#tty6
이후에 telinit q를 실행하여 지금 방금 설정한것에 대한 적용을
시킵니다.
그후 로그인을 해봅니다.
Kernel
2.2.13-pre3 on an i686 / tty3
H4cker login: root
Password:
Login
incorrect
login: root
Password:
Login incorrect
Done, root is not allowed login.
위와 같이 떨어지겠죠? 그렇다면 아무리 공개된 석상에 서버를 가져다 놓아도
크래킹 당할 염려가 없답니다. 그사람이 암호를 알지 못하는
이상...
첫번째 문서는 여기까지 입니다.
더욱 더 보람찬 리눅서들이 되시기 바랍니다.
[ 참조=http://www.userlocal.com ]
--
Poly, Alex
http://gnuhacker.com ,help@popsmail.com
Hacker's not
cracker~!!!
'Security' 카테고리의 다른 글
nimda worm 체크 센드메일 룰셋 (0) | 2001.09.21 |
---|---|
logcheck (시스템로그 체크) (0) | 2001.09.17 |
CGI의 보안취약점 (0) | 2001.09.03 |
tcpdump(네트워크 모니터링툴) (0) | 2001.09.03 |
각종 remote 명령들 (0) | 2001.09.03 |