{"id":972,"date":"2019-06-13T10:02:36","date_gmt":"2019-06-13T19:02:36","guid":{"rendered":"\/blog\/?p=972"},"modified":"2023-11-29T14:10:45","modified_gmt":"2023-11-29T05:10:45","slug":"fortify-ssc-database-%ec%85%8b%ed%8c%85%eb%b0%a9%eb%b2%95-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=972","title":{"rendered":"[Fortify] SSC Database \uc14b\ud305\ubc29\ubc95 \uc815\ub9ac"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">######################################################################\n#\n# MySQL\n#\n######################################################################\n\uc124\uc815 \ub0b4\uc6a9\uc744 \uc801\uc6a9\ud558\uae30 \uc804\uc5d0 MySQL \uc11c\ube44\uc2a4\ub97c \uc911\uc9c0\ud558\uace0\nDB \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c ib_logfile0, ib_logfile1 \ud30c\uc77c\uc744 \uc0ad\uc81c\ud574\uc57c \ud55c\ub2e4.\n\n\u25a0MySQL DB \ucd08\uae30\ud654 \ubc29\ubc95:\nmysqld --initialize-insecure --user=mysql\nmysqld --install\n\n1. my.cnf \uc218\uc815 \ud6c4 MySQL \uc7ac \uc2dc\uc791\n-- ----------------------------------------------\n-- for MySQL Community Server 8.0.27\n-- ----------------------------------------------\n[mysqld]\nbasedir=\"C:\\PortableApps\\mysql-8.0.27-winx64\"\ndatadir=\"C:\\PortableApps\\mysql-8.0.27-winx64\\data\"\nsocket=\"C:\\PortableApps\\mysql-8.0.27-winx64\\data\\mysql.sock\"\nlog-error=\"C:\\PortableApps\\mysql-8.0.27-winx64\\data\\mysqld.log\"\npid-file=\"C:\\PortableApps\\mysql-8.0.27-winx64\\data\\mysqld.pid\"\nport=3306\ncharacter-set-client-handshake=FALSE\ncharacter-set-server=utf8mb3\ncollation-server=utf8mb3_general_ci\ndefault_storage_engine=innodb\ninnodb_buffer_pool_size=16G\ninnodb_file_per_table=true\ninnodb_lock_wait_timeout=300\ninnodb_log_file_size=4G\nlog-bin=MIXED\nmax_allowed_packet=1G\nmax_connections=65535\nsql_mode=TRADITIONAL\n\n[client]\nport=3306\ndefault-character-set=utf8mb3\n\n[mysql]\ndefault-character-set=utf8mb3\n\n-- ----------------------------------------------\n-- for MySQL 5.7 or MariaDB 10.x\n-- ----------------------------------------------\n[mysqld]\nbasedir=\"D:\/mysql\/mysql-5.7.31-winx64\"\ndatadir=\"D:\/mysql\/db\"\nport=3306\nbinlog_format=MIXED\ncharacter-set-client-handshake=FALSE\ncharacter-set-server=utf8\ncollation-server=utf8_general_ci\ndefault_storage_engine=innodb\ninnodb_buffer_pool_size=16G\ninnodb_file_format=Barracuda\ninnodb_file_per_table=true\ninnodb_large_prefix=1\ninnodb_lock_wait_timeout=300\ninnodb_log_file_size=4G\nmax_allowed_packet=1G\nquery_cache_size=128M\nquery_cache_type=1\nsql_mode=TRADITIONAL\n\n-- --------------------------------------------------------\n-- DB \ucd94\uac00 SQL\n-- --------------------------------------------------------\nCREATE DATABASE db_ssc_2222 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;\n\n-- --------------------------------------------------------\n-- DB \uc0ac\uc6a9\uc790 \ucd94\uac00 SQL (MySQL 5.x or MariaDB)\n-- --------------------------------------------------------\nGRANT ALL PRIVILEGES ON db_ssc_2222.* TO 'u_ssc'@'localhost' IDENTIFIED BY '&lt;PASSWORD>' WITH GRANT OPTION;\nGRANT ALL PRIVILEGES ON db_ssc_2222.* TO 'u_ssc'@'%' IDENTIFIED BY '&lt;PASSWORD>' WITH GRANT OPTION;\nFLUSH PRIVILEGES;\n\n-- --------------------------------------------------------\n-- DB \uc0ac\uc6a9\uc790 \ucd94\uac00 SQL (MySQL 8.x)\n-- --------------------------------------------------------\nCREATE USER 'u_ssc'@'%' IDENTIFIED BY '&lt;PASSWORD>';\nGRANT ALL PRIVILEGES ON db_ssc_2222.* TO 'u_ssc'@'%';\nFLUSH PRIVILEGES;\n\n-- --------------------------------------------------------\n-- STORED FUNCTION\uacfc TRIGGER \uc0dd\uc131 \uac15\uc81c\uc81c\uc57d \ud574\uc81c (\ud544\uc218 !!)\n-- --------------------------------------------------------\nSET GLOBAL LOG_BIN_TRUST_FUNCTION_CREATORS = ON;\n\n-- --------------------------------------------------------\n-- InnoDB\uc5d0\uc11c 767\ubc14\uc774\ud2b8 \uc774\uc0c1\uc758 \ud0a4\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uac8c \uc124\uc815 (MariaDB)\n-- --------------------------------------------------------\nSET GLOBAL INNODB_LARGE_PREFIX=ON;\nSET GLOBAL INNODB_FILE_FORMAT=BARRACUDA;\n\n-- --------------------------------------------------------\n-- \ud14c\uc774\ube14 \uc0dd\uc131\n-- --------------------------------------------------------\nmysql -u u_ssc -p&lt;PASSWORD> db_ssc_2222 &lt; create-tables.sql\n\n-- ----------------------------------------------------------------------------\n\n-- JDBC \uc5f0\uacb0 \uc635\uc158:\njdbc:mysql:\/\/10.10.10.105:3306\/db_ssc_2222?connectionCollation=utf8mb3_bin&amp;rewriteBatchedStatements=true&amp;allowPublicKeyRetrieval=true&amp;useSSL=false\n\n\n######################################################################\n#\n# Oracle\n#\n######################################################################\n\uba85\ub839\ud589 \ud504\ub86c\ud504\ud2b8\uc5d0\uc11c \uc544\ub798\uc758 \uba85\ub839\uc73c\ub85c sqlplus\ub85c \uc9c4\uc785\ud55c\ub2e4.\nsqlplus \"system\/manager as sysdba\"\n\n-- ----------------------------------------------------------------------------\n\n-- DB \uc0dd\uc131\nALTER SESSION SET \"_ORACLE_SCRIPT\"=TRUE;\nCREATE TABLESPACE ts_ssc_2222 DATAFILE 'C:\\app\\Administrator\\oradata\\orcl\\ts_ssc_2222.dbf' SIZE 2M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL AUTOALLOCATE;\nCREATE USER u_ssc IDENTIFIED BY \"&lt;PASSWORD>\";\nALTER USER u_ssc DEFAULT TABLESPACE ts_ssc_2222;\nALTER USER u_ssc TEMPORARY TABLESPACE TEMP;\nGRANT CONNECT, DBA, RESOURCE TO u_ssc;\n\n-- ----------------------------------------------------------------------------\n\n-- \uc0ac\uc6a9\uc790 \ube44\ubc00\ubc88\ud638 \ubcc0\uacbd\nALTER USER u_ssc IDENTIFIED BY \"&lt;PASSWORD>\";\n\n-- ----------------------------------------------------------------------------\n\n-- \uc0e5\uc81c\n-- Oracle 12c\uc758 \uc774\uc804\ubc84\uc804 \ud638\ud658\uc744 \uc704\ud55c \uc124\uc815\nALTER SESSION SET \"_ORACLE_SCRIPT\"=TRUE;\nDROP USER u_ssc CASCADE;\nDROP TABLESPACE ts_ssc_2222 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;\n\n-- ----------------------------------------------------------------------------\n\n-- JDBC URL\njdbc:oracle:thin:@10.10.10.105:1521:orcl\n\n\n######################################################################\n#\n# Microsoft SQL\n#\n######################################################################\n\u203bSSMS(SQL Server Management Studio)\uc5d0\uc11c \uc9c4\ud589\n\n1. WAS \uc2dc\uc791 \uc804 JDK 11\uc5d0\uc11c &lt;JDK Dir>\/conf\/security\/java.security\uc758 \uc544\ub798 \ubd80\ubd84\uc744 \ud3b8\uc9d1\ud55c\ub2e4.\n  jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \\\n      DH keySize &lt; 1024, EC keySize &lt; 224, 3DES_EDE_CBC, anon, NULL, \\\n      include jdk.disabled.namedCurves\n  \ubd80\ubd84\uc5d0\uc11c TLSv1\uacfc TLSv1.1 \ud56d\ubaa9\uc744 \uc81c\uac70\ud55c\ub2e4.\n\n2. \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc0dd\uc131\n  \u2460\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\ub370\uc774\ud130\ubca0\uc774\uc2a4 > [\u2196\ud31d\uc5c5\uba54\ub274] > \uc0c8 \ub370\uc774\ud130\ubca0\uc774\uc2a4\n  \u2461\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc77c\ubc18 > \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc774\ub984(N): db_ssc_2222\n  \u2462\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc635\uc158 > \ub370\uc774\ud130 \uc815\ub82c(C): Korean_Wansung_CS_AS\n  \u2463\"\ud655\uc778\" \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \uc0dd\uc131 \uc9c4\ud589\n\n3. \uc0ac\uc6a9\uc790 \ucd94\uac00\n  \u2460\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\ubcf4\uc548 > \ub85c\uadf8\uc778 > [\u2196\ud31d\uc5c5\uba54\ub274] > \uc0c8 \ub85c\uadf8\uc778\n  \u2461\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc77c\ubc18 > \ub85c\uadf8\uc778 \uc774\ub984(N) : u_ssc\n  \u2462\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc77c\ubc18 > \u2611SQL Server \uc778\uc99d(S) > &lt;PASSWORD> \uc785\ub825\n  \u2463\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc77c\ubc18 > \u25a1\ub2e4\uc74c \ub85c\uadf8\uc778\ud560 \ub54c \ubc18\ub4dc\uc2dc \uc554\ud638 \ubcc0\uacbd\n  \u2464\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc11c\ubc84 \uc5ed\ud560 > \u2611public\n  \u2465\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc0ac\uc6a9\uc790 \ub9e4\ud551 > \uc774 \ub85c\uadf8\uc778\uc73c\ub85c \ub9e4\ud551\ub41c \uc0ac\uc6a9\uc790 > \u2611db_ssc_2222\n  \u2466\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc0ac\uc6a9\uc790 \ub9e4\ud551 > \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5ed\ud560 \uba64\ubc84 \uc790\uaca9: \u2611db_owner, \u2611public\n  \u2467\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc0c1\ud0dc > \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5d4\uc9c4 \uc5f0\uacb0 \uad8c\ud55c > \u2611\ud5c8\uc6a9\n  \u2468\uc88c\uce21\ud2b8\ub9ac\uba54\ub274-\uc0c1\ud0dc > \ub85c\uadf8\uc778 > \u2611\ud5c8\uc6a9\n  \u203b\uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \uacbd\uc6b0\n    USE db_ssc_2222;\n    EXEC sp_change_users_login 'Auto_Fix', 'u_ssc';\n\n3. JDBC \uc8fc\uc18c\ub97c \uc544\ub798\uc640 \uac19\uc774 \uc785\ub825\ud55c\ub2e4.\n  jdbc:sqlserver:\/\/10.10.10.105:1433;database=db_ssc_2222;connectionCollation=korean_wansung_cs_as;sendStringParametersAsUnicode=false<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"218\" src=\"\/blog\/wp-content\/uploads\/2020\/07\/mssql_fortify_ssc.png\" alt=\"\" class=\"wp-image-3353\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[66,10],"tags":[],"class_list":["post-972","post","type-post","status-publish","format-standard","hentry","category-computing_fortify","category-computing_database"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=972"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/972\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}