본문 바로가기

물고기2171

syslog 로그 메세지 MySQL DB 기록 1. MySQL DB 생성 CREATE DATABASE syslog; USE syslog; CREATE TABLE SystemEvents ( ID int unsigned not null auto_increment primary key, CustomerID bigint, ReceivedAt datetime NULL, DeviceReportedTime datetime NULL, Facility smallint NULL, Priority smallint NULL, FromHost varchar(60) NULL, Message text, NTSeverity int NULL, Importance int NULL, EventSource varchar(60), EventUser varchar(60) NULL, Eve.. 2009. 4. 28.
MySQL 인젝션 공격 방어하는 GreenSQL GreenSQL( http://www.greensql.net/ )은 MySQL에 대한 SQL 인젝션(Injection) 공격을 방어하는 프락시 개념의 어플리케이션이다. 웹페이지를 호출하면 DB쿼리는 먼저 GreenSQL 로 넘어겨지고, 검사한 후 정상적이면 MySQL 서버로 요청하는 과정을 거친다. GreenSQL을 설치하고 실행과정은 이렇다. MySQL 서버는 기존 그대로 실행(디폴트 3306 포트)하고, GreenSQL을 3305포트로 실행(127.0.0.1:3305)한다. 이 때 GreenSQL은 MySQL 서버로 커넥션이 이뤄진다. 웹페이지는 DB커넥션을 GreenSQL의 3305포트로 커넥션하도록 변경해주면 된다. (MySQL을 3305로, GreenSQL을 3306으로 실행할 수도 있을 것이다.. 2009. 4. 28.
MySql 쿼리 디버깅을 위한 방법 - syslog PHP를 이용하여 웹 어플리케이션을 작성 할 때 난감한 이슈 중의 하나는 Database query를 찍어보는 것이다. echo나 print로 로그를 찍게 되면, 화면에 직접 출력되기 때문에 만약 운영중인 웹 어플리케이션이라면 화면 가득 쏟아져 나온 쿼리를 보게 될 것이다. 단순하게 파라미터나 그 밖의 변수를 찍어 보는 정도라면 echo나 print가 적당할 수도 있겠지만, 쿼리를 찍는다는건 긴 스트링일 가능성이 크기 때문에 그리 추천할 만 한 방법은 아니다. IBM 디벨로퍼웍스에서는 PHP 웹 어플리케이션 디버깅 시에 사용할 만한 좋은 기법으로 syslog()에 대한 아티클을 게재한 바 있다. syslog로 PHP 프로그램 디버깅하기 (한글) [원문보기] PHP에서 syslog 함수는 아래와 같이 정의.. 2009. 4. 28.
PHP로 파일 압축/해제하기 - PclZip Library PHP만으로도 zip/tar 등의 압축 방식으로 파일이나 디렉토리를 압축하거나 해제할 수 있습니다. 먼저 PclZip Library가 필요한데요, 현재 공식 사이트에는 접속이 안되어서 여기에 다운로드 링크를 걸어두겠습니다. pclzip.lib.php 파일이나 디렉토리의 압축 압축 파일의 해제 http://www.phpconcept.net 2009. 4. 28.
리눅스보안 - 필수 보안 조치법 1. SUID 점검하기.(root 소유의 SetUID및 SetGID 파일들 점검 find / -user root -perm -4000 -print (SetUID) find / -user root -perm -2000 -print (SetGID) find / -user root -perm -4000 -print -xdev 2. 파티션별 디스크사용량 점검 df -h 3. 파일무결성 점검. http://weblog.websea.co.kr/tripwire/tripwire 4. 백도어 설치여부 점검.(/dev 체크 및 rootkit 점검) find /dev -type f -exec ls -l {} \; ./chkrootkit 5. 현재 열려진 포트 및 응답가능한 포트 점검. netstat -atp | grep L.. 2009. 4. 27.