: 안녕하세요...
: 글쎄.. 제가 이걸 보고 하다가..
: su 도 한번 아래 나와있는것 같이... 그룹으로 해서.. 했거든요
: 근데.. 이상하게...
: 계정으로 접속해서... su 를 치고..
: 패스워드를 치면.. 자꾸.. 패스워드가 틀리다고 나와요...
: 물론.. 패스워드는 맞게 입력했구요...
: 뭘 잘못했는지 모르겠어요...
: 도와주세요...
사용자는 추가하셨는지요...
추가된 사용자만 사용 가능하니까요.
그거 말고는 이유가 없을듯한데요.
:
: : 이 글은 http://www.koreaphp.co.kr/에 저작권이 있습니다.
배포시에는 출처를 써주세요^^
저는 관리자라서 상관없지만~!
: :
: :
: : 1.chmod 700변경하기
: :
: : /usr/bin/finger(chmod 700 적용)
: : /usr/bin/nslookup(chmod 700 적용)
: : /usr/bin/suidperl(chmod 700 적용)
: : /usr/bin/whereis(chmod 700 적용)
: : /usr/bin/cc(chmod 700 적용)
: : /usr/bin/sperl5.00503(chmod 700 적용)
: : /usr/bin/pstree(chmod 700 적용)
: : /usr/bin/rlog(chmod 700 적용)
: : /usr/bin/rlogin(chmod 700 적용)
: : /usr/bin/which(chmod 700 적용)
: : /usr/bin/who(chmod 700 적용)
: : /usr/bin/w(chmod 700 적용)
: : /usr/bin/top (chmod 700 적용)
: : /usr/bin/find (chmod 700 적용)
: :
: : /usr/bin/gcc(chmod 700 적용)
: : /usr/bin/c++(chmod 700 적용)
: : /usr/bin/make(chmod 700 적용)
: : ----->이 명령어를 막게 되면 일반사용자들이 C언어로 작성된 프로그램을
: : 컴파일하지 못하여 불평을 호소하는 경우가 있다.
: :
: : 이런 경우는 이 명령어를 사용할수 있는 그룹을 설정해 주면 준다.
: : (일반적으로 wheel이라는 그룹을 많이 사용함, 다른 그룹을 등록해서
: : 사용해도 무관)
: :
: : * example) find 명령어의 사용자를 제한 할 경우
: : shell-prompt>grep wheel /etc/group
: : wheel:x:10:root
: :
: : /etc/group 화일에 wheel:x:10:root 이분에 wheel이라는 그룹에 user를
: : 추가 한다.(khsheen이라는 user가 있을경우임)
: : wheel:x:10:root,khsheen
: : 이러면 wheel이라는 그룹에 khsheen 이라는 user가 등록된다.
: : shell-prompt>ls -la /usr/bin/find
: : -rwxr-xr-x 1 root root 54544 Feb 3 2000 /usr/bin/find*
: : shell-prompt>chgrp wheel find
: : shell-prompt>chmod 755 find
: : shell-prompt>ls -la /usr/bin/find
: : -rwxr-x--- 1 root wheel 54544 Feb 3 2000 find*
: :
: : 이런식으로 설정하면 find 명령어는 root와 khsheen만 사용할수 있다.
: : 이 명령어를 su 명령어에도 적용하는 것을 권장함, root로 전환할
: : 유저 (su 명령어 사용자)를 제한 할수 있다.
: :
: : /usr/bin/lynx (chmod 700 적용)
: : /usr/bin/wget(chmod 700 적용)
: : ---->이 두 명령어는 일반적으로 해커들이 해킹툴을 가져올때 자주 쓴다.
: : shell-prompt>lynx --dump 가져올화일이 있는 url 경로
: : shell-prompt>wget 가져올화일이 있는 url 경로
: :
: : /bin/mail(chmod 700 적용)
: : /bin/ps(chmod 700 적용)
: :
: : /etc/hosts(chmod 700 적용)
: : /etc/hosts.deny(chmod 700 적용)
: : /etc/hosts.allow(chmod 700 적용)
: :
: : 2.anonymous ftp 막기
: : #vi proftpd.conf (/etc 에 위치)
: : 중략
: : <Anonymous ~ftp> 에서
: : UserAlias anonymous ftp //이부분을 주석처리 해준다.
: : wq (저장후 종료)
: :
: : 3.telnet 사용막기
: : ip 거부
: : #vi hosts.deny (/etc 에 위치)
: : in.telnet:ALL
: : wq (저장후 종료)
: :
: : #hosts.allow (/etc에 위치)
: : ALL:(IP 추가)
: : wq (저장후 종료)
: :
: : 저장후 다음과 같이
: : #/etc/rc.d/init.d/inet restart
: :
: : telnet 서비스 제공업체측 ip를 추가해야 telnet 사용가능
: :
: : 4.ping 막는법
: : #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all //ping 막기
: : #echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all //ping 열기
: :
: : 5.chkconfig 사용법(부팅시 수행되는 서비스)
: : #chkconfig --list (/sbin 밑에 위치)
: : #chkconfig --help (참고)
: : #chkconfig --level 3 sendmail off (사용방법예)
: :
: : #chkconfig --list (하면 나오는것들)
: : xfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : anacron 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : apmd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : arpwatch 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : atd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : keytable 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
: : gpm 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : inet 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
: : netfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : network 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
: : random 0:끔 1:켬 2:켬 3:켬 4:켬 5:켬 6:끔
: : ipchains 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : pcmcia 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : kdcrotate 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : kudzu 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
: : linuxconf 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : lpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : nfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : nfslock 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : identd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
: : portmap 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : rstatd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : rusersd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : rwalld 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : rwhod 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : sendmail 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
: : syslog 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
: : snmpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : crond 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
: : ypbind 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : yppasswdd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : ypserv 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: : proftpd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
: : named 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
: :
: : 이중 켜야할것은 보통 9개정도밖에 안됩니다.
: : 3번레벨을 기준으로, keytable,inet, network,random,kudzu,sendmail,syslog, crond,proftpd
: : 나머지는 off 시켜주는것이 바람직합니다. (자기의 환경에 맞춰서)
: : 참조문서는 http://www.osfs.net/redhat/security-guide-01.doc : :
: : 6.find 관련 명령
: : #find /dev -TYPE f // /dev/MAKEDEV만떠야함 (백도어 찾기)
: : #find / -ctime -1 //하루동안 만들어진 화일 (해킹당한듯 싶으면 확인 )
: : #find / -nouser (화일에 소유자가 없는 경우의 화일)
: : 일반사용자의 사용 디렉토리에서 ...
: : 화일에 소유자가 없다는것은 의심을 해볼필요가 있다.
: : #find /home/khsheen -user root
: : (일반사용자인데 root로 되어 있는 화일도 의심해볼 필요가 있다)
: :
: : 7./etc/inetd.conf 화일 수정
: : 네트워크의 서비스를 정의하고 있는 화일로서 , 정의되어 있는 서비스가 많이 있다.
: : 보안사고를 피하기 위해서는 최대한 필요하지 않은 서비스는 차단하는게 바람직하다
: . : 기본적으로 , telnet,ftp,pop3외의것은 주석처리 하는것이 좋다.
: : 닫아놨는데, 이외의 것이 열려있다면 해킹의 가능성이 있다. 이때는 다시 주석처리를
: 하고 : #ps -ef | grep inetd //프로세스 확인
: : #kill -HUP PID //리셋
: : #vi inetd.conf (/etc 에 위치)
: : telnet
: : ftp
: : pop3
: : 나머지는 주석처리
: : wq (저장후 종료)
: : tip> #kill -9 PID //프로세스 죽이기
: :
: : 8.<pop3, smtp 테스트>
: : #telnet 127.0.0.1 110 (받는것)
: : +OK POP3 (나오면 설정되있는것)
: : 만약에 안되면
: : #/etc/inetd.conf를 열어 pop3의 주석을 없애주고,다시 실행
: : #/etc/rc.d/init.d/inet start
: :
: : #telnet 127.0.0.1 25 (보내는것)
: : ~~~ESMTP~~~~ (나오면 설정되어있는것)
: :
: :
: : 9.해킹이 확실한경우 대처법
: : 해킹이 확실한상태에서 그냥 컴퓨터를 종료시키면, 재부팅이 안될수가 있다.
: : 이것을 막기 위해,
: : #/etc/rc.d/rc.SYSinit 권한을 755를 준다.
: : 최소한 부팅은 된다.
: :
: : a.우선 가장 좋은 방법은 port(랜선)를 제거하는 것이 가장 좋다.
: : b.그 다음에 설치 되어 있는 해킹툴을 제거한다.
: : -프로세스 확인
: : [ 이상한(필요없는) 프로세스 확인해서 설치된 위치 확인후 지우기]
: :
: : shell-prompt> kill -9 이상한 프로세스 id
: :
: : 그러나 100%제거 한다는 것은 힘들것 같다.
: : 서버를 제 세팅하는 것을 권장한다.
: : c.중요 data 백업
: :
: : 해킹시 연락처
: : cyber 테러대응센터 02-3939-112
: : cyber 수사대 02-365-7128
: :
: : 10.기타 보안에 관련된 내용
: :
: : a.php , mysql db 지원하는 경우
: : -일반적으로 php로 mysql에 db에 접속하는 경우 php에서
: : connect하는 스크립트를 사용하는 화일을 일반적으로 Web상에
: : 공개된 소스에는 화일명이 대부분 connect.inc 를 사용하는데
: : 이것을 웹브라우저에 불러오게 되면 바로 읽혀 져서 mysql db접속
: : 아이디와 패스워드를 알수가 있게된다.
: :
: : 이럴경우는 웹서버의 설정화일(httpd.conf)에
: :
: : AddType application/x-httpd-php .php .html .php3 .php3 .inc
: : ~~~~~!!
: : AddType application/x-httpd-php-source .phps
: :
: : 추가하고 웹서버를 제구동한다.
: : 그러면 .inc로 끝나는 화일도 php로 인식하므로 스크립트
: : 노출을 막을수 있다.
: :
: : 또한가지 telnet ftp에 사용시 group을 같게 해주고 각 계정의
: : root Directory를 퍼미션을 705로 처리해 주면 다른 유저가
: : 다른 사용자의 계정에 들어 갈수가 없다.
: : 만약 755로 한다면 다른 유저에게도 읽을 권한이 생겨서 connect
: : 스크립트를 읽을 수 있어 db접속 아이디/passwd를 얻을수 있다.
: :
: : b.사용자들의 passwd
: : - 등록된 user의 passwd를 자주 갱신하게 만든다.
: : shell-prompt>vi /etc/login.defs
: : 이중 아래의 스크립트를 일정기간 설정해서 사용자들의
: : passwd를 바꾸게 만든다.
: : PASS_MAX_DAYS 99999
: : ~~~~~ 일정기간으로 잡아준다.
: :
: : c.shell 없애기
: : - 메일계정으로만 사용하는 경우(shell이 필요없는 경우)의
: : 유저가 많다. 특히 웹호스팅 사용자
: : 이런 경우 shell을 주지 않으면 된다.
: : shell-prompt>vipw
: : khsheen:x:500:502::/home/gdm:/bin/false
: : ~~~~~~~~~~
: : khsheen이라는 유저에게 shell을 부여하지 않는다.
: :
: :
: : - 서버에 등록된 사용자가 많은 경우 사용자가 관리에
: : 신경을 많이 써야 한다. last 명령을 사용하여 자주 telnet으로
: : 접속하는 사용자는 history를 자주 살펴보는 것도 좋다.
: : shell-prompt> last | grep pts
: :
: :
: :
: : d.보안패치하기
: :
: : -서버 보안에서 가장 중요한 것이 패치이다.
: : 서버에 버그가 발표되면 해커도 그것을 접한다고 생각하면 된다.
: : 그래서 서버에 최신 패키지를 설치해야 하며 보안 뉴스를 빨리
: : 접해야 한다. 그중 커널 업테이드등은 중요한다.
: :
: : * 커널 최신 정보 확인하기
: : shell-prompt>finger @www.kernel.org
: : [zeus.kernel.org]
: :
: : The latest stable version of the Linux kernel is: 2.2.17
: : ~~~~~~
: : The latest beta version of the Linux kernel is: 2.4.0-test11
: : The latest prepatch (alpha) version *appears* to be: 2.4.0-test12-pre4
: :
: :
: : 2. 2. 17
: : | | |
: : | | -> 몇번의 패치가 있었는지 나타낸다.
: : | -> 안정화 버전인지 개발화 버전이지를 나타낸다.
: : | (홀수:개발, 짝수:안정)
: : -> 획기적인 변화가 있을때 바뀐다
: :
: :
: : 그리고 기타 패키지에 대한 버그는 빨리 접하고 패치를 해야 한다.
: :
: : --
: : 이 곳에 서명을 적어주십시오.
: : 나도 초보~!--이 곳에 서명을 적어주십시오.
나도 초보~!