ミドルウェアの強化

目次

ミドルウェアとは

画像の説明を追加してください

Apache の強化

WebShell が権限を超えて使用されるのを防ぐ

修改程序启动账号和用户组

vim /etc/httpd/conf/httpd.conf 
# 检查程序启动账号和用户组,账号和用户组为apache或者nobody
User apache
Group apache


一般情况下默认用户符合安全要求

スーパーユーザー以外の権限では、Apache ホーム ディレクトリの変更が禁止されます。

1.在httpd.conf文件中查找主目录位置
grep "ServerRoot" /etc/httpd/conf/httpd.conf


2.修改权限
chmod修改权限主目录权限
chmod -R 700  /etc/httpd/
chmod 644 /var/log/httpd/*.log

ログレベルと記録形式を変更する

修改httpd.conf文件
vim /etc/httpd/conf/httpd.conf 

# 更改错误日志
LogLevel notice             #(更多的记录信息,但会占用大量空间)
ErrorLog "logs/error_log"   #(可根据磁盘规划更改)

# 更改访问日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\" "%{Referer}i\" \"%{User-Agent}i\"" combined

CustomLog "logs/access_log" common   #(可根据磁盘规划更改)




# 访问日志格式注释
%a: 远程IP地址
%A: 本地IP地址
%B: 已发送的字节数,不包含HTTP头
%b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。
%{FOOBAR}e: 环境变量FOOBAR的内容
%f: 文件名字
%h: 远程主机
%H:请求的协议
%{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。
%l: 远程登录名字
%m:请求的方法
%{Foobar}n: 来自另外一个模块的注解“Foobar”的内容
%{Foobar}o: Foobar的内容,应答的标头行
%p: 服务器响应请求时使用的端口
%P: 响应请求的子进程ID。
%q:查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。)
%r: 请求的第一行
%s: 状态。对于进行内部重定向的请求,这是指*原来*请求 的状态。如果用%...>s,则是指后来的请求。
%t: 以公共日志时间格式表示的时间(或称为标准英文格式)
%{format}t: 时间
%T: 为响应请求而耗费的时间,以秒计
%u: 远程用户(根据验证信息而来,如果返回status(%s)是401则可能是伪造的)
%U: 用户所请求的URL路径
%v: 响应请求的服务器的ServerName
%V: 依照UseCanonicalName设置得到的服务器名字
%X:请求完成时的连接状态:
						X=	连接在应答完成前中断。
						+=	应答传送完后继续保持连接。
						-=	应答传送完后关闭连接。
(在1.3以后的版本中,这个指令是%c,但这样就和过去的SSL语法:%{var}c冲突了)

%I:接收的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio模块。
%O:发送的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio模块。

ディレクトリリストを無効にする

Web サイトのディレクトリ外のファイルへのアクセスを防止する

修改httpd.conf文件
vim /etc/httpd/conf/httpd.conf 

# 检查关键语法
<Directory />
    AllowOverride none
    Require all denied
</Directory>

# 检查关键语法
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Web を使用してディレクトリの内容を直接参照できないようにする

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf
# 去掉Options中的 Indexes  参数
# Indexes:无法在当前目录下找到首页文件,就显示目录内容

<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

エラーページのリダイレクト

デフォルトのエラーフィードバックを通じて機密情報の漏洩を防止します

修改httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 编辑错误页面配置
# 错误页面再站点根目录下创建,也可以在子目录中
# 错误信息还可以使用“直接输出提示”
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/400.html
ErrorDocument 405 /error/405.html
ErrorDocument 500 /error/500.html

サービス拒否の防止

サービス拒否を防ぐためにセッション時間を適切に設定する

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 修改内容
Timeout 10
KeepAlive On
KeepAliveTimeout 15    
# 此处的连接间隔和session保持时间单位都是秒,一定要根据实际情况,分析后再设定。


# 参数详解
Timeout 10:定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。
KeepAlive On:定义是否启用保持连接,默认关闭状态。
KeepAliveTimeout 15:一次保持连接的最长时间(秒)。

プログラムのバージョン番号を隠す

脆弱性の標的にならないようにする

修改httpd.conf文件
vim /etc/httpd/conf/httpd.conf 

# 修改如下信息
ServerSignature Off
ServerTokens Prod

トレース機能をオフにする

トレースメソッドが悪用されて情報が漏洩することを防止する

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 修改信息如下
TraceEnable Off

CGI 機能を無効にする

CGIプログラムを使用しないときは、CGI機能を必ずOFFにしてください。

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf
# 注释信息如下
# ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# <Directory "/var/www/cgi-bin">
#    AllowOverride None
#    Options None
#    Require all granted
# </Directory>


编辑01-cgi.conf文件,cgi模块在/etc/httpd/conf.modules.d/01-cgi.conf下
vim /etc/httpd/conf.modules.d/01-cgi.conf
# 注释信息如下
# LoadModule cgi_module modules/mod_cgi.so

バインドリスニングアドレス

サーバーに複数の IP がある場合、ビジネス インターフェイス IP をバインドします

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 添加监听IP,如果页面为私有页面,还可以更改默认端口值
Listen xx.xx.xx.xx.:80

不正な HTTP メソッドを無効にする

put や delete などの危険な http メソッドを無効にする

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 加入信息如下
<Location />
    <LimitExcept GET POST CONNECT OPTIONS>
        AllowOverride None
        Require all granted
    </LimitExcept>
</Location>

Apache 解析の脆弱性を防ぐ

違法なファイルが合法性チェックをバイパスすることを防止する

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 添加配置信息
<FileMatch \.php$>
    SetHandler application/x-httpd-php
</FileMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

SQLインジェクションを防ぐ

PHP ページが SQL インジェクションに関するフィードバックを提供できないようにする

修改php.ini文件
vim /etc/php.ini

# 加入或修改信息如下
magic_quotes_gpc=On

リクエストメッセージの長さを制限する

オーバーフローの脆弱性を防ぐ

编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf

# 添加信息
LimitRequestBody  102400

Nginxの強化

バージョン情報を隠す

バージョンに対する脆弱性の直接的な使用を避ける

编辑nginx.conf文件

# 在http模块中添加如下信息
server_tokens off;

ディレクトリのアクセス許可を制限する

一部のディレクトリは運用および保守ページであり、公開してアクセスしないでください。

编辑nginx.conf


server {
        listen       80;
        root         /usr/share/nginx/html;
        location ~ /test/.*\.html$ {
        	deny all;
        }
}



# 在server标签内添加如下内容
location ~/attachments/.*\.(php|php5)?$ {
	deny all;
}

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

IPアドレスによるアクセス制限

機密ディレクトリにはホワイトリスト アクセスを使用する

修改nginx.conf文件

# 在server中添加
location /upload {
	allow 10.0.1.0/24;
	allow 192.168.1.1/32;
	deny all;
}


# allow:允许
# deny:拒绝

ディレクトリの内容の参照を無効にする

编辑nginx.conf文件

# 在http模块下添加一行内容
autoindex off;

エラーページのリダイレクト

リダイレクトを作成してデフォルトページをセキュリティリスクから防ぐ

编辑nginx.conf

# 在server模块下加入
error_page 404 /404.html
	location = /404.html {
		root /usr/local/nginx/html;
	}

ログの設定

監査を容易にするためにログ形式を変更する

编辑nginx.conf文件

1.在http模块内启用标签main的log_format格式
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


2.在server标签内调用
access_log  logs/host.access.log  main;

httpリクエストメソッドを制限する

脆弱性を軽減するために、一般的に使用される get メソッドと post メソッドのみが許可されます。

编辑nginx.conf文件

# 在server模块中加入判断信息
if ($request_method !~* GET|POST) {
	return 403;
}

同時実行性と速度を制限する

DDoS 攻撃を受けた場合のリソース消費を抑制する

编辑nginx.conf文件

1.在http模块中声明
# 开启请求限制模块
limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;

2.添加在server的location中
# 参考1
location / {
	limit_req zone=allips burst=5 nodelay;
	limit_rate 20k;
}
# 参考2
location /download {
	limit_rate_after 10m;
	limit_rate 128k;
}


# 参数注释
limit_req:请求限制设置指令
burst :相当于一个缓冲容器,该容器内可容纳 burst 所设置的数量的请求,没有 nodelay 参数时,将匀速向 Nginx 释放需要处理的请求。
nodelay:不延迟处理,立即处理。
limit_rate_after:允许在传输了一部分数据之后再进行限速。
limit_rate:控制发送至客户端的数据传输速度的。

制御タイムアウト

DDoS の影響を軽減する

编辑nginx.conf文件

# 在http模块中设置
client_body_timeout 10;
client_header_timeout 10;
keepalive_timeout 30;
send_timeout 10;


# 参数注释
client_body_timeout:设置客户端向服务器发送请求体的超时时间,单位为秒。
client_header_timeout:设置客户端向服务器发送请求头的超时时间,单位为秒。
keepalive_timeout:设置服务器与客户端之间保持连接的超时时间,单位为秒。
send_timeout:设置服务器向客户端发送响应的超时时间,单位为秒。

proxy_connect_timeout:设置代理服务器与后端服务器建立连接的超时时间,单位为秒。
proxy_read_timeout:设置代理服务器从后端服务器读取数据的超时时间,单位为秒。
proxy_send_timeout:设置代理服务器向后端服务器发送数据的超时时间,单位为秒。

アンチホットリンク

他の手段によるこのサイトのリソースの使用を防止する

location ~* \.(jpg|jpeg|png|gif|bmp|swf|rar|zip|doc|xls|pdf|gz|bz2|mp3|mp4|flv)$ {
	valid_referers none blocked 192.168.0.1 *.baidu.com;
	if ($invalid_referer) {
		rewrite ^/ https://site.com/403.jpg;
		# return 403;
	}
	root /usr/share/nginx/img;
}

nginxのダウングレード

nginx プロセスが高い特権で実行されないようにする

编辑nginx.conf

# 在http模块下修改
user nobody;

解析の脆弱性

不正なサフィックスがサーバーによって認識されないようにする

(1)将php.int文件中的cgi.fix_pathinfo的值设为0
(2)将/etc/php5/fpm/pool.d/www.conf中security.limit_ectensions后面的值设为.php

トムキャットの補強

Tomcat コンソールのユーザー構成

コンソール管理が不要な場合はコンソールのユーザーファイルを変更してアカウント情報をログアウトし、コンソールが必要な場合はアカウント情報を変更してください。

编辑tomcat-user.xml文件
vim conf/tomcat-users.xml

# 注释或修改(是否打开控制台信息)
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>

画像の説明を追加してください

Tomcatのアクセスログをオンにする

ログ機能を有効にして監査リンクを追加する

修改conf/server.xml文件

vim conf/server.xml 
# 去掉如下行的注释符
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="common" resolveHosts="false"/>

カスタム 404 エラー ページ

機密情報の開示を避ける

1.在网站根目录下新建noFile.html文件
vim /opt/tomcat/webapps/ROOT/noFile.html
# 错误页面随便写
<h1> Error Package </h1>


2.查看并启用tomcat的 /conf/web.xml文件中的下列代码
<error-page>
<error-code>404</error-code>
<location>/noFile.html</location>
</error-page>

3.重启tomcat
/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh d


4.随机访问不存在的页面,报错页面显示Error Package
http://10.0.1.110:8080/aaaaa
页面显示:
Error Package

ディレクトリの参照を閉じる

ブラウザがディレクトリの内容を閲覧できないようにする

编辑tomcat/conf/web.xml配置文件

vim conf/web.xml
# 把true改成false
<init-param>
		<param-name>listings</param-name>
		<param-value>false</param-value>
</init-param>

安全な http リクエストを使用する

安全でない http リクエスト メソッドを無効にする

编辑tomcat/conf/web.xml配置

vim conf/web.xml
# 添加或修改如下信息
<security-constraint>
	<web-resource-collection>
		<url-pattern>/*</url-pattern>
		<http-method>PUT</http-method>
		<http-method>DELETE</http-method>
		<http-method>HEAD</http-method>
		<http-method>OPTIONS</http-method>
		<http-method>TRACE</http-method>
	</web-resource-collection>
	<auth-constraint>
	</auth-constraint>
</security-constraint>
<login-config>
	<auth-method>BASIC</auth-method>
</login-config>

IPアクセスを制限する

アクセス元のホワイトリスト

编辑tomcat/conf/server.xml,# 添加如下

vim conf/server.xml 

# 只允许192.168.1.2和192.168.2.3
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.2|192.168.2.3" deny=""/> 

# 拒绝192.168.1.2和192.168.2.3 
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="" deny="192.168.1.2|192.168.2.3"/> 

ログインがタイムアウトして終了する

DOS 攻撃による過剰なリソース使用を軽減します。

编辑 tomcat/conf/server.xml文件

vim conf/server.xml 
# 将连接超时时间改小为300
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="300"
               redirectPort="8443" />

tomcat5.5未満のバージョンの場所は以下のとおりです。
ここに画像の説明を挿入します

デフォルトのポートを変更する

スキャンされる可能性を減らす

编辑tomcat/conf/server.xml文件

vim conf/server.xml
# 可以更改默认端口,prot=“xx”
<Connector port="8080" protocol="HTTP/1.1"
		connectionTimeout="20000"
		redirectPort="8443" />

tomcat5.5未満のバージョンの場所は以下のとおりです。

ここに画像の説明を挿入します

https暗号化アクセスを有効にする

送信された情報が傍受され解釈されるのを防ぐ

1.使用jdk的keytools生成密钥对
keytool -genkey -alias tomcat -keyalg RSA -keystore /root/keystore



2.修改tomcat的server.xml文件取消注释信息后添加密钥路径和访问密码
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" keystoreFile="/root/keystore"
         keystorePass="123123" sslPortocol="TLS"  />


3.重启apache
systemctl restart httpd

ここに画像の説明を挿入します

いつでもパッチを更新

最新の脆弱性にパッチを適用する

访问 http://httpd.tomcat.org 下载最新稳定版补丁
地址:http://httpd.tomcat.org

ジェイボスの強化

jboss6 デプロイメント

グラフィカルインターフェースが必要

# 删除jdk1.8
yum remove java-1.8.0-openjdk* -y

1.安装jdk1.7.0,jboss6只能支持jdk1.7
yum install java-1.7.0-openjdk* -y


2.解压jboss6到 /opt 目录
unzip jboss-as-distribution-6.1.0.Final.zip
mv jboss-6.1.0.Final /opt/jboss6

3.启动jboss6
/opt/jboss6//bin/run.sh


4.页面访问jboss
http://localhost:8080/

ここに画像の説明を挿入します

jboss7のデプロイメント

グラフィカルインターフェースが必要

1.解压jboss7
unzip jboss-as-7.1.1.Final.zip

# 移动到 /opt 目录下
mv jboss-as-7.1.1.Final /opt/jboss7

2.解压jboss模块
unzip jboss-modules-1.1.5.ga.jar.zip 
# 替换jboss7目录下的jboss-modules.jar 
cp jboss-modules-1.1.5.ga.jar /opt/jboss7/jboss-modules.jar 


3.为jboss7添加管理员用户
[root@bogon jboss]# /opt/jboss7/bin/add-user.sh 

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties) 
 b) Application User (application-users.properties)
(a):    !!!

Enter the details of the new user to add.
Realm (ManagementRealm) :    !!!
Username : test   !!!
Password :    !!!
Re-enter Password :    !!!
About to add user 'test' for realm 'ManagementRealm'
Is this correct yes/no? yes   !!!
Added user 'test' to file '/opt/jboss7/standalone/configuration/mgmt-users.properties'
Added user 'test' to file '/opt/jboss7/domain/configuration/mgmt-users.properties'

4.启动jboss7
/opt/jboss7/bin/standalone.sh


5.页面访问jboss7
http://localhost:8080/

ロギング機能を有効にする

リンクログを開き、リンク情報を記録します

1.修改配置文件
vim /opt/jboss6/server/default/deploy/jbossweb.sar/server.xml 

# 找到链接日志,去掉注释符号
<Valve className="org.apache.catalina.valves.AccessLogValve"
                prefix="localhost_access_log." suffix=".log"
                pattern="common" directory="${jboss.server.log.dir}" 
                resolveHosts="false" />


2.日志位置在
/opt/jboss6/server/default/log/

jboss7 はデフォルトで access_log を有効にしません

jboss7

修改配置文件
vim /opt/jboss7/standalone/configuration/standalone.xml 

# 在源配置中添加新内容
 <virtual-server name="default-host" enable-welcome-root="true">
            <alias name="localhost"/>
            <alias name="example.com"/>
# 添加三行内容
<access-log pattern="%t %a %m %U %s %D" prefix="access_log." rotate="true">
<directory path="." relative-to="jboss.server.log.dir"/>
                </access-log>
</virtual-server>

リダイレクトエラーページ

機密情報の漏洩を防ぐために一般的なエラー ページを指定する

1.写入错误页面
vim /opt/jboss6/server/default/deploy/ROOT.war/404.html
<h1> Error Package </h1>

2.添加配置
vim /opt/jboss6/server/default/deploy/jbossweb.sar/web.xml
# 在 </web-app> 之上加入信息
<error-page>
        <error-code>404</error-code>
        <location>/404.html</location>
</error-page>

コンソール認証

JMX コンソールに認証を追加した後にログインします

1.修改文件
vim /opt/jboss6/common/deploy/jmx-console.war/WEB-INF/jboss-web.xml 
# 将注释信息启用
<security-domain>java:/jaas/jmx-console</security-domain>


2.修改文件
vim /opt/jboss6/common/deploy/jmx-console.war/WEB-INF/web.xml 
# 将注释信息启用
<security-constraint>
     <web-resource-collection>
       <web-resource-name>HtmlAdaptor</web-resource-name>
       <description>An example security config that only allows users with the
         role JBossAdmin to access the HTML JMX console web application
       </description>
       <url-pattern>/*</url-pattern>
     </web-resource-collection>
     <auth-constraint>
       <role-name>JBossAdmin</role-name>
     </auth-constraint>
</security-constraint>


3.认证文件用户名和密码,默认不用改
vim /opt/jboss6/server/default/conf/props/jmx-console-users.properties
admin=admin
用户名=密码

4.用户名所属角色,默认不用改
vim /opt/jboss6/server/default/conf/props/jmx-console-roles.properties 
admin=JBossAdmin,HttpInvoker


5.重启jboss6
/opt/jboss6//bin/run.sh


5.访问控制台,用户认证后登录
http://localhost:8080

ここに画像の説明を挿入します

JBoss Webサービスコンソール認証ログイン

1.修改文件
vim /opt/jboss6/common/deploy/jbossws-console.war/WEB-INF/jboss-web.xml
# 将注释信息启用
<security-domain>java:/jaas/JBossWS</security-domain>

2.修改文件
vim /opt/jboss6/common/deploy/jbossws-console.war/WEB-INF/web.xml 
将注释信息启用
<security-constraint>
   <web-resource-collection>
       <web-resource-name>ContextServlet</web-resource-name>
       <description>An example security config that only allows users with the
         role 'friend' to access the JBossWS console web application
       </description>
       <url-pattern>/*</url-pattern>
   </web-resource-collection>
   <auth-constraint>
       <role-name>friend</role-name>
   </auth-constraint>
</security-constraint>


3.认证文件用户名和密码
vim /opt/jboss6/server/default/conf/props/jbossws-users.properties
kermit=thefrog
# 添加测试用户名和密码
zhangsan=123123


4.用户所属角色
vim /opt/jboss6/server/default/conf/props/jbossws-roles.properties
kermit=friend
# 添加测试用户的所属角色
zhangsan=friend


5.访问控制台,用户名认证后登录
http://localhost:8080

ここに画像の説明を挿入します

クローズステータス

情報漏洩を防ぐためにステータス機能を無効にする

修改文件
vim /opt/jboss6/server/default/deploy/ROOT.war/WEB-INF/web.xml 

# 去掉注释符
<servlet>
    <servlet-name>Status Servlet</servlet-name>
    <servlet-class>org.jboss.web.tomcat.service.StatusServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Status Servlet</servlet-name>
    <url-pattern>/status</url-pattern>
</servlet-mapping>

デフォルトのファイルを削除する

テスト環境が完了したら、コンソールのデフォルト ファイルを削除します。

移动或备份后删除
/opt/jboss6/server/default/deploy/ROOT.war/

mv /opt/jboss6/server/default/deploy/ROOT.war/ /tmp/console_bak

ディレクトリリストを無効にする

修改文件
vim /opt/jboss6/server/default/deploy/jbossweb.sar/web.xml

# 确保<param-value>的值为false
      <init-param>
         <param-name>listings</param-name>
         <param-value>false</param-value>
      </init-param>

タイムアウト設定

修改文件
vim /opt/jboss6/server/default/deploy/jbossweb.sar/server.xml

# 找到Connector标签,加入connectionTimeout="1800(超时设置)
<Connector protocol="HTTP/1.1" port="${jboss.web.http.port}" address="${jboss.bind.address}" 
         redirectPort="${jboss.web.https.port}" connectionTimeout="1800" />

デフォルトのポートを変更する

Javaのアクセスポート番号を8808に変更します。

修改文件
vim /opt/jboss6/server/default/deploy/jbossweb.sar/server.xml

# 找到Connector标签,修改port为8808
<Connector protocol="HTTP/1.1" port="8808" address="${jboss.bind.address}" 
         redirectPort="${jboss.web.https.port}" connectionTimeout="1800" />

ウェブロジックの強化

ウェブロジックを構築する

1.导入weblogic镜像
docker load -i weblogic12c\(weblogic\&welcome1\).tar


2.启动容器
docker run -itd --name weblogic12c -p 7002:7002 -p 7001:7001 -p 5555:5555 docker.io/ismaleiva90/weblogic12 


3.页面访问
http://localhost:7001/console/

账号:weblogic
密码:welcome1

ユーザーパスワードの変更

セキュリティ レルム→myrealm→ユーザーとグループ|ユーザー→weblogic→パスワード

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

アカウントのロックアウト ポリシー

セキュリティ レルム→myrealm→構成|ユーザーのブロック

ここに画像の説明を挿入します
ここに画像の説明を挿入します

アカウントのパスワードポリシー

セキュリティ レルム → myrealm → プロバイダー|パスワード検証 → SystemPasswordValidator → プロバイダー固有

ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します

パスワードロックポリシー

セキュリティ レルム → myrealm → プロバイダー|パスワード検証 → SystemPasswordValidator → プロバイダー固有

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ログの設定

環境→サーバー→AdminServer (管理)→ログ|HTTP

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ログの保存場所

# 进入容器
docker exec -it weblogic12c /bin/bash

# 切换到根目录
cd /

# 切换到日志目录
cd u01/oracle/weblogic/user_projects/domains/base_domain/servers/AdminServer/logs/

# 查看目录
[oracle@37bdb30b0fa7 logs]$ ls
AdminServer.log  access.log  base_domain.log  diagnostic_images  jmsServers

デフォルトのリスニングポートを変更する

環境→サーバー→AdminServer (管理)→構成|一般情報

ここに画像の説明を挿入します

ここに画像の説明を挿入します

送信サーバーヘッダーを無効にする

環境→サーバー→AdminServer (管理)→プロトコル|HTTP

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

X-Powered-By ヘッダーを無効にする

ベースドメイン→設定|Webアプリケーション

ここに画像の説明を挿入します

ここに画像の説明を挿入します

アプリケーションサーバーのソケット数を制限する

環境→サーバー→AdminServer (管理)→構成|最適化

ここに画像の説明を挿入します

ここに画像の説明を挿入します

バックグラウンドのデフォルトパスを変更する

ベースドメイン→設定|一般情報

ここに画像の説明を挿入します
ここに画像の説明を挿入します

ウェブスフィアの補強

ログインインターフェース

ここに画像の説明を挿入します

アカウントのセキュリティ

ユーザーとグループ→ユーザーの管理→管理者

ここに画像の説明を挿入します

ここに画像の説明を挿入します

JAVA2セキュリティを有効にする

セキュリティ→グローバルセキュリティ

ここに画像の説明を挿入します

LTPA 認証が有効になっていることを確認してください

セキュリティ→グローバルセキュリティ

ここに画像の説明を挿入します

コンソールポートを変更するためのホストアクセスを制限する

# 多用tab补
vim /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/bogonNode01Cell/nodes/bogonNode01/serverindex.xml 
# 更改端口
<endPoint xmi:id="EndPoint_1183122129649" host="*" port="9043"/>

セキュリティ監査を有効にする

セキュリティ → セキュリティ監査

ここに画像の説明を挿入します

XSS 攻撃を防ぐシングル サインオン

セキュリティ → セキュリティ監査 → Web および Jsp セキュリティ → シングル サインオン

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ブラウザ経由でのディレクトリの閲覧を禁止する

修改app配置文件

# 多用tab补
vim /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/bogonNode01Cell/applications/DefaultApplication.ear/deployments/DefaultApplication/DefaultWebApplication.war/WEB-INF/ibm-web-ext.xmi 

# directoryBrowsingEnabled参数是false,就是关闭的
directoryBrowsingEnabled="false"

構成およびプロパティディレクトリのアクセス許可を制限する

# 多用tab补
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/

chown -R root config
chmod -R 750 config
chown -R root properties
chmod -R 750 properties

ジェンキンスの補強

ジェンキンスのデプロイ

# 安装jdk1.8
yum install -y java-1.8.0-openjdk*

# 安装jenkins
rpm -ivh jenkins-2.356-1.1.noarch.rpm 

# 启动jenkins
systemctl start jenkins.service


# 访问页面
http://localhost:8080

# 查看管理员密码,并输入页面中
cat /var/lib/jenkins/secrets/initialAdminPassword 

推奨プラグインをインストールする

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ユーザーパスワードの変更

ユーザーリスト→ユーザー名→設定(下にスクロールして、パスワードを見つけてパスワードを変更します)→保存

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ローカル以外のテスト環境ではセキュリティ オプションがオンになっていることを確認してください

新しいバージョンはデフォルトで有効になります

マネージャー Jenkins→グローバル セキュリティの設定

ここに画像の説明を挿入します

ここに画像の説明を挿入します

複数のユーザーに権限を割り当てる

まずプラグインをインストールしてください

プラグインのインストール

Jenkinsマネージャー→プラグインマネージャー→オプションのプラグイン(役割)

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

イネーブル機能

マネージャー Jenkins→グローバル セキュリティの構成→承認戦略 (ロールベースの戦略)→保存

ここに画像の説明を挿入します
ここに画像の説明を挿入します

ここに画像の説明を挿入します

新しいユーザーを作成する

マネージャー Jenkins→ユーザーの管理→新規ユーザー
ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

複数のユーザーに権限を割り当てる

マネージャー Jenkins→役割の管理と割り当て→(管理役割 | 役割の割り当て):実際のニーズに応じて権限を割り当てます。
ここに画像の説明を挿入します

ここに画像の説明を挿入します

管理の役割

ここに画像の説明を挿入します

ここに画像の説明を挿入します

役割の割り当て

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ログ監査

マネージャー Jenkins→システム ログ

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

古いバージョンではjmdns 機能をオフにする必要があります

ここに画像の説明を挿入します

クロスサイトリクエスト偽造

マネージャー Jenkins→グローバル セキュリティの構成→

ここに画像の説明を挿入します
ここに画像の説明を挿入します

ここに画像の説明を挿入します

1.编辑jenkins.service文件
[root@node1 ~]# vim /usr/lib/systemd/system/jenkins.service 

# 修改如下配置
Environment="JAVA_OPTS=-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"


2.重启jenkins
systemctl daemon-reload 
systemctl restart jenkins


3.再次查看网页跨站请求伪造保护位置,就会发现有
“跨站请求伪造保护
This configuration is unavailable because the System property hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION is set to true.That option should be considered unsupported and its use should be limited to working around compatibility problems until they are resolved.”
字样的内容提示。

ここに画像の説明を挿入します

デフォルトのポートを変更する

1.编辑jenkins文件
vim /etc/sysconfig/jenkins
JENKINS_PORT="8080"


2.重启jenkins
systemctl restart jenkins

IISの強化

ディレクトリの実行権限を制限する

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ログ監査を有効にする

ここに画像の説明を挿入します
ここに画像の説明を挿入します

404エラーページを定義する

ここに画像の説明を挿入します

ここに画像の説明を挿入します

.mdb データベース ファイルがダウンロードされないようにする

C:\Windows\System32\inetsrv\config\applicationHost.config

ここに画像の説明を挿入します

# 将这两行的allowed后面的值改为false
<add fileExtension=".mdb" allowed="false" />
<add fileExtension=".mdf" allowed="false" />

ここに画像の説明を挿入します

アクセス元IP制限

ここに画像の説明を挿入します
ここに画像の説明を挿入します

WebDAVをオフにする

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ディレクトリの参照を閉じる

ここに画像の説明を挿入します

ここに画像の説明を挿入します

FTP匿名アクセスをオフにする

ここに画像の説明を挿入します

ここに画像の説明を挿入します

IIS の短いファイル名の脆弱性を解決する

ここに画像の説明を挿入します

ここに画像の説明を挿入します

不要なスクリプトマッピングを拒否する

ここに画像の説明を挿入します

包括:.asa .cer .cdx .idq .htw .ida .shtml .stm .idc .htr .printer等

删除的原则:只保留需要的脚本映射

ここに画像の説明を挿入します

最大同時実行数を設定する

ここに画像の説明を挿入します

独立したサイトの匿名アカウント

lusrmgr.msc を実行してローカル アカウントを開き、新しいユーザーを作成します
ここに画像の説明を挿入します

新しいユーザーのプロパティで、所属を設定し、ユーザー グループを削除し、ゲスト グループを追加します。
ここに画像の説明を挿入します

匿名アカウントを設定する

ここに画像の説明を挿入します

ここに画像の説明を挿入します

役割機能の確認と不要なコンポーネントの削除

サーバーマネージャーを開き、不要なロールを削除します

ここに画像の説明を挿入します

ndows\System32\inetsrv\config\applicationHost.config

[外部リンク画像は転送中です...(img-2XKSRdOI-1685885572481)]

# 将这两行的allowed后面的值改为false
<add fileExtension=".mdb" allowed="false" />
<add fileExtension=".mdf" allowed="false" />

[外部リンク画像を転送中...(img-cycj7rDV-1685885572481)]

アクセス元IP制限

[外部リンク画像は転送中です...(img-uoTSHo2r-1685885572482)]

[外部リンク画像は転送中です...(img-btW5zK46-1685885572482)]

WebDAVをオフにする

[外部リンク画像は転送中です...(img-0s4RQmTj-1685885572482)]

[外部リンク画像は転送中です...(img-YDXYTIKb-1685885572482)]

ディレクトリの参照を閉じる

[外部リンク画像は転送中です...(img-Dae1yeL7-1685885572483)]

[外部リンク画像を転送中...(img-QdvtCRzn-1685885572483)]

FTP匿名アクセスをオフにする

[外部リンク画像は転送中です...(img-Is6SGwJZ-1685885572483)]

[外部リンク画像は転送中です...(img-XUNUzfCG-1685885572484)]

IIS の短いファイル名の脆弱性を解決する

[外部リンク画像は転送中です...(img-6r4x3Tgs-1685885572485)]

[外部リンク画像は転送中です...(img-2k4KMS03-1685885572485)]

不要なスクリプトマッピングを拒否する

[外部リンク画像は転送中です...(img-qhK0BvC3-1685885572485)]

包括:.asa .cer .cdx .idq .htw .ida .shtml .stm .idc .htr .printer等

删除的原则:只保留需要的脚本映射

[外部リンク画像は転送中です...(img-zg14Hob0-1685885572486)]

最大同時実行数を設定する

[外部リンク画像は転送中です...(img-zBDGM2di-1685885572486)]

独立したサイトの匿名アカウント

lusrmgr.msc を実行してローカル アカウントを開き、新しいユーザーを作成します

[外部リンク画像は転送中です...(img-rkaMds93-1685885572486)]

新しいユーザーのプロパティで、所属を設定し、ユーザー グループを削除し、ゲスト グループを追加します。

[外部リンク画像は転送中です...(img-26nKnSdh-1685885572487)]

匿名アカウントを設定する

[外部リンク画像を転送中...(img-LKA6paPg-1685885572487)]

[外部リンク画像を転送中...(img-taXKH0Pc-1685885572487)]

役割機能の確認と不要なコンポーネントの削除

サーバーマネージャーを開き、不要なロールを削除します

[外部リンクの画像は転送中です...(img-OFOocNAP-1685885572488)]

おすすめ

転載: blog.csdn.net/m0_51553670/article/details/131037467