@@ -124,17 +124,34 @@ cp ${LINKIS_DB_CONFIG_PATH} $LINKIS_HOME/conf
124124
125125common_conf=$LINKIS_HOME /conf/linkis.properties
126126
127- RANDOM_BML_TOKEN=" LINKIS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
128- RANDOM_WS_TOKEN=" WS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
129- RANDOM_DSM_TOKEN=" DSM-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
130- RANDOM_DSS_TOKEN=" DSS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
131- RANDOM_QUALITIS_TOKEN=" QUALITIS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
132- RANDOM_VALIDATOR_TOKEN=" VALIDATOR-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
133- if [ $DEBUG_MODE != " true" ]; then
134- sed -i ${txt} " s#LINKIS-AUTH#$RANDOM_BML_TOKEN #g" $LINKIS_HOME /conf/linkis-cli/linkis-cli.properties
135- sed -i ${txt} " s#LINKIS-AUTH#$RANDOM_BML_TOKEN #g" $common_conf
136- sed -i ${txt} " s#LINKIS-AUTH#$RANDOM_BML_TOKEN #g" $LINKIS_HOME /admin/configuration_helper.sh
137- fi
127+ echo " ======= SECURITY: Generating secure random tokens =========="
128+
129+ # SECURITY: Generate secure random tokens for all services using new secure placeholders
130+ LINKIS_GATEWAY_TOKEN=" LINKIS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
131+ WS_SERVICE_TOKEN=" WS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
132+ DSM_SERVICE_TOKEN=" DSM-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
133+ DSS_SERVICE_TOKEN=" DSS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
134+ QUALITIS_SERVICE_TOKEN=" QUALITIS-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
135+ VALIDATOR_SERVICE_TOKEN=" VALIDATOR-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
136+ CLI_SERVICE_TOKEN=" CLI-` cat /proc/sys/kernel/random/uuid | awk -F- ' {print $1$2$3$4$5}' ` "
137+
138+ # SECURITY: Set secure user and host restrictions (no wildcards)
139+ echo " Generated secure tokens:"
140+ echo " - LINKIS Gateway Token: $LINKIS_GATEWAY_TOKEN "
141+ echo " - WS Service Token: $WS_SERVICE_TOKEN "
142+ echo " - DSM Service Token: $DSM_SERVICE_TOKEN "
143+ echo " - DSS Service Token: $DSS_SERVICE_TOKEN "
144+ echo " - QUALITIS Service Token: $QUALITIS_SERVICE_TOKEN "
145+ echo " - VALIDATOR Service Token: $VALIDATOR_SERVICE_TOKEN "
146+ echo " - CLI Service Token: $CLI_SERVICE_TOKEN "
147+
148+ # SECURITY: Replace secure placeholders in all configuration files
149+ echo " Replacing secure placeholders in configuration files..."
150+ sed -i ${txt} " s#LINKIS-UNAVAILABLE-TOKEN#$LINKIS_GATEWAY_TOKEN #g" $LINKIS_HOME /conf/linkis-cli/linkis-cli.properties 2> /dev/null || true
151+ sed -i ${txt} " s#CLI-UNAVAILABLE-TOKEN#$CLI_SERVICE_TOKEN #g" $LINKIS_HOME /conf/linkis-cli/linkis-cli.properties 2> /dev/null || true
152+ sed -i ${txt} " s#LINKIS-UNAVAILABLE-TOKEN#$LINKIS_GATEWAY_TOKEN #g" $common_conf 2> /dev/null || true
153+ sed -i ${txt} " s#DSM-UNAVAILABLE-TOKEN#$DSM_SERVICE_TOKEN #g" $common_conf 2> /dev/null || true
154+ sed -i ${txt} " s#LINKIS-UNAVAILABLE-TOKEN#$LINKIS_GATEWAY_TOKEN #g" $LINKIS_HOME /admin/configuration_helper.sh 2> /dev/null || true
138155
139156echo " ======= Step 3: Create necessary directory =========="
140157
@@ -219,13 +236,60 @@ dml_file_name=linkis_dml.sql
219236if [[ ' postgresql' = " $dbType " ]]; then
220237 dml_file_name=linkis_dml_pg.sql
221238fi
222- if [ $DEBUG_MODE != " true" ]; then
223- sed -i ${txt} " s#LINKIS-AUTH#$RANDOM_BML_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
224- sed -i ${txt} " s#WS-AUTH#$RANDOM_WS_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
225- sed -i ${txt} " s#DSM-AUTH#$RANDOM_DSM_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
226- sed -i ${txt} " s#DSS-AUTH#$RANDOM_DSS_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
227- sed -i ${txt} " s#QUALITIS-AUTH#$RANDOM_QUALITIS_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
228- sed -i ${txt} " s#VALIDATOR-AUTH#$RANDOM_VALIDATOR_TOKEN #g" $LINKIS_HOME /db/${dml_file_name}
239+ echo " ======= SECURITY: Replacing database placeholders with secure tokens =========="
240+
241+ # SECURITY: Replace secure placeholders in database initialization file
242+ echo " Replacing secure placeholders in database file: $LINKIS_HOME /db/${dml_file_name} "
243+ sed -i ${txt} " s#{{LINKIS_GATEWAY_TOKEN}}#$LINKIS_GATEWAY_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
244+ sed -i ${txt} " s#{{WS_SERVICE_TOKEN}}#$WS_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
245+ sed -i ${txt} " s#{{DSM_SERVICE_TOKEN}}#$DSM_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
246+ sed -i ${txt} " s#{{DSS_SERVICE_TOKEN}}#$DSS_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
247+ sed -i ${txt} " s#{{QUALITIS_SERVICE_TOKEN}}#$QUALITIS_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
248+ sed -i ${txt} " s#{{VALIDATOR_SERVICE_TOKEN}}#$VALIDATOR_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
249+ sed -i ${txt} " s#{{CLI_SERVICE_TOKEN}}#$CLI_SERVICE_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
250+ # Replace old insecure placeholder token with secure gateway token
251+ sed -i ${txt} " s#LINKIS-UNAVAILABLE-TOKEN#$LINKIS_GATEWAY_TOKEN #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
252+
253+ # SECURITY: Replace user and host placeholders with secure values
254+ sed -i ${txt} " s#{{LINKIS_GATEWAY_USER}}#$LINKIS_GATEWAY_USER #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
255+ sed -i ${txt} " s#{{LINKIS_GATEWAY_HOST}}#$LINKIS_GATEWAY_HOST #g" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
256+
257+ echo " Database placeholder replacement completed."
258+
259+ # SECURITY: Final verification - check for unreplaced placeholders
260+ remaining_placeholders=$( grep -o " {{[^}]*}}" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null | wc -l)
261+ if [ $remaining_placeholders -gt 0 ]; then
262+ echo " WARNING: Found $remaining_placeholders unreplaced placeholders in database file!"
263+ echo " SECURITY RISK: Please review $LINKIS_HOME /db/${dml_file_name} manually."
264+ grep " {{[^}]*}}" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
265+ else
266+ echo " SUCCESS: All security placeholders in database file have been replaced with secure tokens."
267+ fi
268+
269+ # SECURITY: Check for any remaining old insecure tokens
270+ old_tokens=$( grep -o " LINKIS-AUTH\|WS-AUTH\|DSS-AUTH\|QUALITIS-AUTH\|VALIDATOR-AUTH\|LINKISCLI-AUTH\|DSM-AUTH\|LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null | wc -l)
271+ if [ $old_tokens -gt 0 ]; then
272+ echo " CRITICAL: Found $old_tokens old insecure tokens still in database file!"
273+ echo " These should have been replaced with secure placeholders. Please check the file manually."
274+ grep -o " LINKIS-AUTH\|WS-AUTH\|DSS-AUTH\|QUALITIS-AUTH\|VALIDATOR-AUTH\|LINKISCLI-AUTH\|DSM-AUTH\|LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /db/${dml_file_name} 2> /dev/null || true
275+ else
276+ echo " SUCCESS: No old insecure tokens found in database file."
277+ fi
278+
279+ # SECURITY: Final verification - check for unreplaced LINKIS-UNAVAILABLE-TOKEN in all configuration files
280+ echo " ======= SECURITY: Final verification for remaining insecure tokens =========="
281+ remaining_insecure_config=$( grep -r " LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /conf/ 2> /dev/null | wc -l)
282+ remaining_insecure_admin=$( grep -o " LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /admin/configuration_helper.sh 2> /dev/null | wc -l)
283+
284+ if [ $remaining_insecure_config -gt 0 ] || [ $remaining_insecure_admin -gt 0 ]; then
285+ echo " WARNING: Found remaining LINKIS-UNAVAILABLE-TOKEN in configuration files!"
286+ echo " Configuration files: $remaining_insecure_config occurrences"
287+ echo " Admin scripts: $remaining_insecure_admin occurrences"
288+ echo " SECURITY RISK: Please review these files manually:"
289+ grep -r " LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /conf/ 2> /dev/null || true
290+ grep -n " LINKIS-UNAVAILABLE-TOKEN" $LINKIS_HOME /admin/configuration_helper.sh 2> /dev/null || true
291+ else
292+ echo " SUCCESS: All LINKIS-UNAVAILABLE-TOKEN placeholders have been replaced with secure tokens."
229293fi
230294
231295
0 commit comments