PHP

해킹당한 서버 점검법

Bucket List 2005. 12. 24. 10:32

답변에 앞서 리눅스 서버의 종류를 말씀안해주셧네요...

프록시 혹은 웹서버를 기준으로 간단히 설명드리겟습니다.

 

우선적으로 사용자 계정에 관하여 adduser 에서 계정추가후 하위디렉토리네 명령어 list중 일부를 삭제하지 않앗다고 여겨집니다.

루트 관리자에대한 자동 로그아웃 명령어 추가 및 루트의 암호를 8자이상으로 영문+숫자등의 조합으로 하셧는지도 의문스럽고요..

그외 파일허가권에 대한 변동사항을 체크하셧는지용?

 

그외 상세한 설명 및 사용팁은 아래내용 참조..

②파일의 권한 및 소유권부여로부터 보안설정
㉮LILO부팅시 Linux Single 모드 부팅으로 root권한획득 및 암호변경방지
#vi /etc/lilo.conf
 . . .
Message=/boot/message
restricted
password=********   //이부분에 암호를 입력하면 linux single모드 부팅시 암호를 묻게 된다.
linear
 . . .


㉯암호문의 길이를 수정
#vi /etc/login.defs   //가운데 PASS_LEN 5   ß-- 이부분의 숫자를 8로 수정한다.
㉰root 권한으로 로그인후 일정시간 경과후 자동 로그아웃하기
#vi /etc/profile
HOSTNAME=’/bin/hostname’
HISTSIZE=0
HISTFILESIZE=0
TMOUT=600     //시간은 초단위이며 예시처럼 바꾸면 된다!
㉱root가 아닌 사용자의 원격 접촉제한 //사용자가 서버의 종료,재시작을 하지 못하게 한다.
#cd /etc/security/console.apps
#ls –a     //항목중 reboot,halt,powerdown 을 rm –r을 이용하여 삭제한다.
㉲Ctrl+Alt+Delete로 강제종료를 제한하도록 설정
#vi /etc/inittab
ca::ctrlaltdel: /sbin/shutdown –t3 –r now //이 항목에 대하여 맨앞에 ‘#’를 넣어서 주석문 처리를 한다.
㉳파일의 허가권 변경
#chmod –R 700 /etc/rc.d/init.d/*  //디렉토리내 모든파일에 대하여 root사용자외 접근을 거부
#chmod –R 600 /etc/password   //일반사용자의 접근 금지
#chomd –R 600 /etc/inetd.conf   //쓰기금지 지정
㉴기타 허가권변경을 요하는 파일 및 허가권 부여
시스템 파일 및 디렉토리  설명     허가권
/var/log   모든 로그파일을 담고있는 디렉토리  751
/var/log/message  시스템 메시지 로그파일    644
/etc/crontab   작업 스케줄 파일    600
/etc/syslog.conf  syslog 데몬 설정 파일    640
/var/log/wtmp   who명령으로 현재사용자를 보여주는 기록파일 660
/var/log/lastlog  last 명령에 의해 보여지는 최종사용자 표시파일 640
/etc/passwd   리눅스 서버의 사용자 계정리스트   600
/etc/shadow   암호화된 계정 패스워드를 담고있는 파일  600
/etc/hosts.allow  네트워크 서비스의 접근을 허락하는 설정파일 600
/etc/hosts.deny  네트워크 서비스의 접근을 거부하는 설정파일 600
/etc/lilo.conf   부트로더 Lilo의 설정파일    600
/etc/securetty   root로 로그인을 허락하는 컴퓨터대상을 결정하는 파일 600
/etc/shutdown.allow  Ctrl+Alt+Del 사용을 허가하는 사용자의 리스트 700
/etc/security   시스템접근 보안정책 파일이 들어있는 디렉토리 700
/etc/rc.d/init.d   시작 부트 스크립트 파일    750
/etc/sysconfig   시스템과 네트워크 설정파일   751
/etc/services   서비스이름과 포트를 나타내는 파일  600
/etc/inetd.conf  인터넷 슈퍼서버데몬 inetd의 설정파일  600
/etc/ssh   보안 쉘(ssh) 설정파일    750
③각종 로그파일의 관리
㉮log파일의 관리    // #var/log 디렉토리의 log파일중 중요한것들
boot.log  //리눅스 부팅시 나타나는 메시지를 기록
cron   //시스템의 정기적인 작업에 대한 로그를 기록
message  //커널에서 보내주는 실시간 메제지의 로그를 관리
secure  //시스템의 접속에 관한 로그파일
xferlog  //FTP로 로그인 하는 사용자에 대한 로그를 기록하는 파일(웹서버에 해당)
maillog  //센드메일을 통한 메일에 대한 로그를 기록하는 파일

이외 궁금한것은 ....

 

추가:

가장 최우선적으로 boot.log와 같은 각종로그파일을 살펴보시는게 급선무 입니다. 언제 어디서 누가 접속햇는지 어디서 어떤작업을 햇는지 로그파일에 정보가 남아 있으니 그것부터 확인하세요..

또한 파일의 날짜도 의심해보고욤...

'PHP' 카테고리의 다른 글

유닉스웨어 TCP 설정법  (0) 2005.12.24
리눅스 최신 버전(페도라 코어4)에 APM설치  (0) 2005.12.24
Apache2.0.52 + PHP5.0.3 + MySQL4.1.7  (0) 2005.12.24
유닉스커멘드팁모음  (0) 2005.12.24
TAR로 백업하기  (0) 2005.12.24