開源情報訂閱OpenTaxii+mysql+nginx 配置教程

xiaochao發表於2017-07-07

轉自我的部落格

安裝過程中注意點

  • 官方給出的service.yml配置檔案中預設使用https作為請求方式,所以如果不能提供https服務的話,請註釋掉

  • opentaxii預設安裝是0.1.9,但是0.1.9有個關於格式的問題,所以,如果實際環境中發現無法push 和pull 資料,請使用0.1.8版本

  • 經測試,opentaxii+mysql 不如 opentaxii+sqllite的效能,很是奇怪。所以實際使用過程中可以都測試看看。

環境需求:

python版本:2.7,3.4
pip:python包管理工具
mysql: 無版本需求
nginx: 無版本需求

安裝步驟:

  1. pip install taxii gunicorn

  2. 建立mysql資料庫:taxii_data,taxii_auth

  3. 修改配置檔案taxii.yml檔案,9行和15行裡的mysql連線資訊配置

  4. 修改配置檔案taxii.yml第一行域名為實際的域名

  5. 執行命令export OPENTAXII_CONFIG=taxii.yml檔案的路徑

  6. 根據實際的情況,修改service.yml和collections.yml

  7. 建立服務:opentaxii-create-services -c services.yml

  8. 建立集合:opentaxii-create-collections -c collections.yml

  9. 新增一個使用者名稱密碼:opentaxii-create-account -u username -p password

  10. 執行opentaxii(注意修改日誌路徑):gunicorn opentaxii.http:app –workers 2 –log-level debug –log-file /home/worker/log/opentaxii.log –timeout 30 –bind 0.0.0.0:19000 -D

測試安裝是否成功

  1. pip install cabby

  2. taxii-discovery –path http://localhost:9000/service…:discovery-a為service.xml裡配置的discovery,沒有輸出錯誤資訊,則成功

  3. taxii-collections –path http://localhost:9000/service…為service.xml裡配置的collection_management,沒有輸出錯誤資訊,則成功

HTTPS配置

  1. 準備好https證照

  2. 生成dbparam:openssl dhparam -out dhparam.pem 2048

  3. nginx 增加server配置如下(注意修改 cert.pem,cert.key,ssl_dhparam,access_log,error_log配置項的檔案路徑):

    server {

    listen 443 ssl;
    server_name taxii.example.com;
    ssl_certificate      /usr/local/nginx/ssl/cert.pem;
    ssl_certificate_key  /usr/local/nginx/ssl/cert.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    
    access_log  /var/log/nginx/taxii_access.log;
    error_log  /var/log/nginx/taxii_error.log;
    location / {
        proxy_pass http://127.0.0.1:19000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    }

  4. 重啟nginx

相關文章