安全防禦與加固

 

安全加固php

Centos 7 安全加固
SSH 加密html

yum -y install expect
mkpasswd

服務器上全部帳號的密碼都要採用毫無關聯的強密碼,密碼爲很多於16位的大小寫字母數字特殊符號的組合。java

 


修改SSH配置文件node

1. 改默認端口  22 ->  57862
2. 禁止root賬號登陸
3. 指定容許登陸賬號nginx

SHH root 
PermitRootLogin no
AllowUsers ccav

 

啓用強制密碼長度策略git

vim /etc/login.defs
..... PASS_MIN_LEN
13


檢查是否存在除root以外UID爲0的用戶github

awk -F: '($3 == 0) { print $1 }' /etc/passwd

 

檢測登錄系統是否須要密碼web

awk -F: '($2 == ""){print $1}' /etc/passwd

 

賬戶口令複雜度及按期更換面試

[root@localhost]# passwd  xxxxxx

 


禁用NATsql

echo 0 > /proc/sys/net/ipv4/ip_forward

 

Bash日誌
設置環境變量爲只讀:

readonly HISTFILE
readonly HISTFILESIZE
readonly HISTSIZE
readonly HISTCMD
readonly HISTCONTROL
readonly HISTIGNORE

爲history文件添加時間

export HISTTIMEFORMAT=‘%F %T’

設置history文件只能追加:

chatter +a ~/.bash_history

 

 

 

 

Apache

服務器Banner信息隱藏

apache 配置文件
vim /etc/httpd/conf/httpd.conf ... ServerTokens Prod ServerSignature Off


PHP 配置文件
vim /etc/php.ini
...
    expose_php = Off

防止列目錄泄露敏感信息
Options Indexes FollowSymLinks
改成
Options FollowSymLinks
 

指定目錄禁止php解析

<Directory "/var/www/html/uploads">
    php_flag engine off
</Directory>

 

限制管理員後臺特定IP訪問

<Directory "/var/www/html/admin"> 
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.111
</Directory>

 

關閉對.htaccess的支持

AllowOverride None

禁止顯示版本

server_tokens off;

 

或者經過源碼編譯的時候修改

vim /src/core/nginx.h
...
#define NGINX_VERSION "1.9.15" #define NGINX_VER "nginx/" NGINX_VERSION

 

 

禁止上傳目錄禁止php文件
解析目錄不可寫,可寫目錄不解析
單個目錄

location ~ /upload/.*\.(php|php5)?$ { 
    deny all; 
}

 

多個目錄

location ~* ^/(administrator|upload)/.*\.(php)$ {
    deny all;
}

 

 


禁止訪問全部目錄下的敏感文件

location ~. *\.(sql|log|txt|rar|zip|sh|py|svn|git) {
    deny all;
}

 

 

禁用沒必要要的HTTP方法

if ($request_method !~ ^(GET|HEAD|POST)$)
{
    return 405;
}


Nginx、php-fpm運行賬號及組爲nobody

Lua + nginx

 

 

 

 

 

Tomcat

tomcat弱口令拿Shell

tomcat tomcat 
admin 空 
admin admin 
admin 123456

 

 

補丁和漏洞管理

必須及時安裝與安全性相關的tomcat補丁
http://tomcat.apache.org/lists.html#tomcat-announce

 


設置Tomcat服務最小權限

useradd -s /sbin/nologin tomcat

vim /usr/lib/systemd/system/tomcat8.service
... #service下添加 User
=tomcat Group=tomcat
chown -R tomcat:tomcat /usr/local/tomcat

 

 


網絡級限制

tomcat8上已經禁止全部,只容許本地訪問。

vim  /usr/local/tomcat/webapps/manager/META-INF/context.xml
...
<Valve className="org.apache.catalina.valves.RemoteHostValve" 
   allow=".*\.admins\.domain\.com" 
/>

 

 

 

用戶管理

vim ./tomcat-users.xml
...
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="admin" password="123ccc" roles="manager-gui,manager-script,manager-jmx,manager- 
     status"/>

 

 

 

隱藏tomcat版本信息

修改$CATALINA_HOME/conf/server.xml,

在Connector節點添加server字段

/usr/local/tomcat/lib/org/apache/catalina/util

 

 

 


關閉自動部署
在$CATALINA_HOME/conf/server.xml中的host字段

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

 

 

session超時

vim  ./conf/web.xml
...
<session-config> <session-timeout>20</session-timeout> </session-config>

 

啓用cookie的HttpOnly屬性

CATALINA_BASE/conf/context.xml
<Context useHttpOnly='true' .../>

 

 

 


安全防禦

OpenResty

簡介
1. OpenResty 是一個基於Nginx與Lua的高性能Web平臺
2. 其內部集成了大量精良的 Lua 庫,第三方模塊以及大多數的依賴項。
3. 用於方便地搭建可以處理超高併發,擴展性極高的動態Web應用,Web服務和動態網關。

 

OpenResty 安裝

yum install -y readline-devel pcre-devel openssl-devel git wget vim openssl-devel gcc curl

wget https://openresty.org/download/ngx_openresty-1.9.3.2.tar.gz --no-check-certificate

tar -zxvf ngx_openresty-1.9.3.2.tar.gz

cd ngx_openresty-1.9.3.2

./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre -- with-pcre-jit

gmake && gmake install

 

 

 

功能列表

1. 支持IP白名單和黑名單功能,直接將黑名單的IP訪問拒絕。
2. 支持URL白名單,將不須要過濾的URL進行定義。
3. 支持User-Agent的過濾,匹配自定義規則中的條目,而後進行處理(返回403)。
4. 支持CC攻擊防禦,單個URL指定時間的訪問次數,超過設定值,直接返回403。
5. 支持Cookie過濾,匹配自定義規則中的條目,而後進行處理(返回403)。
6. 支持URL過濾,匹配自定義規則中的條目,若是用戶請求的URL包含這些,返回403。
7. 支持URL參數過濾,原理同上。
8. 支持日誌記錄,將全部拒絕的操做,記錄到日誌中去。
9. 日誌記錄爲JSON格式,便於日誌分析,例如使用ELKStack進行攻擊日誌收集、存儲、搜索和展現。

 

 

配置waf規則

git clone https://github.com/unixhot/waf.git

cp -a ./waf/waf /usr/local/openresty/nginx/conf/

vim /usr/local/openresty/nginx/conf/nginx.conf
...
    http{
    lua_shared_dict limit 50m;
    lua_package_path "/usr/local/openresty/nginx/conf/waf/?.lua";
    init_by_lua_file "/usr/local/openresty/nginx/conf/waf/init.lua";
    access_by_lua_file "/usr/local/openresty/nginx/conf/waf/access.lua」;
     }

 

 

 

OpenRASP (WEB 防火牆)
簡介OpenRASP

是一個百度安全旗下的免費開源安全項目

全稱應該是: Open-source Run-time Ap-pli-ca-tion Self-Pro-tec-tion 


開源實時程序自保護系統 更想詳細瞭解

OpenRASP:

https://www.freebuf.com/articles/web/164413.html

 

可是目前,OpenRASP支持Java和PHP兩種開發語言,那也但願之後能支持各類類型軟件兼容性
https://rasp.baidu.com/doc/install/compat.html

 


部署單機OpenRASP

yum install -y vim wget net-tools epel-release java-1.8.0-openjdk* -y
systemctl stop firewalld.service systemctl disable firewalld.service

 

安裝tomcat

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz

mv
apache-tomcat-8.5.38 /usr/local/tomcat vim /usr/local/tomcat/bin/catalina.sh ... # 在 OS specific support. 前面加入以下代碼: JAVA_HOME=/usr/local/java/jdk1.8.0_151 JRE_HOME=$JAVA_HOME/jre

 

配置啓動:

vim /usr/lib/systemd/system/tomcat8.service
...
    [Unit]
    Description=Tomcat
    After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]
    Type=oneshot
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    ExecReload=/bin/kill -s HUP $MAINPID
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

 

 

 

設置開機啓動:

systemctl enable tomcat8
systemctl start tomcat8.service

 

配置tomcat

vim /usr/local/tomcat/conf/tomcat-users.xml
...
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="123ccc" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

 

 

設置tomcat訪問:

vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

 

下載漏洞平臺:
https://github.com/baidu-security/openrasp-testcases/releases


tomcat部署war

https://github.com/baidu/openrasp/releases/

 

自動安裝,若是沒法自動安裝就進行手動安裝。

java -jar RaspInstall.jar -install /usr/local/tomcat/

 


重啓tomcat

安裝出錯:
https://rasp.baidu.com/doc/install/software.html

 

 

 


手動安裝

cp -rf rasp /usr/share/tomcat/

 

OpenRASP 須要在 rasp 目錄下釋放一些動態連接庫,因此還須要修改 rasp 目錄的權限,e.g

chmod 777 -R rasp

 

對於使用 yum 安裝的 tomcat,
你須要建立 ,並寫入如下內容

vim /etc/tomcat/conf.d/rasp.conf 
... JAVA_OPTS
="-javaagent:${CATALINA_HOME}/rasp/rasp.jar ${JAVA_OPTS}" JAVA_OPTS="-Dlog4j.rasp.configuration=file://${CATALINA_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"

 

 

安裝OpenRASP後臺管理

安裝mongoldb

vim /etc/yum.repos.d/mongodb-org-4.0.repo
...
    [mongodb-org-4.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
   
yum update

sudo yum install -y mongodb-org

systemctl start mongod

 

 

 

安裝Elasticsearch

安裝流程:

https://www.elastic.co/downloads/elasticsearch

 

建立普通用戶

useradd Elasticsearch
chown -R Elasticsearch Elasticsearch目錄

vim /usr/local/elasticsearch/config/elasticsearch.yml
...
network.host:
127.0.0.1 http.port: 9200 discovery.zen.ping.unicast.hosts discovery.zen.minimum_master_nodes

 

若是啓動會出現jdk錯誤問題。

sysctl -w vm.max_map_count=262144

或者永久性修改

/etc/sysctl.conf

 

 

vim /usr/java/elasticsearch/config/jvm.options

將     : -Xmx2g

改爲  :-Xmx256m

也就是  heap size [268435456] /1024/1024  的值

若是:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]這個錯誤(切換到root操做)

vim  /etc/security/limits.conf
...
    seven hard nofile 65536

修改後從新登陸seven用戶,使用以下命令查看是否修改爲功

ulimit -Hn

 

啓動:

/usr/local/elasticsearch/bin/elasticsearch -d

 

 

安裝後臺:
https://github.com/baidu/openrasp/releases

tar -zxvf  rasp-cloud.tar.gz

 

編輯

vim ./conf/app.conf

#將 PanelServerURL、AgentServerURL 裏面的 127.0.0.1 替換爲你的服務器IP或者域名。
#修改es和mongodb

 

啓動

./rasp-cloud -d

 

http://ip:8086 訪問管理後臺。其中,

後臺用戶名固定爲  openrasp,

初始密碼爲            admin@123

 

添加客戶端:
https://github.com/baidu/openrasp/releases

unzip  rasp-java.zip

java -jar RaspInstall.jar -install /path/to/tomcat -appid 9efa63c2964106740d0e99fdeadeb3991326dc95 - 
appsecret p29HD7aZsfTPkPOy1qG8rLzXrCwAoElzwG8ZRPdFZto -backendurl http://207.xxx.xxx.x:8086

 

重啓tomcat

 /etc/init.d/tomcat restart

 

 

更多詳細的功能

文檔:
https://rasp.baidu.com/doc/install/panel.html
https://rasp.baidu.com/

 

 


網絡安全意識


何爲意識?

意識是人腦對大腦內外表象的覺察,用於辨識真僞的功能,必須有必定的刺激強度和必定的持續刺激時間才能產生知覺。

 

密碼安全

1. 我的電腦登陸密碼
2. 企業郵箱
3. 服務器
4. 網盤
5. wifi密碼
6. 加密文檔密碼
7. 網站登陸密碼
8. 手機密碼
9. 等等…

 

 


哪些是弱口令?

 1 ssx123456
 2 qwer1234!@#$
 3 ssx$%^&
 4 p@ssw0rd
 5 123qwe!@#
 6 2wsx#EDC
 7 3edc$RFV
 8 6yhn&UJM
 9 2wsx!QAZ
10 13522213215

# 全是有規律的

 

 

 

爲何會產生弱口令?
我的習慣相關與意識相關,爲了不忘記密碼,使用一個很是容易記住的密碼,或者是直接採用系統的默認密碼等。

123456 
Admin 
Password 
123qwe!@# 
admin888

 

 

神仙密碼


密碼:ppnn13%dkstFeb.1st,
解釋:娉娉嫋嫋十三餘,豆蔻梢頭二月初

密碼:for_$n(@RenSheng)_$n+=」die」
解釋:人生自古誰無死

密碼:doWhile(1){LeavesFly();YangtzeRiverFlows();
解釋:無邊落木蕭蕭下,不盡長江滾滾來

密碼:tcmlflw,syred>febhua]
解釋:停車坐愛楓林晚,霜葉紅於二月花

密碼:dig?F*ckDang5
解釋: 鋤禾日當午

密碼: 1dcypsz1/2jss1/2j#f00
解釋:一道殘陽鋪水中,半江瑟瑟半江紅

 

 

 

 

防範措施

1.電腦自動鎖屏
2.密碼複雜度
3.按期修改密碼

 


郵件安全

不熟人發的郵件謹慎!勿點!

不安全的文件類型
exe、bat、com、vbs、chm等等…
郵件附件、連接、Word、Excel文檔

好比如下: 

 

 

 

攻擊手段

 

 

 

 

 

 

 

郵件加密

重要文件經過郵件發送而且加密;
密碼經過手機或其它方式告知;

錯誤的方式!以下

 

 

 

防範意識
按期清理郵件

 

 

 

上網安全、軟件安全

開發人員:
物理機隔離禁止上網 -> Vmware -> 殺毒軟件

殺毒軟件、安全補丁、官網下載程序

上網速度慢其它異常,請告知負責人

 

公共場所上網
上網註冊賬戶時,用戶名密碼不要與公司內部用戶名密碼相同或有關聯;
出門把wifi功能關閉
不登陸公司任何內部網站
萬能鑰匙

 

其它安全
社會工程學
一種經過對受害者心理弱點、本能反應、好奇心、信任、貪婪等心理陷阱進行諸如欺騙、傷害等危害手段取得自身利益的
手法


第一類 管理
學生面試求工做,企業調查曉背景
入職培訓看視頻,在線考覈得佳績
保密協議有約束,入職員工須遵照
出入公司刷門禁,隨意拍照不準可
領取電腦爲工做,安裝軟件不隨意
手機Wi-Fi開熱點,黑客高手巧破解
軟件安裝存風險,全部業績全盤否
帳號行爲季度審,過後追責覓蹤影
奇葩往事存檔案,訪問控制成擺設
老總房間存機密,廠商輕鬆獲資訊
無知無畏泄天機,衆人開會度危機

 

第二類 設備
內網外網不同,內外有別分開用
雲盤傳輸很便捷,安全防禦有短板
監控設備改密碼,安全隱患了無痕
撿得優盤帶病毒,電腦崩潰扣獎金
陌生連接點不得,緊急殺毒刪短信
殺毒軟件不能少,終端裸奔出告警
手機軟件不正規,偷跑流量沒商量
移動辦公雖方便,安全意識不馬虎
智能設備存風險,安全漏洞勤修復
手機丟了真可怕,信息丟失無底洞
僞基站發假短信,銀行卡換新密碼
詐騙短信來誤導,手機卡號變廢卡
藍牙故障頻發生,當心隱私別泄露
系統補丁莫忽視,及時更新保安全
電腦維修走流程,卸下硬盤妥保管
優盤救急拷文件,作好防禦分開用

 

第三類 環境電腦託運起禍端,輕易送修再違規社交羣內混入賊,財務疏忽釀大錯會議室內藏玄機,輕鬆中標有信心洽談會客應合規,網絡空間亦管控打印文件忘拿走,同事泄密釀損失廢棄文件沒粉碎,老總批評方醒悟訪客接待有制度,看見美女不能忘社交媒體爆猛料,公司利益拋腦後前臺粗心沒防範,騙子輕鬆拿號碼帳號共享有原則,第一時間改密碼突如其來被休假,強制離崗有緣由上網行爲又違規,負面過多遭差評轉崗懲戒是手段,挫折路上生退意下定決心要辭職,離職審查有時日離職手續全辦妥,刪除帳號說再見收回設備不能缺,回顧往事辛酸淚

相關文章
相關標籤/搜索