1。システム環境構成
システム環境:CENTOS7X64 IPアドレス:172.16.91.130
1。静的IPアドレスを設定します
[root@localhost backlion] #vi/etc/sysconfig/network-scripts/ifcfg-*
bootproto=static #dhcp to static(modify)
onboot=はい#この構成は、通常は最後の行で電源を入れるときにenableです(変更)
iPaddr=172.16.91.130 #Static IP(追加)
ゲートウェイ=172.168.91.1 #Default Gateway、仮想マシンがインストールされている場合、通常は2、つまりVMNET8のゲートウェイ設定(追加)です。
netmask=255.255.255.0 #subnetマスク(追加)
DNS1=172.16.95.70 #DNS構成。仮想マシンをインストールする場合、DNSのみがゲートウェイです。複数のDNS URLを追加する場合は、それらを追加します(追加)
[root@localhost〜]#/etc/init.d/network再起動
DNS:をセットアップします
vim /etc/resolv.conf
nameserver=114.114.114.114
nameserver=8.8.8.8
2。ホスト名を設定
[root@localhost network-scripts]
Vim /etc /hosts最後に、IPとホスト名のバインディングを追加します
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.91.121 elk-server.com elk#最後の1つはホスト名のエイリアスです。イントラネット名ドメイン名:パブリック名ホスト名は、イントラネットのDNSに相当するローカルホストのホスト名ではありません。
3。ファイアウォールをオフにします
[root@selks-server〜]#cat
/etc/selinux/config
#このファイルはの状態を制御します
システム上のselinux。
#selinux=これらのいずれかを取得できます
3つの値:
#enforcing -selinuxセキュリティ
ポリシーが実施されます。
#permissive -selinuxプリント
強制する代わりに警告。
#Disabled- SELINUXポリシーはありません
ロード。
selinux=disabled
#SELINUXTYPE=の1つを取ることができます
3つの値:
#targeted-ターゲットプロセス
保護されています、
#minimum-の変更
ターゲットポリシー。選択されたプロセスのみが保護されています。
#MLS-マルチレベルのセキュリティ
保護。
selinuxType=ターゲット
または
[root@localhost〜]#sed -i
7s/endforcing/disabled//etc/selinux/config
閉じるファイアウォール:
[root@selks-server〜]#systemctl
firewalld.service #stop firewallを停止します
[root@selks-server〜]
[root@localhost〜] #systemctl
List-Unit-Files | Grep Firewalld#ファイアウォールがランダムに開始されるかどうかを確認します
4。 wget
をインストールします[root@selks-server〜]#yumインストールwget –y
5。 Yumソースを交換
Alibabaクラウドソースに置き換え、システムを更新してソフトウェアをすばやくダウンロードする4
[root@selks-server〜]#yum
WGETをインストールします
[root@selks-server〜]#mv /etc/yum.repos.d/centos-base.repo /etc/yum.repos.d/centos-base.repo.backup
[root@selks -server〜]#wget -o
/etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo
[root@selks-server〜]#yum cleanすべて
[root@selks-server〜]#yum makecache
6.システムを挿入
[root@selks-server〜]#yum -y
アップデート
7。 Epelソースを取り付けます
[root@selks-serverルール]#yum -y
Epel-Releaseをインストールします
8。時間同期
[root@localhost yum.repos.d]#yum
-Yインストールntp ntpdate #install ntp time同期関連ソフトウェアパッケージ
[root@localhost yum.repos.d] #cat /etc/ntp.conf #confirm構成ファイルに次の時間同期ソースがあること
サーバー0.rhel.pool.ntp.org iburst
サーバー1.Rhel.pool.ntp.org iburst
サーバー2.Rhel.pool.ntp.org Iburst
サーバー3.Rhel.pool.ntp.org iburst
[root@localhost yum.repos.d]#systemctl enable ntpd #set ntpdでntpdを自動的に開始する
[root@localhost yum.repos.d]#SystemCtl
NTPD #Start NTPDサービスを今すぐ開始してください
[root@localhost yum.repos.d]#
CP
/usr/share/ゾーンインフェ/アジア/上海/etc/localtime
[root@localhost yum.repos.d]#日付#時間が現在の時刻と一致していることを確認してください
9.ルートを追加します
使用法:route add -net | -host dest gw
Nexthop
ルート追加-NET 10.0.0.0/8 GW
192.168.10.1 #ADDルート
ルート追加デフォルトGW
192.168.10.1 #ADDデフォルトルート
ネットワークカードに関するルートを永続的に追加/削除:/etc/etc/network-scripts/route-interface_name
vim
/etc/network-scripts/route-eth0
address0=222.16.60.148
NetMask0=255.255.255.0
Nexthop0=222.16.60.254
アドレス1=222.16.60.214
NetMask1=255.255.255.0
Nexthop1=222.16.60.254
2。 Suricata
をインストールします1。依存関係パッケージ[root@selks-server〜]#yumをインストールします
wget libpcap-devel libnet-devel pcre-devel gcc-c ++ automake autoconfをインストールします
libtoolは、libyaml-devel zlib-devel file-devel jansson-devel nss-develを作ります
2。Suricata http://Suricata-Ids.org/download/の最新のインストールパッケージをダウンロードしてください(2018年6月14日現在、最新バージョンは4.0.4)
[Root@Selks-Server〜]
[root@selks-server〜]#tar zxvf
Suricata-4.0.4.tar.gz
[root@selks-server〜]#CD
Suricata-4.0.4
3. [root@selks-server〜]#。/configureをコンパイルしてインストールします
Make Make install-full
知らせ:
デフォルトでは、利用可能なコミュニティルールセットスナップショットは、http://rules.emergingthreats/communityからダウンロードされ、/usr/local/etc/suricata/rulesディレクトリに保存されます。
Suricata構成ファイルへのパスは次のとおりです。
/usr/local/etc/suricata/suricata.yaml
4. Suricataを構成する場合:Suricataは、どのポートを使用してもHTTPトラフィックを自動的に検出できることに注意してください。したがって、http_ports変数を正しく指定することはあまり重要ではありません。コマンドは次のとおりです。
[root@selks-server〜]#vim /usr/local/etc/suricata/suricata.yaml
#suricataの構成ファイルは、デフォルトでは/etc/suricata/suricata.yamlにあります。開始する前に、いくつかの重要な変数を構成する必要があります。そのうち、変数は2つのグループに分割されます。1つはアドレスグループ、もう1つはポートグループです。サンプル構成ファイルは次のとおりです
注: home_netが設定されている場合、external_netが設定されています! home_netが設定されている場合、エラーが報告されます。 home_netがイントラネットアドレスを設定している場合、external_netはに設定されています! $ home_netの場合、イントラネット間の一部のアラームは一致できません
address-groups: #configureアドレスグループ
home_net:
'[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]' #Suricataがチェックするネットワークを指定します
#HOME_NET:
'[192.168.0.0/16]'
#HOME_NET: '[10.0.0.0/8]'
#HOME_NET: '[172.16.0.0/12]'
#HOME_NET: 'ANY'
#external_net: '!$ home_net'
external_net: '任意の'#ローカルエリアの外側の他のネットワークアドレスをセットします
http_servers: '$ home_net'
smtp_servers: '$ home_net'
sql_servers: '$ home_net'
dns_servers: '$ home_net'
telnet_servers: '$ home_net'
aim_servers: '$ extenult_net'
dnp3_server: '$ home_net'
dnp3_client: '$ home_net'
modbus_client: '$ home_net'
modbus_server: '$ home_net'
enip_client: '$ home_net'
enip_server: '$ home_net'
ポートグループ:
http_ports: '80'#異なるサービスで使用されるポート番号を識別する
shellcode_ports: '!80'
oracle_ports: 1521
SSH_PORTS: 22
DNP3_PORTS: 20000
modbus_ports: 502
file_data_ports:
'[$ http_ports、110,143]」
FTP_PORTS: 21
##
ステップ2:有効または無効にするルールを選択します
##
Default-Rule-Path:
/usr/local/etc/suricata/rules#デフォルトのルールライブラリパスアドレスをセットします
Rule-Files:
-botcc.rules
# - botcc.portgrouped.rules
-ciarmy.rules
- 妥協した
-drop.rules
-dshield.rules
#
-Elging-Activex.rules
-Elging-Attack_response.rules
-Emerging-chat.rules
-egling-current_events.rules
-Emerging-dns.rules
-Emerging-dos.rules
-Elging-Exploit.rules
-Emerging-ftp.rules
#
-Emerging-Games.rules
#
-Emerging-ICMP_INFO.RULES
#
-ICMP.rules
-Emerging-imap.rules
#
- 新たに不適切な
#
-ingeling-info.rules
-mallware.rules
-mewing-misc.rules
-moving-mobile_malware.rules
-Nemuling-netbios.rules
-Emerging-P2P.rules
-Emerging-Policy.rules
-Emerging-Pop3.rules
-Emerging-RPC.rules
#
-Emerging-Scada.rules
#
-Emerging-Scada_special.rules
-Emerging-Scan.rules
#
-Elging-ShellCode.rules
- 新興smtp.rules
-Emerging-Snmp.rules
-Emerging-SQL.rules
-egling-telnet.rules
-Emerging-TFTP.rules
-Emerging-Trojan.rules
-egling-user_agents.rules
-Emerging-voip.rules
-WEB_CLIENT.RULES EMERGING-WEB_CLIENT.RULES
-WEB_SERVER.RULES EMERGING-WEB_SERVER.RULES
#
-WEB_SPICIFIFIC_APPS.RULES
-Worm.rules
-tor.rules
#
-decoder-events.rules#ルールdirの下でスリカータソースで利用可能
#
-Stream-Events.rules#が入手可能
ルール監督に基づくスリカータソース
-http-events.rules#ルールの下でSuricataソースで利用可能
監督
-SMTP-Events.rules#は、ルールに基づくSuricataソースで利用可能です
監督
-DNS-Events.rules#は、Suricataのソースで利用可能です
ルール監督
-TLS-EVENTS.RULES#は、Suricataのソースで利用可能です
ルール監督
#
-modbus-events.rules#が入手可能
ルール監督に基づくスリカータソース
#
-App-Layer-events.rules#が入手可能
ルール監督に基づくスリカータソース
#
-DNP3-EVENTS.RULES#が利用可能です
ルール監督に基づくスリカータソース
#
-NTP-Events.rules#が入手可能
ルール監督に基づくスリカータソース
分類-File:
/usr/local/etc/suricata/classification.config
Reference-config-file:
/usr/local/etc/suricata/reference.config
しきい値file:
/usr/local/etc/suricata/threshold.config
##
##ステップ3:出力を選択します
有効にする
##
タイプ:
-Alert:
#payload: yes#base64でペイロードのダンプを有効にします
Payload-Buffer-Size: 6kb#max
イブログペイラードサイズの制限で出力するペイロードバッファーのサイズ
Payload-Printable:はい#プリント可能にペイロードのダンプを有効にします
(損失)フォーマット元のペイロードを記録します
#packet:はい#パケットのダンプを有効にします
(ストリームセグメントなし)
#http-body: yes#httpボディのダンプを有効にする
base64
http-body-printable: yes#dumping of
印刷可能な形式のHTTPボディは、httpオリジナルサウンドを記録します
Metadata:はい#L7/Applayerフィールド、Flowbitを追加します
アラートへの他のVAR
#パターンマッチャーバッファと
できるだけ多くのパケットを並行してスキャンします。Max-Pending-Packets: 1024#Suricataが同時に1と同時に処理できるパケットの数をセットし、最大値はメモリのサイズに依存します。メモリが大きくなると、より大きな値を設定し、パフォーマンスが向上する可能性があります。デフォルト値は1024です
オペレーティングシステムネットワークスタック自身の動作を防ぐために使用されるよく知られている攻撃方法のいくつか(たとえば、TCP再組み立て)。対策として、Modern IDCは、ターゲットオペレーティングシステムの検出エンジンアルゴリズムを微調整することにより、「ターゲットベースの」検出手段を提供します。したがって、ホストがどのオペレーティングシステムを実行しているかを知っている場合、この情報をSuricataに提供すると、検出の成功率を大幅に改善できます。これがHost-Os-Policyの存在です。この例では、デフォルトのIDCポリシーはLinuxシステムです。 IPアドレスにオペレーティングシステム情報が指定されていない場合、SuricataはデフォルトでLinuxベースの検出ポリシーを適用します。次のように、192.168.122.0/28および192.168.122.155への通信がキャプチャされると、SuricataはWindowsベースの検出ポリシーを適用します。
host-os-policy:
#デフォルトのポリシーウィンドウを作成します。
Windows: [10.22.0.0/24]
BSD: []
bsd-right: []
old-linux: []
Linux: [0.0.0.0/0,10.22.0.188]
Old-Solaris: []
solaris: []
hpux10: []
hpux11: []
irix: []
macos: []
Vista: []
Windows2k3: []
5。ネットワークカードLGO/GRO機能をオフにします(ネットワークカード名は実際の実際のものと組み合わせて変更されます)[root@selks -server〜]#ethtool -k
ens32 gro off lro off
変更できません
大規模なオフロード(ネットワークカードがLRO/GRO機能をサポートしていないことを意味します。
6.利用可能なすべての操作モード[root@selks-server〜]#/usr/local/bin/suricataを確認してください
-List-Runmodes