入侵检测系统.linux下与MySql连用的例子

源代码在线查看: create_oracle.sql

软件大小: 976 K
上传用户: koalalee
关键词: linux MySql 入侵检测系统
下载地址: 免注册下载 普通下载 VIP

相关代码

				--  Copyright (C) 2000 Carnegie Mellon University				--  Portions Copyright (C) 2000 Mike Andersen 				--  Portions Copyright (C) 2001 Andrew Stubbs 				--  Portions Copyright (C) 2001 Jed Pickel 				--				--  Author(s): Mike Andersen 				--             Thomas Stenhaug 				--				--  Maintainer: Jed Pickel 				--				--  This program is free software; you can redistribute it and/or modify				--  it under the terms of the GNU General Public License as published by				--  the Free Software Foundation; either version 2 of the License, or				--  (at your option) any later version.				--				--  This program is distributed in the hope that it will be useful,				--  but WITHOUT ANY WARRANTY; without even the implied warranty of				--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the				--  GNU General Public License for more details.				--				-- You should have received a copy of the GNU General Public License				-- along with this program; if not, write to the Free Software 				-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, 				-- MA 02111-1307, USA.				--				--				-- This file was recently updated by Andrew Stubbs to fix some bugs				-- and make the script more user friendly.				--  				-- Comments from Andrew  on his update:				--  				--    There's a trigger in place of the AUTO_INCREMENT-option for the				--    sensor.sid.  I don't fully understand how the NUMBER-type conversion				--    works at this point.				--				--    Oracles DATE seems "bit" more picky on the format than MySQL.				--				--    Rename it to : create_oracle.sql				--    to run type : sqlplus user/password@db_instance @ create_oracle.sql				--				--    The drop tables / sequences are a personal preference - remove if 				--    you wish the prompt merely echos the stuff after it - useful for				--    figuring out where you are when its running								prompt schema;				drop table schema;								CREATE TABLE schema ( vseq        INT          NOT NULL,				                      ctime       VARCHAR2(24) NOT NULL,				                      PRIMARY KEY (vseq));								INSERT INTO schema  (vseq, ctime) VALUES ('103', sysdate);								prompt event;				drop table event;				CREATE TABLE event  ( sid    INT         NOT NULL,				                      cid    INT         NOT NULL,				                      signature   INT          NOT NULL,				                      timestamp   VARCHAR2(24) NOT NULL,				                      PRIMARY KEY (sid,cid));								prompt signature;				drop table signature;				CREATE TABLE signature ( sig_id   INT           NOT NULL,				                         sig_name VARCHAR2(255) NOT NULL,				                         sig_class_id INT,				                         sig_priority INT,				                         sig_rev      INT,				                         sig_sid      INT,				                         PRIMARY KEY (sig_id));								--				--  auto-increment the signature.sig_id				--				drop sequence seq_snort_signature_id ;				CREATE SEQUENCE seq_snort_signature_id START WITH 1 INCREMENT BY 1;								CREATE or replace TRIGGER tr_snort_signature_id				        BEFORE INSERT ON signature				        FOR EACH ROW				        BEGIN				                SELECT seq_snort_signature_id.nextval INTO :new.SIG_ID FROM				dual;				        END;				/				prompt sig_reference;				drop table sig_reference;				CREATE TABLE sig_reference (sig_id  INT    NOT NULL,				                            ref_seq INT    NOT NULL,				                            ref_id  INT    NOT NULL,				                            PRIMARY KEY(sig_id, ref_seq));								prompt reference;				drop table reference;				CREATE TABLE reference (  ref_id        INT          NOT NULL,				                          ref_system_id INT          NOT NULL,				                          ref_tag       VARCHAR2(20) NOT NULL,				                          PRIMARY KEY (ref_id));				--				--  auto-increment the reference.ref_id				--								drop sequence seq_snort_reference_id;				CREATE SEQUENCE seq_snort_reference_id START WITH 1 INCREMENT BY 1;								CREATE or replace TRIGGER tr_snort_reference_id				        BEFORE INSERT ON reference				        FOR EACH ROW				        BEGIN				                SELECT seq_snort_reference_id.nextval INTO :new.REF_ID FROM				dual;				        END;				/								prompt reference_system;				drop table reference_system ;				CREATE TABLE reference_system ( ref_system_id   INT          NOT NULL,				                                ref_system_name VARCHAR2(20),				                                PRIMARY KEY (ref_system_id));								drop sequence seq_snort_ref_system_id ;				CREATE SEQUENCE seq_snort_ref_system_id START WITH 1 INCREMENT BY 1;				CREATE or replace TRIGGER tr_snort_ref_system_id				        BEFORE INSERT ON reference_system				        FOR EACH ROW				        BEGIN				                SELECT seq_snort_ref_system_id.nextval INTO				:new.REF_SYSTEM_ID FROM dual;				        END;				/				prompt sig_class;				drop table sig_class;				CREATE TABLE sig_class ( sig_class_id   INT   NOT NULL,				                         sig_class_name VARCHAR(60) NOT NULL,				                         PRIMARY KEY (sig_class_id));								drop sequence seq_snort_sig_class_id ;				CREATE SEQUENCE seq_snort_sig_class_id START WITH 1 INCREMENT BY 1;				CREATE or REPLACE TRIGGER tr_snort_sig_class_id				        BEFORE INSERT ON sig_class				        FOR EACH ROW				        BEGIN				           select seq_snort_sig_class_id.nextval into :new.sig_class_id from				dual;				        END;				/				--				--  store info about the sensor supplying data				--				prompt sensor;				drop table sensor;				CREATE TABLE sensor (				        sid             INT NOT NULL,				        hostname        VARCHAR2(100),				        interface       VARCHAR2(100),				        filter          VARCHAR2(100),				        detail          INT,				        encoding        INT,				        PRIMARY KEY (sid));								--				--  auto-increment the sensor.sid				--				drop sequence seq_snort_sensor_id ;				CREATE SEQUENCE seq_snort_sensor_id START WITH 1 INCREMENT BY 1;								CREATE OR REPLACE TRIGGER tr_snort_sensor_id				        BEFORE INSERT ON sensor				        FOR EACH ROW				        BEGIN				                SELECT seq_snort_sensor_id.nextval INTO :new.SID FROM dual;				        END;				/								--  All of the fields of an ip header				prompt iphdr;				drop table iphdr;				CREATE TABLE iphdr (				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        ip_src          INT NOT NULL,				        ip_src0         INT,				        ip_src1         INT,				        ip_src2         INT,				        ip_src3         INT,				        ip_dst          INT NOT NULL,				        ip_dst0         INT,				        ip_dst1         INT,				        ip_dst2         INT,				        ip_dst3         INT,				        ip_ver          INT,				        ip_hlen         INT,				        ip_tos          INT,				        ip_len          INT,				        ip_id           INT,				        ip_flags        INT,				        ip_off          INT,				        ip_ttl          INT,				        ip_proto        INT NOT NULL,				        ip_csum         INT,				        PRIMARY KEY (sid,cid));												--  All of the fields of a tcp header				prompt tcphdr;				drop table tcphdr;				CREATE TABLE tcphdr (				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        tcp_sport       INT NOT NULL,				        tcp_dport       INT NOT NULL,				        tcp_seq         INT,				        tcp_ack         INT,				        tcp_off         INT,				        tcp_res         INT,				        tcp_flags       INT NOT NULL,				        tcp_win         INT,				        tcp_csum        INT,				        tcp_urp         INT,				        PRIMARY KEY (sid,cid));												--  All of the fields of a udp header				prompt udphdr;				drop table udphdr;				CREATE TABLE udphdr (				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        udp_sport       INT NOT NULL,				        udp_dport       INT NOT NULL,				        udp_len         INT,				        udp_csum        INT,				        PRIMARY KEY (sid,cid));												--  All of the fields of an icmp header				prompt icmphdr;				drop table icmphdr;				CREATE TABLE icmphdr(				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        icmp_type       INT NOT NULL,				        icmp_code       INT NOT NULL,				        icmp_csum       INT,				        icmp_id         INT,				        icmp_seq        INT,				        PRIMARY KEY (sid,cid));												--  Protocol options				prompt opt;				drop table opt;				CREATE TABLE opt (				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        optid           INT NOT NULL,				        opt_proto       INT NOT NULL,				        opt_code        INT NOT NULL,				        opt_len         INT,				        opt_data        LONG,				        PRIMARY KEY (sid,cid,optid));												--  Packet payload				prompt data;				drop table data;				CREATE TABLE data (				        sid             INT NOT NULL,				        cid             INT NOT NULL,				        data_payload  LONG,				        PRIMARY KEY (sid,cid));												--  encoding is a lookup table for storing encoding types				prompt encoding				drop table encoding;				CREATE TABLE encoding (				        encoding_type   INT NOT NULL,				        encoding_text   VARCHAR2(50) NOT NULL,				        PRIMARY KEY (encoding_type));								INSERT INTO encoding (encoding_type, encoding_text) VALUES (0, 'hex');				INSERT INTO encoding (encoding_type, encoding_text) VALUES (1, 'base64');				INSERT INTO encoding (encoding_type, encoding_text) VALUES (2, 'ascii');												--  detail is a lookup table for storing different detail levels				prompt detail;				drop table detail;				CREATE TABLE detail (				        detail_type     INT NOT NULL,				        detail_text     VARCHAR2(50) NOT NULL,				        PRIMARY KEY (detail_type));								INSERT INTO detail (detail_type, detail_text) VALUES (0, 'fast');				INSERT INTO detail (detail_type, detail_text) VALUES (1, 'full');							

相关资源