윈도우지만 ssh 형태로 접속할 수 있으며, cli 명령어로 서버를 관리할 수 있네요.

관리할 윈도우 서버가 많다면 최고의 기능입니다~

 

설정해보니, 재미있네요~

 

[원격서버 작업]: 접속되는 서버

1. 원격서버 설정 적용하여, 원격 명령을 수신하도록 컴퓨터를 구성합니다.

    명령어: Enable-PSRemoting

 

명령어 입력 시, cmd 창이 관리자 권한으로 실행이 되지 않았다면 아래와 같은 메시지가 출력됩니다.

 

2. 방화벽 정책 추가

  - 방화벽에 접근허용 가능한 IP를 등록하고 허용하기

    명령어: New-NetFirewallRule -DisplayName "WindowsRemoteManagement" -Group "Windows 원격 관리" -Description "WS-Management를 통한 Windows 원격 관리에 대한 인바운드 규칙입니다. [TCP 5985]" -Direction Inbound -LocalPort 5985 -Protocol TCP -RemoteAddress 192.168.0.54 -Action Allow

 

[로컬PC 작업]: 접속하는 관리자 PC

1-1. 원격서버를 신뢰할 수 있는 장치로 등록

    명령어: Set-Item WSMan:\localhost\Client\TrustedHosts -Value "원격서버 IP"

1-2. 원격서버 장치 확인

    명령어: Get-Item WSMan:\localhost\Client\TrustedHosts

 

2. 원격서버 접속 가능한 계정 정보 (자격증명) 만들기

  - 원격서버로 접속하기 위한 계정의 패스워드를 입력

    명령어: $MyPassword = Read-Host "Password" -AsSecureString | ConvertFrom-SecureString (패스워드 변수로 저장)

  변수로 저장된 패스워드를 확인할 수 있지만, 암호화 되어 있음

 

3. 자격증명 만들기

  - 원격으로 접속할 서버의 계정 정보인 ID/PW를 저장

  ※ 임시 변수로 저장하는 것으로 파워쉘을 빠져나오면 계정 정보가 지워짐.

    명령어1: $MyPassword = $MyPassword | ConvertTo-SecureString
    명령어2: $ObjectTypeName = "System.Management.Automation.PSCredential"
    명령어3: $MyCredential = New-Object -TypeName $ObjectTypeName -ArgumentList "ID",$MyPassword

 

4. 원격 서버 접속

  - 원격으로 SSH 형태의 터미널 방식으로 접속

    명령어: Enter-PSSession -ComputerName "원격  서버 IP" -Credential $MyCredential

 

5. 원격서버에 명령어 전달

  - 원격서버에 직접 접속하지 않고 명령어만 전달하여 결과 확인 (서버 재시작 등등 가능)

    명령어: Invoke-Command -ComputerName "원격 서버 IP" -Credential $MyCredential -Command { 명령어 }

 

sslvpn의 공격 접속 시도는 어마무시 합니다.

그래서 패스워드 3회 입력 실패 시 기본 60초를 600초로 변경합니다.

 

fortigate # config vpn ssl settings
fortigate (settings) # set 
# 다른 내용은 표시하지 않음
login-block-time                 Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec, default = 60).

fortigate (settings) # set login-block-time 600
fortigate (settings) # get
# 다른 내용은 표시하지 않음
login-block-time    : 600
fortigate (settings) # end

fortigate의 관리자 권한 접근 시 패스워드를 3번 틀릴경우, 기본적으로 잠김 시간은 60초 입니다.

너무 약하다 싶어 패스워드 입력 실패를 5회로, 기본 잠김 시간은 600초로 변경했습니다.

 

fortigate # config system global

fortigate (global) # set 
# 다른 내용은 생략
admin-lockout-duration                      Amount of time in seconds that an administrator account is locked out after reaching the admin-lockout-threshold for repeated failed login attempts.
admin-lockout-threshold                     Number of failed login attempts before an administrator account is locked out for the admin-lockout-duration.

fortigate (global) # set admin-lockout-duration 600
fortigate (global) # set admin-lockout-threshold 5

fortigate (global) # get
# 다른 내용은 생략
admin-lockout-duration: 600
admin-lockout-threshold: 5

fortigate (global) # end

fortigate #

리눅스에서는 단순하게 uptime을 하면 컴퓨터의 부팅시간을 알 수 있습니다.

윈도우에서는 확인하는 방법이 없을까 고민하다가 찾은 방법입니다.

 

이벤트 로그에 부팅 로그가 찍혀 있습니다.

직접 들어가서 보는 방법도 있습니다만, 엔지니어니까~

 

powershell을 이용하여 로그를 검색하는 방법을 안내합니다~

PS C:\> Get-WinEvent -FilterHashtable @{ // 엔터를 치면 다음줄에 자동으로 ">>"가 생깁니다.
>> logname = 'system' // 복사할때 ">>"는 빼고 복사하여 붙여넣기 하세요.
>> id = 6008, 12, 13 } | more

logname = 이벤트 로그 종류

ID 6008: 예기치 않은 시스템 종료 시간

ID 12: 운영체제가 시작된 시간

ID 13: 운영체제가 종료된 시간

윈도우 환경에서 해피해킹을 사용하면서 가장 불편한 점 한가지가 바로 특수기호 입력입니다.

 

우선 해피해킹의 DIP Switch를 1,3,5번을 On 시켜줍니다.

그럼 아래와 같으 키보드 동작을 보여줍니다.

 

  ㅇ 왼쪽 Alt = Win 키

  ㅇ 왼쪽 ◇ = Alt 키

  ㅇ 오른쪽 ◇ = 한/영 키

  ㅇ 오른쪽 Alt = 한자

 

그리고 아래의 레지스트리를 실행 후 재부팅 해주시면 됩니다.

HHKB_HANJA.reg
0.00MB

 

원복하고 싶으시다면 

레지스트리 편집기(시작  실행에서 regedit) 실행 후

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 에서

"Keyboard Layout"를 삭제하시면 됩니다.

서버의 경우 업데이트 이후 자동으로 강제로 재시작을 해야 하는 경우가 있습니다.

해당 상황을 방지하기 위한 방법 입니다.

 

gpedit.msc → 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → Windows 업데이트 로 이동

아래의 "예약된 자동 업데이트 설치 시 로그온한 사용자가 있을 경우 자동 다시 시작 사용 안 함" 을 사용으로 변경

 

변경 전

 

변경 후

 

 

이후 관리자 권한으로 실행한 cmd 창에서 gpudpate /force 실행

 

레지스트리 파일을 만들어서 배포하고 실행하는 정책을 만들어 봤습니다.

보시고 활용하시기 바랍니다.

정책을 적용하는 부분은 이미 알고 있다는 전제하에, 정책을 생성하는 부분만 설명 하겠습니다.

정책을 배포하기 전에 가장 중요한 것은 모든 AD User들이 접근할 수 있는 공유폴더의 설정이 필요합니다.

AD User가 접근가능한 폴더에서 파일을 복사해 가게끔 해야 하기 때문엡니다.

 

 

사용자 구성 → 정책 → Windows 설정 → 스크립트 (로그온/로그오프) → 로그온 → (마우스 팝업 매뉴) 속성 → 스크립트 추가

※ 아래의 "로그온" 폴더 위치를 임의의 폴더로 변경해서 스크립트를 선택하면 실행이 안되더군요.

 

로그온을 더블클릭 하거나, 마우스 오른쪽 버튼의 팝업 매뉴를 활성화 시킨 후 속성을 선택

스크립트 파일을 "찾아보기"를 눌러서 검색

 

현재의 경로에 파일을 붙여넣기하여 선택

※ 저는 해당 경로의 위치를 바꾸면 실행이 되지 않았습니다.

 

적용

 

 

스크립트의 내용은

start_script.bat 파일을 실행하여 내 PC에 해당 파일이 있는지 없는지 판단한 후 있다면 종료, 없다면 해당 파일을 내 PC에 복사하여 실행하는 것입니다.

 

 

스크립트: start_script.bat

REM "REM"은 윈도우에서 주석을 의미합니다.
REM echo off 의 의미는 이후 실행하는 명령어를 화면에 표시하지 않겠다는 것이고,
REM 앞의 @ 는 echo off 명령어 자체도 화면에 표시하지 않도록 하는 기능을 합니다.
@echo off

dir c:\users\%username%\downloads | findstr script_test.bat > nul
REM "nul"은 빈 값을 의미합니다.
REM 출력을 빈 곳으로 보내니 결국 화면에도 파일에도 결과를 출력하지 않고
REM 출력 결과를 날려버리는 용도로 사용
if %errorlevel% == 1 (
REM %errorlevel%은 마지막으로 실행시킨 명령어의 실패 여부를 나타냅니다.
REM 성공했을때에는 0의 값을, 실패했을때에는 1의 값을 반환합니다.
    copy \\192.168.000.000\전사공유\화면보호기활성화\script_test.bat c:\users\%username%\downloads /y
    c:\users\%username%\downloads\script_test.bat
) else (
    echo 이미 자료가 있어 복사를 하지 않았습니다.
)

 

 

스크립트의 내용은

start_script.bat 배치 파일로 복사해 온 script_test.bat 파일을 실행하여 화면보호기의 작동 여부 설정을 레지스트리에서 값을 불러온 후 화면보호기 작동 여부에 따라서 실행이 되게끔 설정한 스크립트 입니다.

 

스크립트: script_test.bat

@echo off

for /f "tokens=3 delims= " %%a IN ('reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive') do set result=%%a

if %result% == 1 (
echo.
echo 이미 설정이 적용되어 있습니다.
) else (
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f >> nul
echo.
echo 설정을 적용하였습니다.
)

'기술 노트 > AD-Server' 카테고리의 다른 글

AD 연결 후 권한 요청 뜰 경우  (0) 2024.05.27
dsrm 명령어  (0) 2024.01.19
AD 계정 정책 설정이 실제와 다를 때  (0) 2023.07.21
AD 암호정책 적용 시 고려사항  (0) 2023.07.20
AD 관리 콘솔 만들기  (0) 2023.07.07

도메인 패스워드 설정을 해도, 제가 설정한 것이 아닌 다른 설정의 정책이 적용이 되어 있네요.

왜 이런 현상이 있는지 거의 3일은 고생한 것 같아요.

AD의 ADDefaultDomainPasswordPolicy 정책에 대한 규칙과 우선순위가 정해져 있네요.

AD 공부 초기라서 이런 사소한 부분을 파고 있습니다.

파악한 내용을 기록합니다.

알고 있으면 아무것도 아닌 규칙이지만, 애매하게 알고 있으면 파악이 안되는 정책 적용 입니다.

 

 

1. AD에서 ADDefaultDomainPasswordPolicy의 정책은 최상위 도메인에서만 적용된다.

2. ADDefaultDomainPasswordPolicy의 정책은 Default Domain Policy의 GPO에서만 설정이 적용 된다.

3. Default Domain Policy의 GPO가 아닌 다른 GPO에서는 ADDefaultDomainPasswordPolicy 정책이 적용되지 않는다.

4. Default Domain Policy의 GPO가 비활성화 되어 있는 경우에는 마지막으로 GPO에 설정되어 있던 ADDefaultDomainPasswordPolicy의 정책이 적용된다.

5. Default Domain Policy의 GPO에서 ADDefaultDomainPasswordPolicy의 설정을 하지 않을 경우에는 로컬그룹정책의 패스워드설정 정책을 따른다.

 

※ 계정 정책은 Default Domain Policy에서만 적용됩니다.

'기술 노트 > AD-Server' 카테고리의 다른 글

dsrm 명령어  (0) 2024.01.19
AD에서 파일 배포 하기  (0) 2023.07.31
AD 암호정책 적용 시 고려사항  (0) 2023.07.20
AD 관리 콘솔 만들기  (0) 2023.07.07
dsadd 명령어  (0) 2023.07.07

AD에서 계정의 암호 정책 적용이 되지 않아 고생한 적이 있습니다.

AD의 설정이 기존 윈도우 버전과 달라졌다고는 하는데, 정확히 어느 Windows 버전에서부터 변경됐는지는 모르겠네요.

 

계정 정책의 암호 정책을 적용하기 위해서는 전체 적용시에는 대상 범위를 "Authenticated Users"를 선택하면 됩니다.

히지만, 별도의 개별 OU에 적용을 할때에는 아래와 같이 사용자와 컴퓨터을 모두 넣어줘야 정상적으로 적용이 됩니다.

 

 

'기술 노트 > AD-Server' 카테고리의 다른 글

AD에서 파일 배포 하기  (0) 2023.07.31
AD 계정 정책 설정이 실제와 다를 때  (0) 2023.07.21
AD 관리 콘솔 만들기  (0) 2023.07.07
dsadd 명령어  (0) 2023.07.07
AD 서버에서 계정 생성 시 암호 정책 오류  (0) 2023.07.07

VisualSVN의 resository의 저장공간 경로가 1개이면, 아래의 문제에 직면한다면... 참 난감합니다.

아래는 용량이 부족한 상황으로 새로운 저장공간을 확보하여도, 추가할 수 없는 상황입니다.

  1. 기존 용량의 repository에 용량이 부족하여, 새로운 디스크를 기존의 repository 에 추가할 때

  2. 용량이 부족하여, A repository의 자료를 B repository로 최근 자료의 일부를 백업 할때

 

VisualSVN의 repository 저장 경로는 아래와 같이 단일 경로 입니다.

 

그래서 방법이 없나 고민하다가 찾아냈습니다!!!

알아낸 방법을 사용 할 경우가 있을지는 모르겠으나, 엔지니어로써 찾아내서 기쁘네요ㅎㅎㅎ

 

 

[간단 정리]

1. repository의 저장 경로를 새롭게 추가할 디스크가 있는 경로로 변경한다.

2. 새로운 repository를 생성한다.

3. 기존 repository 경로로 다시 설정을 변경한다.

※ 이렇게 번거롭게 하는 이유는 repository의 폴더 권한 때문입니다.

4. 기존 repository 경로에 아래 명령어를 이용하여 심볼릭 링크를 만든다.

  - 명령어: mklink /d "링크" "원본"

5. VisualSVN의 httpd.conf 파일을 open 한다.

  - 경로: C:\Program Files\VisualSVN Server\conf

6. <Location "/svn/">을 검색으로 찾아서 <location "/svn/"> </Location> 복사하여 바로 아래에 붙여 넣는다.

7. 붙여넣은 <Location "/svn/">과 SVNParentPath C:\Repositories"를 변경한다.

  - <Location "/svn2/">, SVNParentPath C:\test_Reposiroty"

8. repository svn_path_test의 경로에 접근권한을 부여한다.

9. VisulSVN의 서비스를 재시작한다.

10. 테스트

 

 

[상세 설명]

1. repository의 저장 경로를 새롭게 추가할 디스크가 있는 경로로 변경한다.

  - 저는 새로운 디스크가 아닌 별도의 공간을 추가하는 방법으로 테스트를 진행했습니다.

 

2. 새로운 repository를 생성한다.

  - 저는 svn_path_test 라는 repository를 생성했습니다.

 

- svn_path_test의 repository 권한은 아무 것도 주지 않았습니다.

  (기존 생성한 기본 계정 정보는 storage의 경로를 C:\Repositories로 설정해야 불러 올 수 있습니다.)

 

※ svn_path_test 폴더 권한:

  - 아래의 권한은 svn 설정의 storage 경로 설정 후 repository 생성시에만 부여 됩니다.

 

3. 기존 repository 경로로 다시 설정을 변경한다.

 

4. 기존 repository 경로에 아래 명령어를 이용하여 심볼릭 링크를 만든다.

  - 명령어: mklink /d "링크" "원본"

 

5. VisualSVN의 httpd.conf 파일을 open 한다.

  - 경로: C:\Program Files\VisualSVN Server\conf

 

6. <Location "/svn/">을 검색으로 찾아서 <location "/svn/"> </Location> 부분을 복사하여 바로 아래에 붙여 넣는다.

 

7. 붙여넣은 <Location "/svn/">과 SVNParentPath C:\Repositories"를 변경한다.

  - <Location "/svn2/">, SVNParentPath C:\test_Reposiroty"

 

8. repository svn_path_test의 경로에 접근권한을 부여한다.

 

9. VisulSVN의 서비스를 재시작한다.

 

10. 테스트

  - 내 PC에서 svn 폴더와 동기화 할 폴더를 생성 (d:\svn_path_test 테스트 진행)

  - SVN Checkout...을 이용하여 계정 설정 및 폴더 동기화 진행

  - 폴더 및 계정 정보 확인 후 후 OK 선택

  - 저는 기존 ksm 계정을 계속 사용하여 계정 로그인 정보가 나오지 않았습니다.

  - 정상적으로 완료가 되면 아래와 같이 형상관리 버전이 0 으로 확인할 수 있습니다.

  - 실제 svn_path_test repository 경로와 심볼릭 링크로 설정된 svn_path_test 경로의 형상관리 버전 시간 비교입니다.

  - 경로는 다르지만, 형상관리버전 파일의 시간이 정확히 일치하는 것을 볼 수 있습니다.

 

위의 방법으로 SVN에 추가 저장 공간을 확보하여 저장 공간을 늘리거나, 새로운 백업 시 유용하게 사용하시기를 바랍니다.

'기술 노트 > SVN' 카테고리의 다른 글

원하는 형상버전으로 분리 하기  (0) 2023.07.14
SVN에서 lock이 걸린 경우  (0) 2023.07.05
svn 서버 ip 변경하기  (0) 2023.06.21
svn 폴더 동기화 하기  (0) 2023.06.21
SVN 연결 폴더 초기화 하기  (0) 2023.06.21

+ Recent posts