Self-Improvement

(Bash, Batch Shell) 주요정보통신기반시설 코드 본문

프로그래밍/Shell

(Bash, Batch Shell) 주요정보통신기반시설 코드

JoGeun 2020. 8. 5. 09:28

bash, batch 코드를 처음 배우고나서 프로젝트성??으로 2018년에 작성해봤던 자료를 저장, 정리

네트워크 장비 보안 (Bash)

실행파일.zip
0.03MB
네트워크 장비 보안 가이드.pdf
0.97MB

EX) N-14.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
 
function-net.sh
 
MAIN1
LIST4
BAR
CODE [N-14] NTP 서버 연동
LEVEL 중
cat << EOF >> $RESULT
 [ 양호 ] : NTP 서비스가 서버로 설정된 경우
 [ 취약 ] : NTP 서비스를 사용하지 않거나, 서버와 연동되어 있지 않은 경우
EOF
BAR
PRINT1
 
if [ -f network-config ] ; then
    NTP1=`grep ^ntp network-config | awk '{print $3}'`
    if [ $NTP1 ] ; then
        OK NTP 서비스가 $NTP1 서버로 설정되어 있습니다.
    else
        WARN NTP 서비스가 설정되어 있지 않습니다.
    fi
else
    INFO network-config 파일이 존재하지 않습니다.
fi
 
cat $RESULT
echo ; echo
cs

 


 

리눅스 보안 (Bash)

리눅스 서버 보안 가이드.pdf
1.11MB
실행코드.zip
/ 0.05MB

EX) U-20.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
 
function.sh
 
MAIN1
LIST2
BAR
CODE "[U-20] /etc/hosts 파일 소유자 및 권한 설정"
LEVEL 상
cat << EOF >> $RESULT
 [ 양호 ] : /etc/hosts 파일의 소유자가 root이고, 권한이 600인 경우
 [ 취약 ] : /etc/hosts 파일의 소유자가 root가 아니거나, 권한이 600이 아닌 경우
EOF
BAR
PRINT1
 
BOOLEAN1=0
ls /etc/hosts > /dev/null 2>&1
if [ $? -eq 0 ] ; then
    BOOLEAN1=1
fi
 
if [ $BOOLEAN1 -ne 0 ] ; then
    CHOWN1=`ls -/etc/hosts | awk '{print $3}'`
    if [ $CHOWN1 = root ] ; then
        OK /etc/hosts 파일이 존재하며 소유자는 root입니다.
    else    
        WARN /etc/hosts 파일이 존재하지만 소유자는 root가 아닙니다.
    fi
elif [ $BOOLEAN1 -eq 0 ] ; then
    INFO /etc/hosts 파일이 존재하지 않습니다.
fi
 
if [ $BOOLEAN1 -eq 1 ] ; then
    PERM1=`ls -/etc/hosts | awk '{print $1}'`
    if [ $PERM1 = "-rw-------" ] ; then
        OK hosts 파일의 권한이 600 입니다.
    else
        WARN hosts 파일의 권한이 600이 아닌 $PERM1 으로 되어 있습니다.
    fi
fi
 
cat $RESULT
echo ; echo
cs

 


 

윈도우 2008 보안 (Batch)

윈도우 2008 보안 가이드.pdf
1.20MB
실행코드.zip
0.24MB

EX) W-57.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
@echo off
setlocal
color 0f
chcp 949
mode con cols=80 lines=25
title Windows 2008 R2 Server Vulnerable Check Script
pushd %~dp0
 
set resultfile="report.txt"
if exist %resultfile% del %resultfile%
 
echo --------------------------------------------------------- >> %resultfile%
echo                        윈도우즈 서버               >> %resultfile%
echo --------------------------------------------------------- >> %resultfile%
echo                   3. 패치 관리               >> %resultfile%
echo --------------------------------------------------------- >> %resultfile%
echo>> %resultfile%
echo ●[ W-57 ] 정책에 따른 시스템 로깅 설정 >> %resultfile%
echo ========================================================= >> %resultfile%
echo   [위험도] 중 >> %resultfile%
echo   [ 양호 ] 아래와 같은 이벤트에 대한 감사 설정이 되어 있는 경우 >> %resultfile%
echo            - 로그온 이벤트, 계정 로그온 이벤트, 정책 변경: 성공/실패 감사 >> %resultfile%
echo            - 계정 관리, 디렉터리 서비스 액세스, 권한 사용:실패 감사 >> %resultfile%
echo   [ 취약 ] 아래와 같은 이벤트에 대한 감사 설정이 되어 있지 않은 경우 >> %resultfile%
echo ========================================================= >> %resultfile%
echo ● 결과 >> %resultfile%
 
secedit /export /cfg secedit.txt > nul 2>&1
 
TYPE secedit.txt | findstr /i auditlogonevents | findstr 3 > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 로그온 이벤트의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 로그온 이벤트의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
 
TYPE secedit.txt | findstr /i auditaccountlogon | findstr 3 > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 계정 로그온 이벤트의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 계정 로그온 이벤트의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
 
TYPE secedit.txt | findstr /i auditpolicychange | findstr 3 > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 정책 변경의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 정책 변경의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
echo   ======== >> %resultfile%
 
TYPE secedit.txt | findstr /i auditaccountmanage | findstr 2  > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 계정 관리의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 계정 관리의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
 
TYPE secedit.txt | findstr /i auditdsaccess | findstr 2 > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 디렉터리 서비스 액세스의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 디렉터리 서비스 액세스의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
 
TYPE secedit.txt | findstr /i auditprivilegeuse | findstr 2 > nul 2>&1
if %errorlevel% == 0 (
    echo   [ 양호 ] 권한 사용의 대한 감사 설정이 제대로 되어 있습니다. >> %resultfile%
else (
    echo ※[ 취약 ] 권한 사용의 대한 감사 설정이 제대로 되어있지 않습니다. >> %resultfile%
)
 
del secedit.txt
echo>> %resultfile%
echo>> %resultfile%
 
type %resultfile%
pause
cs

 


 

데이터베이스 보안(Bash)

실행코드.zip
0.02MB