반응형

Security Group (보안 그룹) 설정을 내 IP로 하면

당연히 EC2 인스턴트에 무리없이 연결 될 줄 알았는데...

 

웹 상에서 인스턴스에 연결은 안되었다....

 

친절한 오류메시지 내역

We were unable to connect to your instance. Make sure that your instance’s network settings are configured correctly for EC2 Instance Connect. For more information, see Task 1: Configure network access to an instance.

 

당연하게도

 

Security Group에서 22(SSH)를 0.0.0.0/0 으로 설정하면 된다...

 

하지만 이것은 치명적인 보안 문제가 있기 때문에 권장하지 않습니다.

 

해결방법

 

1. 우선 보안 그룹(Security Group)에서 22포트에 대해 0.0.0.0/0으로 설정 뒤 웹으로 연결 한다.

2. 다음 명령어를 사용하여 내가 접속하는 웹의 접근 IP 대역을 체크한다. (서울 리전 기준!)
  curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="ap-northeast-2") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'

13.209.1.56/29

 

  ※ Amazone Linux 2 AMI 설치 내역임 

  ※ 설치된 명령어(curl, jd )

      * 없을 경우 #> yum install jd 와 같은 명령어로 설치함.

 

3. 위의 설정 값을 기준으로 다시 보안 그룹 (Security Group)을 재 설정한다.

   * xxx.xxx.xxx.130 은 내 IP로 설정한 고정 IP 주소

   * 위의 웹 접근시 나온 정보 (13.209.1.26/29)를 SSH 접근하도록 설정하면 EC2를 웹에서 연결 가능함.

 

   

 

참고 URL : https://stackoverflow.com/questions/66884055/elastic-beanstalk-ec2-instance-connect-cant-connect

 

Elastic Beanstalk & EC2 Instance Connect: Can't connect

I created an Elastic Beanstalk environment from Visual Studio and need to login to service the underlying ec2 vm. I don't have an credentials for the server, so I wanted to use EC2 Instance Connect...

stackoverflow.com

참고 URL : https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-instance-connect-troubleshooting/

 

EC2 Instance Connect를 사용한 연결 문제 해결

Amazon EC2 Instance Connect를 사용하여 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스에 연결하려고 할 때 다음 오류가 표시됩니다. “ 인스턴스 연결을 설정하는 동안 문제가 발생했습니다. 로그인하지 못

aws.amazon.com

 

반응형
반응형

1. 웹페이지 로딩 속도 측정

www.gtmetrix.com 

 

GTmetrix | Website Speed and Performance Optimization

449,462,919 pages analyzed so far Join thousands of people and companies around the world committed to making the web consistently fast.

gtmetrix.com

 

2. 구글 웹 사이트 성능 개선 가이드

https://developers.google.com/speed/pagespeed/insights/?hl=ko

 

PageSpeed Insights

모든 기기에서 웹페이지 속도를 개선해 보세요.

developers.google.com

 

3. 야후 yslog 오픈 프로젝트 (플러그인 설치)

http://yslow.org/

 

YSlow - Official Open Source Project Website

YSlow analyzes web pages and why they're slow based on Yahoo!'s rules for high performance web sites Feature highlights Grades web page based on one of three predefined ruleset or a user-defined ruleset; It offers suggestions for improving the page's perfo

yslow.org

 

반응형

'Private' 카테고리의 다른 글

D3  (0) 2019.05.31
svn 백업 및 복구  (1) 2019.05.08
node-red oracledb  (0) 2018.06.25
서버 용량 산정 / 성능 측정 / tpmc / bops / tpc / tpc-h  (0) 2013.05.10
오라클 접속 ORA-12505 에러 관련  (0) 2013.05.02
반응형

- D3 갤러리
https://github.com/d3/d3/wiki/Gallery
시각화 차트, 특별한 기술, 재미있는 시각화 구현

- BioVisualize
http://biovisualize.github.io/d3visualization/
D3 갤러리로서 시각화 예제를 온라인상에서 빠르게 찾도록 도와준다

- D3 튜토리얼 페이지
https://github.com/mbostock/d3/wiki/Tutorials
D3의 많은 개념과 기술을 사용하는 방법을 보여주기 위한 튜토리얼과 이야기, 슬라이드 들

- D3 플러그인
https://github.com/d3/d3-plugins
시각화에 필요한 기능이 D3에 없다면 구현하기 전에 확인해 보는 저장소

- D3 API
https://github.com/mbostock/d3/wiki/API-Reference
https://github.com/d3/d3/wiki
D3 라이브러리가 제공하는 모든 함수와 특성에 대한 자세한 정보를 얻을 수 있다.

- Mike Bostok's Blocks
http://bl.ocks.org/mbostock
아주 흥미로운 시각화 자료를 접할 수 있는 D3 개발자인 마이크 보스톡이 직접 관리하는 D3 예제 사이트

- JS Bin
http://jsbin.com/ugacud/1/edit
이미 빌드가 완료된 D3 테스트와 실험 환경을 완전하게 온라인상에 제공

- JS Fiddle
http://jsfiddle.net/qAHC2/
JS Bin 과 비슷한 양상을 나타내며, 자바스크립트 코드를 프로토타이핑하고 공유하는 플랫폼을 온라인상에서 제공

다음의 D3 커뮤니티를 통해 도움을 얻을 수 있다.

- Stack Overflow의 D3.js
http://stackoverflow.com/questions/tagged/d3.js
https://stackoverflow.com/questions/tagged/d3.js
Stack Overflow는 개발자를 위한 가장 유명한 커뮤니티 기반 무료 Q&A 사이트이다.

- D3 구글 그룹
https://groups.google.com/forum/?fromgroups#!forum/d3-js
D3 뿐만 아니라 유사한 새태계의 다른 라이브러리를 위한 공식 유저 그룹

 

반응형
반응형

참고 사이트 : 
1. 설정값 들 정보
   https://www.lesstif.com/pages/viewpage.action?pageId=43843899
2. Centos 7 설치 관련
   https://idchowto.com/?p=43787

불러오는 중입니다...

 

Centos 7에 아무생각없이... (난 보안 담당자는 아님....)

 

서비스를 오픈하고 나니

 

불특정 다수에게 서비스를 제공해야 하는 상황이 발생하였습니다...

 

우리만 접근하면 참 좋은데

 

너무 많은 불법 접근 및 접속 요청이 있는 것을 알았고

 

이것을 능동적으로 대응하기 위해

 

fail2ban 패키지가 있다는 사실을 알게되어 글을 씁니다.

 

ssh, mariadb, http 불법 접근시 자동으로 ip ban이 되도록 하였습니다.

 



1. fail2ban 설치

 

다음 명령어를 통해 저장소를 설치할 수 있습니다.

 

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 

# yum install -y fail2ban fail2ban-systemd 


redhat 계열에서 접근로그파일은 /var/log/secure 입니다.  

centos 7 이전에는 secure 로그파일에 의존하여 동작했으나 centos 7 부터는 systemd에서 통합적으로 관리합니다.

※ 이 설정과 관련하여 별도의 파일로 설정할 때는 2가지 옵션을 추가해야 합니다.

 ( backend = polling
   banaction = iptables-multiport )

로그파일이 없으면 fail2ban동작불가하기 때문에 fail2ban-systemd를 같이 설치진행합니다

 

centos 시작시 fail2ban이 자동으로 시작하도록 설정

# systemctl enable fail2ban  

fail2ban 서비스 시작

# systemctl start fail2ban 




2. 설정

fail2ban 의 기본 설정은 /etc/fail2ban/jail.conf 에 있지만 설정을 수정할 필요가 있을 경우 

기본 설정 파일은 놔두고 개인화 설정 파일인 /etc/fail2ban/jail.local 을 사용하는 것이 좋습니다.

설정 파일은 Windows 의 ini 파일처럼 [항목명] 밑에 key=value 형식으로 기술하면 되며 

# 은 주석이며 주요 설정은 [DEFAULT] 항목 밑에 기술하며 여러 기능중에 주요 설정 항목을 알아 봅시다.

 

2019.04.30일 기준으로 기본 설치하면 /etc/fail2ban/jail.conf 파일만 존재하며 jail.local은 보이지 않습니다.

                  복사하여 사용하는 방식으로 보이나 아래 설정들은 그냥 사용하였습니다. (jail.conf은 백업 받아둠)

                  



2.1 ignoreip

ignoreip 에 설정된 IP 는 로그인을 실패해도 차단하지 않으며 기본 설정은 localhost 입니다. 

IP를 추가할 경우 jail.local 파일 의 [DEFAULT] 항목에 기술해 주면 되며 여러개를 기술할 경우 

공백이나 , 로 구분해 주면 되며 아래는 로컬호스트와 192.168.10.x 대역은 차단하지 않는 설정입니다.

ignoreip = 127.0.0.1/8 192.168.10.0/24 



2.2 bantime 

bantime 은 지정된 조건(아래에서 설명할 findtime, maxretry)에 따라 인증에 실패한 클라이언트를 차단할 

시간을 초 단위로 지정하며 기본 설정은 600초(10분)입니다.


2.3 findtime, maxretry

findtime 과 maxretry 는 클라이언트를 차단하기 위한 조건을 지정하며 findtime 에 

지정한 시간(초 단위)내에 maxretry 에 설정한 횟수만큼 인증을 실패하면 차단하게 됩니다.

즉 위 설정은 600초(10분) 내에 5번을 인증 실패할 경우 bantime 만큼 차단합니다.

특정 IP에서 차단후에도 지속적으로 인증을 시도할 경우 bantime 을 점점 길게 해서 

시도 횟수를 줄이는 게 필요하지만 이 기능은 개발 버전(0.10.x)에만 반영되어 있고 0.9 버전에는 구현되어 있지 않습니다.

실제 운영 환경에서는 bantime 을 몇 시간 정도로 길게 주는 것이 보안상 유리합니다.



2.4 mail 알림

 

# 1 
destemail = sysadmin@example.com 
  
  
# 2 
sender = fail2ban@my-server.com 
  
# 3 
mta = sendmail 
  
# 4 
action = %(action_mw)s 


fail2ban 으로 차단한 정보를 메일로 전송할 경우 destemail 에 수신자 이메일 주소를  설정하고 sender 에는  "보낸 사람"의 정보를 설정합니다.

보낸 사람 이름은 전자 메일의 "보낸 사람"필드의 값을 설정하며 mta 매개 변수는 메일을 보내는 데 사용할 메일 서비스를 설정하며 기본은 sendmail 입니다.

중요한 부분은 action 항목으로 차단했을 때 실행할 액션을 의미하며 기본 설정은 아무 일도 안 하는 설정인 "action = %(action_)s" 입니다.

기본 설정으로는 차단 내용을 메일로 전송하지 않으므로 action_ 을 action_mw 나 action_mwl 로 지정해야 메일을 전송하며 차이는 아래와 같습니다.

action_mw : 메일을 전송하고 whois 로 IP 정보를 조회한 결과를 첨부
action_mwl : 메일을 전송하고 whois 로 IP 정보를 조회한 결과와 관련된 로그를 첨부


권장 설정은 다음과 같이 메일을 전송하고 whois 와 log 를 첨부하는 설정입니다.

action = %(action_mwl)s 

※ 위 설정으로 하는 경우 메일 송신시 해당 IP의 정보를 검색한 결과도 같이 송부됩니다.

 

   따라서 whois 명령을 통해 정보가 조회될 수 있어야 합니다.


whois 가 설치되지 않은 경우 

 

$ sudo yum install whois 를 실행합니다.


2.5 개별 jail 설정

기본적으로 fail2ban 은 차단하지 않으므로 차단할 서비스를 [sshd] 처럼 항목명에 서비스를 등록하고 enabled = true 를 추가해 주면 차단됩니다.

2.6 포트 번호 변경

ssh 를 다른 포트로 사용할 경우 port 항목에 해당 포트를 기술해 주면 됩니다. 만약 ssh 가 여러 포트를 사용한다면 

, 를 구분자로 해서 포트를 모두 기술하며 아래는 ssh 기본 포트와 10022 를 사용할 경우 설정입니다.

 

[sshd] 
enabled = true 
port = ssh,10022 
sshd jail 설정 


3. 최종 설정값

 이제 ssh 를 위한 최종 /etc/fail2ban/jail.local 파일을 완성해 보면 아래와 같습니다.

[DEFAULT] 
  
## 차단하지 않을 IP 
ignoreip = 127.0.0.1/8 192.168.10.0/24 
  
# 1시간 차단 (-1로 설정할 경우 영구 차단) 
bantime  = 3600 
  
# 아래 시간동안 maxretry 만큼 실패시 차단 
findtime  = 300 
  
# 최대 허용 횟수 
maxretry = 5 
  
# 메일 수신자, 다중 수신자는 지원 안 함 
destemail = sysadmin@example.com 
  
# 메일 보낸 사람 
sender = fail2ban@my-server.com 
  
# 메일 전송 프로그램 
mta = sendmail 
  
  
# 차단시 whois 정보와 관련 로그를 첨부하여 메일 전송 
action = %(action_mwl)s 
  
# sshd 서비스 차단 
[sshd] 
enabled = true 
port     = ssh, 10022 



4. 서비스 적용

설정을 마쳤으면 서비스를 재시작하여 변경 사항을 반영합니다. 

$ sudo systemctl restart fail2ban 


fail2ban 동작 로그는 /var/log/fail2ban.log 에 기록되므로 tail -f /var/log/fail2ban.log 명령어로 확인해 볼 수 있습니다.


5. firewall-cmd 커널 방화벽 설정 규칙 확인

이제 firewall-cmd 로 커널 방화벽 설정 규칙을 확인해 보겠습니다.

$ sudo firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable
fail2ban이 추가한 firewall 설정 규칙
결과에 보이는 "--match-set fail2ban-sshd src" 는 ipset 그룹명이 fail2ban-sshd 인 source 에서 ssh 서비스로 전송한 패킷은 REJECT 하라는 의미입니다.


6. 차단 설정된 정보 조회

설정된 ipset 의 정보는 --list 옵션으로 확인할 수 있습니다.

 

$ sudo ipset --list    

  
Name: fail2ban-sshd 
Type: hash:ip 
Revision: 1 
Header: family inet hashsize 1024 maxelem 65536 timeout 10800 
Size in memory: 16592 
References: 1 
Members: 
192.168.58.1 timeout 89 

ipset 정책 목록
이제 fail2ban-sshd 규칙의 Header 항목에 있는 "timeout 3600"  에 따라 인증에 실패한 IP 는 1시간 동안 차단됩니다.


7. 전체 차단 정보 조회

이제 fail2ban-sshd 규칙의 Header 항목에 있는 "timeout 10800"  에 따라 인증에 실패한 IP 는 3시간 동안 차단됩니다.

전체 차단 정보는 fail2ban 의 클라이언트 유틸리티인 fail2ban-client 명령어를 통해서 확인해 볼 수 있습니다.

$ sudo fail2ban-client status sshd 

Status for the jail: sshd 
|- Filter 
|  |- Currently failed: 1 
|  |- Total failed:     8 
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd 
`- Actions 
   |- Currently banned: 2 
   |- Total banned:     2 
   `- Banned IP list: 103.114.106.xxx 58.242.83.xxx 

 

8. mariadb 10 로그 파일 설정

8.1 로그 경로 생성

 

# mkdir /var/log/mariadb 

# chown mysql:mysql /var/log/mariadb 


8.2  로그 출력 경로 추가

/etc/my.cnf 파일에 다음 내역 추가

[mysqld] 항목 아래에

[mysqld]
log-error=/var/log/mariadb/mariadb.log 


8.3. mariadb 재시작

 

# systemctl restart mariadb 


9. fail2ban 에서 mariadb 설정

위의 8번 항목에 mairadb 설정 로그 출력까지 정상적으로 확인되면

다음 작업을 수행합니다.

/etc/fail2ban/jail.conf 파일

[mysqld-auth] 
# 설정 활성화 
enabled = true 

# 3306 포트 
port     = 3306 

# 로그 경로 
logpath  = /var/log/mariadb/mariadb.log 

# 최대 5회 실패시 적용 
maxretry = 5 

# 사용 필터 
filter   = mysqld-auth 
  
# 폴링 방식 적용 
backend = polling 

# ban 적용 
banaction = iptables-multiport 



9.1 재시작

위의 세팅 정보를 모두 설정하고

아래 명령을 통해 재시작 합니다.

 

# systemctl restart fail2ban 


10. apache tomcat 404 error 설정 추가 하기

10.1 tomcat 필터 파일 생성


404 에 대한 block 처리 방식입니다.

다만, 사전에 소스에 404 Not Found가 발생하는지 여부를 정확하게 확인이 필요합니다.
(아니면 모두 block 처리됨)

아래의 위치에 적용할 필터 명에 파일을 생성합니다.

- 위치 : /etc/fail2ban/filter.d
- 파일명 : tomcat.conf

[INCLUDES] 
before = common.conf 

[Definition] 
failregex =  ^.*\/.*\/.*404 
ignoreregex = 



10.2. jail.conf 정보 추가.

/etc/fail2ban/jail.conf 파일

[tomcat] 
# 설정 활성화 
enabled  = true 

# 적용 서비스 및 포트 
port     = http,https,80,443 

# block 설정 하지 않을 IP  대역대 
ignoreip = 127.0.0.1/8 192.168.10.0/24 

# ban (초) 시간 
bantime  = 3600 

# 최근 10분 동안 
findtime = 600 

# 설정 filter tomcat 
filter   = tomcat 

# 톰켓 로그 폴더 
logpath  = /var/log/tomcat8/localhost_access_log.*.txt 

# 재시도 회수 
maxretry = 5 

# 폴링 방식 적용 
backend = polling 

# ban 적용 
banaction = iptables-multiport 


10.3 재시작

위의 세팅 정보를 모두 설정하고

아래 명령을 통해 재시작 합니다.

# systemctl restart fail2ban 


11. php 파일 관련 설정 추가

11.1 필터 파일 생성

구축 사이트는 PHP 파일이 존재하지 않으므로

모든 php 파일의 404 not found의 경우에는 block 처리 함.


- 위치 : /etc/fail2ban/filter.d
- 파일명 : tomcat-php-404.conf

 

[INCLUDES] 
before = common.conf 

[Definition] 

failregex = ^ - - \[.*\] ".*\.php HTTP/1.1" 404 \d+$ 
            ^ - - \[.*\] ".*\.PHP HTTP/1.1" 404 \d+$ 

ignoreregex = 

 

11.2 필터 설정 적용

/etc/fail2ban/jail.conf 파일

[tomcat-php-404] 
# 설정 활성화 
enabled  = true 

# 적용 서비스 및 포트 
port     = http,https,80,443 

# block 설정 하지 않을 IP  대역대 
ignoreip = 127.0.0.1/8 192.168.10.0/24 

# ban (초) 시간 
bantime  = 3600 

# 최근 10분 동안 
findtime = 600 

# 설정 filter tomcat-php-404 
filter   = tomcat-php-404 

# 톰켓 로그 폴더 
logpath  = /var/log/tomcat8/localhost_access_log.*.txt 

# 재시도 회수 
maxretry = 5 

# 폴링 방식 적용 
backend = polling 

# ban 적용 
banaction = iptables-multiport 


11.3 재시작

위의 세팅 정보를 모두 설정하고

아래 명령을 통해 재시작 합니다.

 

# systemctl restart fail2ban 

============= 기타 ==========

1. jail.conf 설정 파일들에서 옵션들의 의미

ignoreip :이 매개 변수는 금지 시스템에서 무시해야하는 IP 주소를 식별합니다. 
          기본적으로 이것은 기계 자체에서 오는 트래픽을 무시하도록 설정되어 있습니다. 이는 꽤 좋은 설정입니다.
bantime :이 매개 변수는 금지의 길이를 초 단위로 설정합니다. 기본값은 600 초 또는 10 분입니다.
findtime :이 매개 변수는 fail2ban이 반복적으로 실패한 인증 시도를 찾을 때주의 할 창을 설정합니다. 
          기본값은 600 초 (다시 10 분)로 설정됩니다. 즉, 소프트웨어는 지난 10 분 동안 실패한 시도 횟수를 계산합니다.
maxretry : findtime금지가 설정되기 전에 창 에서 허용되는 실패한 시도 횟수를 설정합니다 .
backend :이 항목은 fail2ban이 로그 파일을 모니터하는 방법을 지정합니다. 
         이 설정은 autofail2ban이 시도한 pyinotify다음 gamin사용할 수있는 것을 
         기반으로 폴링 알고리즘을 시도한다는 것을 의미합니다 .
usedns : 역방향 DNS가 금지 구현을 돕는 데 사용되는지 여부를 정의합니다. 
         이것을 "no"로 설정하면 호스트 이름 대신 IP 자체가 금지됩니다. 
         "warn"설정은 역방향 DNS를 사용하여 호스트 이름을 검색하고 그런 식으로 금지하려고 시도하지만 검토를 위해 활동을 기록합니다.
destemail :이 주소는 메일 알리미로 작업을 구성한 경우 알림 메일로 전송됩니다.
           보낸 사람 이름 : 생성 된 알림 전자 메일의 보낸 사람 전자 메일 필드에 사용됩니다.
banaction : 임계 값에 도달 할 때 사용할 조치를 설정합니다. 실제로 /etc/fail2ban/action.d/호출 된 
            파일의 이름이 있습니다 iptables-multiport.conf. 
            이것은 iptablesIP 주소를 금지하기위한 실제 조작을 처리합니다 .          
mta : 알림 이메일을 보내는 데 사용할 메일 전송 에이전트입니다.
protocol : IP 금지가 구현 될 때 삭제 될 트래픽 유형입니다. 
           이것은 새로운 iptables 체인으로 전송되는 트래픽 유형이기도합니다.
chain : 이것은 fail2ban 깔때기로 트래픽을 보내기위한 점프 규칙으로 구성되는 체인입니다.


2. fail2ban 자주 사용하는 명령목록

fail2ban-client status : ban 목록확인
cat /var/log/fail2ban.log : fail2ban 로그확인
cat /var/log/fail2ban.log | grep Ban : Ban 내역만 뽑아서 보기
* ban된 ip 해제하기
fail2ban-client set sshd unbanip 192.111.1.101 (해제IP)

위에 명령어의 sshd 체인네임이며 ftp 등 ban 내역의 해제정보를 적으면된다.

3. filter 적용 테스트

모든 필터는 작성한 후 정상 동작하는지 필터 체크를 해야 합니다.

아래는 예제...

# fail2ban-regex   

예)

# fail2ban-regex /var/log/tomcat8/localhost_access_log.*.txt  /etc/fail2ban/filter.d/tomcat-php-404.conf

 
예2 ) 변수로 정의하는 방식

$ line='0.0.0.0 - - [06/Apr/2017:07:45:42 +0000] "POST /xmlrpc.php'

$ ./fail2ban-regex "$line"  ' - - \[.*\].*POST /xmlrpc' |grep ^Lines
Lines: 1 lines, 0 ignored, 1 matched, 0 missed


4. 설정된 fail2ban 상태 확인

# fail2ban-client status sshd

정상 상태이면 Journal matches 정보나 file 정보가 보이나

비정상 상태이면 안보임... ㅜㅜ


Status for the jail: mysqld-auth
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- Journal matches:
`- Actions
   |- Currently banned: 0
   |- Total banned:     0
   `- Banned IP list:
[root@localhost fail2ban]# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     13
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 27
   |- Total banned:     27
   `- Banned IP list:   198.211

 

# fail2ban-client status mysqld-auth
Status for the jail: mysqld-auth
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     1
|  `- File list:        /var/log/mariadb/mariadb.log
`- Actions
   |- Currently banned: 0
   |- Total banned:     0
   `- Banned IP list:

 

 


 

윈도우즈 용도 존재함 (시간나면 정리를 할 예정)

Wail2Ban

관련 : http://cloudjoon.blogspot.com/2017/08/rdp-security-wail2ban.html

 

Beyond Cloud "IBM Cloud"

RDP( 원격데스크탑 ) 무차별 대입공격 관련 보안스크립트 적용 가이드 1. Wail2ban 소개 - Wail2ban 은 Windows 운영체제 대상으로 RDP( 원격데스크탑 ) 에 대하여 Brute-forc...

cloudjoon.blogspot.com

https://developer.ibm.com/kr/cloud/softlayer-bluemix-infra/security/2017/08/31/rdp-security-script/

 

RDP(원격데스크탑) 무차별 대입공격 관련 보안스크립트 적용 가이드 - IBM Developer

1. Wail2ban 소개 – Wail2ban 은 Windows 운영체제 대상으로 RDP(원격데스크탑)에 대하여 Brute-force Attack(패스워드 무차별 대입공격) 에 대한 방어를 위한 자동 보안설정 스크립트입니다. – 해당 스크립트는 파워쉘(PowerShell)로 작성되었으며, 원작자는 “Katie McLaughlin” 로써 해당 코드에 대한 재배포시에는 반드시 하기URL 의 “Copy Right Notice” 를 명시해야 됩니다.    htt

developer.ibm.com

 

https://github.com/glasnt/wail2ban

 

glasnt/wail2ban

fail2ban, for windows. . Contribute to glasnt/wail2ban development by creating an account on GitHub.

github.com

 

 

반응형
반응형


두개의 툴이 있다..


하나는 패스워드...


다른 하나는 다운로드




20120511_HTTP Analyzer v3.0.5 (Full Edition).zip



핀들러는


https 프로토콜도 검색 가능하다.



https 프로토콜 검색 방법 : http://blog.danggun.net/734


프록시 설정(웹 해킹시 사용할 때) : http://cafe.naver.com/webprogrammer2/108



다운로드 : http://www.fiddler2.com/Fiddler2/version.asp



Fiddler2Setup.exe


반응형
반응형

정부통합전산센터 홈피에서 퍼왔음.

 
반응형
반응형

cooxietoolbar : cooxie 송수신 정보를 수정 프로그램
burp suite : 웹페이지 송수신 데이터 조작 프로그램
sql-gate : DB 관련 프로그램
반응형
반응형

출처 : http://isecure.tistory.com/20
Burp Suite

1. 개요

1) Burp suite 는 web application 을 공격하기 위한 통합 플랫폼/local proxy program

2) Web application 의 분석 , 스캔 (취약점 파악)이 가능

3) Linux , Windows 모두 사용 가능

4) 최근에는 취약점 진단 툴로 많이 사용(웹 취약점 진단 도구)

2. 설치 및 실행

1) Burp suite 를 실행시키기 위해서는 JVM(Java Virtual Machine) 이 필요하므로 자신의

시스템에 설치되어 있는지 확인 (없으면 다운로드)

- cmd 창에서 java 나 java -version 을 입력하고 엔터

* java 라고 입력했을 경우 java 명령어 사용법이나 옵션들이 출력 또는

java -version 을 입력하면 설치한 jre 나 jdk 의 버전이 출력

- JVM 이 없을 경우 다운로드

* Burp suite 를 실행만 시킬 목적이라면 JRE 다운로드

* 확장 plug 를 사용하기 위해 컴파일도 할 목적이라면 JDK 를 다운로드

(Burp Suite 는 Java program 임)

2) Burp suite 다운로드

http://portswigger.net/suite/download.html 또는

http://www.darknet.org.uk/2007/01/burp-proxy-burp-suite-attacking-web-applications/

3) 설치

- 압축 파일일 경우 압축을 풀면 suite 배치 파일이 있다.(suite.bat)

- suite.bat 을 더블 클릭하거나 cmd 창에서 java -jar -Xmx512m burpsuite_v1.2.01.jar 입력

3.기능

1) proxy : end browser(burp suite 를 사용하는 client 측) 와 target web application

(공격/테스트할 웹 사이트) 사이에서 HTTP/HTTPS 를 가로채는(중계하는) proxy server

2) spider : Web application 의 내용(컨텐츠나 기능 등) 을 목록화(열거)해서 보여줌

3) scanner : Professional 버전에서만 지원되는 기능으로 web application 의 보안 취약점을

찾아주는 기능

4) intruder : Web application 에 대해 식별자(identifier) 목록화 , 유용한 데이터 수집 , 일반적인

취약점 수집과 같은 커스터마이즈된 공격을 하도록 설정할 수 있는 기능

5) repeater : 수동으로 조작하고 , HTTP request 재발행 , application 의 response 분석하는 기능

6) sequencer : application 의 session token 이나 다른 중요 data 에 대해 임의로 quality

분석하는 기능

7) decoder : Web application 의 data 를 encoding , decoding 하는 기능

8) comparer : 어떤 두 개의 데이터( 보통은 request 와 response 쌍을 의미) 의 "diff" 를 수행하기

위한 기능

(Burp suite 의 proxy 설정은 아래 Burp proxy 참고)

자세한 사항은 영문이지만 http://portswigger.net/suite/help.html 를 참고

Burp Proxy

1.개요

1) Burp Proxy는 web application 을 공격 또는 테스트하기 위한 대화형 HTTP/S 프록시 서버

2) Burp Proxy는 end browser 와 target web server 사이의 중간자로써 작동하며 양방향(end

browser 에서 server 로 , server 에서 end browser 로) 지나가는 raw traffic 을 가로채거나

검사, 수정 가능

3) Burp Proxy으로 web server 에서 전송된 data , 중요 파라미터를 모니터링하고 조작하여

application 취약점을 발견 가능

4) 다양한 악의적인 방법으로 browser 의 요청(request) 를 수정함으로써 공격 가능

(예 : SQL 삽입 공격 , cookie 변조 , 권한 획득 , session hijacking , 디렉토리 접근 ,

buffer overflow 등)

2.특징

1) 완전한 HTTP/HTTPS proxy server

2) 파라미터,헤더,다양한 미디어 컨텐츠 ,hex 편집 등 모든 요청(request)과 응답(response)에 대한

상세 분석 및 반환

3) 모든 요청 , 수정 , 응답에 대한 완전한 history 제공

(모든 요청을 조작할 수 있도록 browser 에서 보낸 모든 요청, 응답에 대한 완전한 history 유지)

4) Burp suite 내 다른 tools 와 완전한 통합 (intruder , spider , scanner 등)

5) downstream proxy server ,web server 인증 , NTLM(Windows NT LAN Manager) 인증 ,

Digest 인증 지원

6) HTTP 요청과 응답의 정규화 기반의 조작을 자동화

7) SSL 지원

8) HTTPS traffic 을 clean-text 로 보거나 수정 가능

9) Linux / Windows 에서 실행 가능

10) Burp Proxy 는 Burp Suite 의 일부분

3.Burp Proxy 사용

1) Burp Proxy 는 기본적으로 loopback 인터페이스 , 8080 포트 사용

2) Burp Proxy 의 작동을 위해 browser 에서 proxy server 를 127.0.0.1 , 포트를 8080 으로 설정

- Browser 메뉴 중 "도구" 선택

- "인터넷 옵션" 선택

- "연결" 탭 선택 후 "LAN 설정" 버튼 클릭 (아래 스샷 참고)

- 아래와 같이 프록시 서버 설정하고 "확인"

3) Burp suite 실행

4.기능

1) Intercept 탭

- intercept 탭은 browser 의 요청과 server 의 응답을 보여주고 수정하기 위해 사용

* "proxy" 탭 클릭

* "intercept is off" 일 경우 클릭해서 "intercept is on" 으로 설정

* web browser 실행(URL 을 입력해서 페이지 요청하기)

* Burp Proxy 가 browser 와 web server (또는 application) 사이에서 request 와 response를

intercept 하고 있으므로 다음 단계(다음 페이지)로 진행하기 위해서 forward 버튼을 클릭

(intercept 한 메시지를 버리려면 drop 버튼 클릭)

* raw : plain text 형식으로 표시.text pane 하단부에 정규식 기반(regex : regular expression)

탐색과 중요 메시지를 포함하고 있는 string 이 표시

(아래는 모 사이트에 로그인할 때 intercept 하고 있는 정보)

* params : parameter(name 과 value 쌍으로 구성된 URL Query string , Cookie header ,

message body 등) 를 포함하고 있는 request 출력

* headers : HTTP header 정보를 name 과 value 쌍으로 출력

(아래 텍스트박스에 intercept 한 정보 중에 검색하고자 하는 것을 입력하면 자동 매칭)

* hex : raw binary data 를 보여주고, 편집 가능(편집할 경우에는 hex 에디터를 사용)

2) action

- 다양한 action 을 수행하기 위해 사용하는 기능

- text pane 에서 마우스 우클릭 또는 action 버튼을 클릭

text pane 에서 마우스 우클릭했을 경우

action 버튼 클릭했을 경우

3) send to XXX : 메시지 또는 메시지 일부를 공격/분석하기 위해 Burp Suite 의 다른 tool 로 송신 가능

4) change request method : HTTP 메소드 변경 가능

(자동으로 GET -> POST , POST -> GET 으로 변환)

change request method 실행 전

change request method 실행 후



반응형
반응형
반응형

'Language' 카테고리의 다른 글

npm node module 공통 관리하기  (0) 2020.10.28
Inter-process communication  (0) 2014.03.27
특정 문자열 분석 쉘  (0) 2012.02.21
빠른 수식 계산법  (0) 2010.03.01
반응형

아래의 방법들을 사용하면 된다.

1. 한글 2007을 설치하기전에 IE8로 Update 했으면?
   -> IE8 제거 후 -> IE8 재 설치 !
2. 웹사이트 복원오류 -> 아래의 온라인 공격방지를 위해 메모리 보호 사용 체크 해제 !

* 위와 같이 증상이 나타 날때는 도구 -> 인터넷 옵션 -> 고급 탭에 있는 온라인 공격방지를 위해 메모리 보호 사용 체크를 해제 한다
익스플로어를 실행하고, 모 사이트에 들어가려고 했더니

아래와 같은 어처구니 없는 메세지를 띄우는게다.

그리고는 오류페이지로 반복해서 돌아가기만 한다.

-------------------------------------------------------------------------------------

naver.com[으]로 되돌아 갈 수 없었습니다. 
Internet Explorer가 이 웹 사이트 복원 시도를 중단했습니다. 웹 사이트에서 계속 문제가 발생하는 것으로 보입니다.
   사용자가 할 수 있는 조치: 홈 페이지로 이동
plaync.co.kr[으]로 되돌아 가려 시도 중
   추가 정보

웹 사이트에 오류가 발생하거나 작동이 중단되면 Internet Explorer는 사이트를 복구하려 시도합니다.

무한 반복을 방지하기 위해 두 번 시도한 후 중지합니다.
-------------------------------------------------------------------------------------

 

아놔.. 짜증이...

계란탕 끓일 때 냄비 뚜껑 완전히 닫아두고 끓이다가  부글부글 넘쳐 흘러서 전자렌지에 쏟아지고는 

그대로 식어서 눌어붙은걸 볼 때와 비슷하게...

짜증이 파도처럼 밀려오는구나.

 

이곳저곳 해봤는데, 이건 단순히 사이트문제나 호환성보기 문제가 아니란 생각이 들어서 검색.

원인은 망할 "한글 2007" 을 깔았기 때문이란다. 제기랄.

 

익스8 횽님과 사이가 안좋았는지, 한글 2007을 깔면 익스8에서 저런 젠장맞을 현상이 나오는데,

이걸 해결하려면 아래의 3가지 방법이 있다고 한다.

 

1. 익스 7.0 이하로 다운그레이드

2. 한글 2007의 버젼업데이트(정품일 시)

3. 마이크로소프트에서 패치 다운

(http://www.microsoft.com/downloads/details.aspx?FamilyID=992602d8-d857-41cf-b7b1-527afdc1dc0f&DisplayLang=ko )

 

각종 호환성 패치, 메모리 보안 방지 체크 해제 등 을 해봤으나 안됨.

결국 마소의 패치 한방, 재부팅하니 깔끔하게 사라졌다.

 

ㅡ_ㅡ 아 열받어. 내 시간 ....

 

 윈도우 7 사용자를 위한 팁 추가

 

위의 패치는 윈도우7 용이 없다. 문의 주신 분이 계셔서 한번더 확인해봤으나 역시 없음.  -_-;;;

(현재 본인은 윈도우7 사용중)

 

찾아본 결과, 아래의 방법이 유효하다고 한다.

내용 출처: http://ok-dj.com/132

익스플로러8과 한글2007의 충돌로 인한 문제 발생 해결 방법 - Windows 7 적용 가능


  Windows7의 경우 IE7또는 IE6로의 다운그레이가 불가능하기에 다른 방법이 필요하다. 
  익스플로러8의 도구▶호환성 보기 설정(B) 
  호환성 보기에서 모든 웹 사이트 표시(E)에 체크 표시를 한 후에 닫으면 해결된다.
  Windows7 사용자의 경우는 위 방법을 사용해서 해결해야한다.

익스플로러8과 한글2007의 충돌로 인한 문제 발생 해결 방법 - Windows 7 적용 가능


  위 방법으로도 해결이 되지 않을 경우 한가지 더 셋팅해주는 과정이 필요하다. 
  익스플로러8의 도구▶인터넷 옵션▶고급 탭에 있는 온라인 공격방지를 위해 메모리 보호 사용* 부분에 체크를 해제 한다.


위와 같은 방법으로 고치는 것이 가능하다고 하다.

윈도우 7 사용자 분들에게도 정상적으로 인터넷이 되는 밝은 세상이 오길!

 
출처 : http://blog.naver.com/sshknife?Redirect=Log&logNo=80113033969

반응형

+ Recent posts