본문
LSCP(Linux System Check Project)는 리눅스 시스템의 보안, 상태, 리소스를 효율적으로 점검하기 위한 프로그램이다.
인터넷이 발달함에 따라 웹서비스의 비중이 커졌으며 웹서버를 구동하는 OS중 반 이상을 리눅스를 사용하고 있다. 그리하여 리눅스를 사용하는 부류들도 전문 리눅스 사용자에서 일반 사용자로 그 분포가 확산되고 있는 실정이다. 이런 일반 사용자는 시스템을 초기 1회 구축 후 방치하게 되는 경우가 대부분이다. 모든 시스템의 가장 중요한 것이 점검 및 백업이다. 백업은 초기 구축으로 자동화 가능하나 점검 부분은 많은 시스템, 하드웨어, 보안 관련 지식을 필요로 하기 때문에 많은 어려움이 따른다. 이 어려운 시스템 점검 부분은 여러 요소로 나뉘며 보안, 시스템 리소스, 시스템 상태를 효율적이고 쉽게 점검 할 수 있는 솔루션이 필요하다. 시스템 자원 사용률을 조사하여 업그레이드시기를 알려주는 시스템 리소스 분석, 시스템 상태를 파악하여 비정상 프로그램 실행 등을 분석하는 시스템 상태 분석, 시스템 접근 및 포트, 프로세스, 파일등 보안요소를 점검하여 해킹 및 공격여부를 미리 알아 낼 수 있는 보안 점검 기능을 가진 리눅스 시스템 점검 프로그램이 필요하다. 이러한 요구사항에 LSCP는 완벽한 해결책을 제시한다.
1.1.1.1. 주요 기능
1.1.1.1.1. 보안 점검 기능
- 백도어, Root소유 SetUid파일, tmp 점검
- LISTEN port 점검
- Linux 기본 방화벽 점검
- 실행 프로세스 점검
- 하루 동안 변경된 파일 점검
- chkrootkit 이용한 rootkit 점검
- 초기 실행 스크립트 점검
- 중요 파일 속성 및 퍼미션 점검
- 계정 점검
- 접속자 점검
1.1.1.1.2. 리소스 점검 기능
- 부하, 프로세스, 트래픽, 메모리 점검 (그래프)
- 디스크 파티션 점검 (그래프)
- cpu 버전, 가동 시간 점검
1.1.1.1.3. 시스템 상태 점검 기능
- 용량큰 파일 점검
- Mail Queue 점검
- LOG 파일 점검
- CRON 설정 점검
- 사용자 정보
1.1.1.1.4. 문제점 보고
- 문제점 보고
1.1.1.1.5. 월간 리포팅 기능(월간 보고서)
- 하드웨어 정보점검
- 소프트웨어 정보 점검
- 네트워크 정보점검
- 월간 서버 부하 점검
- 월간 프로세스 수 변화 점검
- 월간 트래픽 변화량 점검
- 월간 메모리 사용량 점검
- 월간 디스크 사용량 점검
- 기타 정보 점검
- 사용자 정보 점검
1.1.1.1. 다운로드
1.1.1.1.1. 다운로드
소스 코드 및 프로그램은 다음 사이트에서 다운로드 할 수 있습니다.
(소스포지에 프로젝트로 등록 완료)
https://sourceforge.net/projects/lscp/
1.1.1.1.2. 기술지원
본 프로그램에 대한 기술지원은 다음 사이트에서 받을 수 있습니다.
( 버그 및 개선점 또한 아래 사이트를 이용하여 제안 바랍니다.)
https://sourceforge.net/tracker/?group_id=260142
1.1.1.2. 설치 전 고려 사항
- 웹서버 : LSCP의 결과는 HTML형태로 출력되지만, 웹 서버는 포함 되어 있지 않다. 그러므로 Apache, tomcat등의 웹서버가 필요하다.
- CRON : LSCP의 주기적인 실행은 CRON의 도움을 받는다.
1.1.1.3. 라이센스
본 LSCP의 라이센스는 GPL을 따르며, 원문은 소스코드의 COPYING 파일을 참고하거나, 웹사이트(http://www.gnu.org/licenses/)를 참고하길 바란다.
1.1.1. LSCP 설치
1.1.1.1. 프로그램 설치
1.1.1.1.1. 프로그램 다운로드
- 프로젝트 사이트 방문 : https://sourceforge.net/projects/lscp/
프로젝트 사이트 방문 후 중간에 “Download Now"를 눌러 프로그램을 다운로드 받는다. 그런 다음 LSCP를 설치 할 리눅스 시스템에 업로드 시킨 후 다음 단계에서 설치한다.
1.1.1.1.2. 프로그램 설치
LSCP 설치는 다음과 같이 Unix 표준 설치법에 따라 진행한다.
tar xvfpj lscp-1.0.0.tar.bz2 cd lscp-1.0.0 ./configure --prefix=/usr/local/lscp make make install |
configure 단계에서 '--prefix' 옵션을 주어 /usr/local/lscp 아래에 프로그램을설치한다. (옵션을 주지 않으면, 기본 /usr/local/ 아래에 프로그램이 설치된다.)
1.1.1.2. 프로그램 기본 설정
1.1.1.2.1. 설정파일 편집
LSCP는 2개의 설정파일로 이뤄진다. 설정파일의 위치는 설치시 지정한 디렉토리(본 매뉴얼을 따라 설치했다면, /usr/local/lscp가 된다)아래 conf/디렉토리 안에 존재한다.
설정파일 1 : /usr/local/lscp/conf/lscp.conf
설정파일 2 : /usr/local/lscp/conf/lscp_system_files.conf
설정파일 1 ( lscp.conf )
# This file is lscp configuration file. # Please keep the following format: # variable="value" # Variables and the value = the connection, and must not have spaces. # 사용할 LSCP 모듈 정의 conf_lscp_modules="resource_graph resource_disk backdoor listen_ports firewall status_bigfiles status_mailqueue status_cron status_users process chkrootkit modify_files init_scripts system_files users login_users resource_version status_logfiles error_report report_hw report_sw report_etc report_net" ## Administrator mail address ( 문제점 발생시 받을 메일 주소 입력 ) conf_admin_mail="관리자메일주소입력" # min big file size(Mbyte) (큰 파일 검색시 최소 파일 크기) conf_min_big_file_size=50 # max mailqueue count count ( 최대 메일 큐의 메일 수 ) conf_max_mailqueue_count=200 # Apache configuration file ( Apache 설정파일 및 실행 경로 지정 ) conf_httpd_conf="/usr/local/apache/conf/httpd.conf" conf_httpd_bin="/usr/local/apache/bin"
## LSCP Result Page security ( 보안 설정 ) conf_htauth=yes conf_htuser="lscp" conf_htpasswd="sulinux" # The list of Draw graph process ( max : 5 process) ( 그래프를 그릴 프로세스 ) conf_graph_process="httpd mysql" # monitor ethernet device ( 그래프를 그릴 네트웍 디바이스 ) conf_graph_eth_dev="eth0" # check time ( Minute must has 00,05,10 ... 55) ( 매일 점검 할 시간 ) conf_check_time="07:00" # Archive period ( 점검 결과를 보관 할 일 수 ) conf_archive_period="60" # safe process lists ( 문제 없는 프로세스 리스트 정의 ) conf_safe_process="awk uptime lscp_cron" |
설정파일 1 ( lscp.conf )은 위의 표와 같은 항목이 있다. 모든 옵션은 ‘변수=”값“’과 같은 형식으로 설정한다. 변수와 값 사이에는 ‘=’ 이외의 공백이 들어가면 작동하지 않는다. (예) a ="b" 또는 a= "b" 는 작동하지 않음)
지시자 정의
conf_lscp_modules
LSCP의 여러 기능을 가진 단위 모듈의 사용 여부를 지정한다. 여러 모듈을 열거 할 수 있으며, 모듈과 모듈 사이에는 공백으로 띄워 구분한다.
예) conf_lscp_modules="resource_graph resource_disk"
conf_admin_mail
LSCP에 의해 시스템을 점검 한 결과 문제점이 발생되면, 메일을 보내게 된다. 이 문제점에 대한 내용을 받을 메일 주소를 입력한다.
예) conf_admin_mail="doly@sulinux.net"
conf_min_big_file_size
LSCP 큰 파일 점검 모듈에서 기준으로 사용할 파일 사이즈이다. 명시한 사이즈 이상인 파일만 리스팅 하게 된다. (단뒤: MByte)
예) conf_min_big_file_size=50
conf_max_mailqueue_count
LSCP 메일 큐 점검 모듈에서 기준으로 사용할 메일 큐에 쌓이 메일 수이다. 명시한 수 이상의 메일이 쌓였을 때 점검 문제점 보고에 출력하고, 메일을 발송하게 된다.
예) conf_max_mailqueue_count=200
conf_httpd_conf
LSCP에서 웹서버 설정 도메인 등을 조사하기 위해 아파치 설정파일(httpd.conf)를 사용한다. 이 httpd.conf파일의 위치를 지정한다.
예) conf_httpd_conf="/usr/local/apache/conf/httpd.conf"
conf_httpd_bin
웹서버(아파치)의 실행프로그램 경로를 지정한다.
예) conf_httpd_bin="/usr/local/apache/bin"
conf_htauth
웹서버(아파치)의 페이지 보안 설정기능을 사용하여 웹페이지 접근을 통제를 할 것인지 여부를 결정한다. ( 입력 값 : yes 또는 no )
예) conf_htauth=yes
conf_htuser
웹서버(아파치)의 페이지 보안 설정기능을 사용한다면(conf_htauth=yes) 인증할 사용자를 설정한다.
예) conf_htuser="lscp"
conf_htpasswd
웹서버(아파치)의 페이지 보안 설정기능을 사용한다면(conf_htauth=yes) 인증할 사용자의 비밀번호를 설정한다.
예) conf_htpasswd="sulinux"
conf_graph_process
LSCP 자원 그래프 모듈에서 프로세스 수를 그래프로 보여준다. 그래프에서 보여줄 프로세스 종류를 선택한다. 프로세스는 여러개 그릴 수 있으며, 공백으로 구분하여 열거한다. (최대 5개)
예) conf_graph_process="httpd mysql"
conf_graph_eth_dev
LSCP 자원 그래프 모듈에서 이더넷 인터페이스에 대한 트래픽을 그래프로 그린다. 리눅스 시스템에는 있는 여러 인터페이스 중 그래프를 그릴 디바이스를 선택하기 위해 본 지시자를 사용한다.
예) conf_graph_eth_dev="eth0"
conf_check_time
LSCP는 cron에 의해 5분에 1회 실행된다. 시스템의 전반적인 상황은 매 분 점검하게 되면, 시스템에 많은 부하를 주게 된다. 시스템 전반적인 점검은 하루에 1회 수행한다. 수행하는 시간을 설정하는 지시자이다.
예) conf_check_time="07:00"
conf_archive_period
LSCP는 매일 전반적으로 시스템을 점검하게 된다. 이 점검 된 결과는 시간이 지나서 필요할 때가 있다. 그렇지만, 너무 많이 남게 되면, 많은 디스크 공간을 필요로 하기 때문에 주기적으로 지워주는 것이 필요하다. 본 지시자를 사용하여 점검 결과를 보관할 기간을 정할 수 있다.
예) conf_archive_period="60"
conf_safe_process
LSCP의 실행 프로세스 점검기능에서 안전한 프로세스가 수상한 프로세스로 오탐하는 경우가 있다. 이러한 경우 안전한 프로세스 명을 넣어 줄 수 있는 지시자이다.
예) conf_safe_process="awk uptime lscp_cron"
설정파일 2 ( lscp_system_files.conf )
# This file is lscp configuration file(system file list for lscp_mod_system_files) # Please keep the following format: # /path/files /bin/chgrp /bin/chmod /bin/chown /bin/cp /bin/df ## 중간 생략 ## /usr/bin/passwd /usr/bin/pstree /usr/bin/ssh /usr/bin/top /usr/bin/w /usr/bin/wget /usr/bin/who /usr/sbin/lsof /usr/sbin/sendmail |
설정파일 2 (lscp_system_files.conf)는 시스템의 중요한 파일을 열거해 ‘중요파일 점검’시 점검하게 될 항목들을 명시한다.
⋇ 설정 변경 후에는 lscp_init 을 실행한다.
1.1.1.1.1. 점검 DB 초기화
LSCP 설치 후 초기에 각 리눅스 시스템의 초기 정보를 저장하게 된다. 다음 명령어를 사용하여 저장한다.
명령어 위치 : 프로그램설치경로/bin/lscp_init
예) /usr/local/lscp/bin/lscp_init
[root@sul2-64bit bin]# ./lscp_init 1. 초기화중 lscp_mod_resource_graph ..... [ 활동 없음 ] 2. 초기화중 lscp_mod_resource_disk ..... [ 확인 ] 3. 초기화중 lscp_mod_backdoor ..... [ 확인 ] 4. 초기화중 lscp_mod_listen_ports ..... [ 확인 ] 5. 초기화중 lscp_mod_firewall ..... [ 확인 ] 6. 초기화중 lscp_mod_status_bigfiles ..... [ 활동 없음 ] 7. 초기화중 lscp_mod_status_mailqueue ..... [ 활동 없음 ] 8. 초기화중 lscp_mod_status_cron ..... [ 활동 없음 ] 9. 초기화중 lscp_mod_status_users ..... [ 활동 없음 ] 10. 초기화중 lscp_mod_process ..... [ 확인 ] 11. 초기화중 lscp_mod_chkrootkit ..... [ 확인 ] 12. 초기화중 lscp_mod_modify_files ..... [ 활동 없음 ] 13. 초기화중 lscp_mod_init_scripts ..... [ 확인 ] 14. 초기화중 lscp_mod_system_files ..... [ 확인 ] 15. 초기화중 lscp_mod_users ..... [ 활동 없음 ] 16. 초기화중 lscp_mod_login_users ..... [ 활동 없음 ] 17. 초기화중 lscp_mod_resource_version ..... [ 활 |
관련링크
댓글목록
등록된 댓글이 없습니다.