반응형
  • 점검 내용
    • DBA 계정의 Role을 Public으로 설정하는지 점검

 

  • 점검 목적
    • DBA 계정의 Role을 점검하여 일반 계정으로 응용프로그램 테이블이나 DBA 테이블의 접근을 차단하기 위함

 

  • 보안 위협
    • 응용프로그램 또는 DBA 계정의 Role이 Public으로 설정되어 있으면, 일반 계정에서도 응용프로그램 테이블 및 DBA 테이블로 접근할 수 있어 주요 정보 유출 위험이 존재함

 

  • 판단 기준
    • 양호: DBA 계정의 Role이 Public으로 설정되지 않은 경우
    • 취약: DBA 계정의 Role Public으로 설정되어 있는 경우
  • 점검방법

 

 

  • 점검 및 조치 방법 
    • DBA 계정의 Role 설정에서 Public 그룹 권한 취소
      • MSSQL
        • 1) 각 Object의 사용 권한이 불필요하게 Public, guest 권한이 부여된 경우 제거
        • revoke [권한] on [Object] from public | guest;
      • MySQL 해당사항 없음

 

  • 조치 시 영향
    • 일반적인 경우 영향 없음
반응형
반응형

yona를 playframework 단독으로 사용하고 있었는데 nginx와의 연동 및 https 적용을 위해서 찾아보던 중

nginx의 reverse proxy를 이용하여 서비스 제공을 할 수 있다고 하여 찾아보기 시작

 

reverse proxy에 대해 잘 설명해 놓은 블로그

https://akal.co.kr/?p=1781

https://whatisthenext.tistory.com/123

 

여기서 중요한 점은 proxy_pass http://서버ip:9000/; 으로 nginx 서버에 / 요청이 오면 proxy_pass에 설정된 정보로 

 호출하여 전달한다는 것이다.

 

 

 

- 최종적으로 설정한 정보

        server {
                listen 80;
                server_name 서버ip;

                return 301 $scheme://서버domain$request_uri;

        }



        server {
                listen 443;
                server_name 서버domain;

                ssl     on;
                ssl_certificate         /root/security/ssl/cert.pem;
                ssl_certificate_key     /root/security/ssl/key.pem;
                ssl_session_timeout     20m;
                ssl_protocols  TLSv2 TLSv3;
                ssl_ciphers  HIGH:!aNULL:!MD5;
                ssl_prefer_server_ciphers   on;

                location / {
                        #proxy_redirect off;
                        proxy_buffering off;
                        #proxy_pass_header Server;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;

                        proxy_pass http://서버ip:9000/;
                        #proxy_redirect http://서버ip:9000 https://서버도메인;
                        proxy_http_version 1.1;
                 }


        }

 

 

- nginx에서 jenkins와 reverse proxy로 연결하는 방법

https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-with-ssl-as-a-reverse-proxy-for-jenkins

- nginx에서 ssl 적용하는 방법

https://www.lesstif.com/pages/viewpage.action?pageId=27984443

- nginx에서 http요청인 경우 https로 redirect 시키는 방법

https://serverfault.com/questions/629045/nginx-redirect-ip-address-to-domain-name/629153

- yona에서 proxy 적용관련 참고

https://repo.yona.io/yona-projects/yona-help/post/5

반응형
반응형

nodejs 4.2.6 / npm 3.5.2 를 사용하다가 jupyterhub를 설치하고 나서 

실행하려고 할때 에러가 발생하면서 


[I 2018-11-27 15:15:26.804 JupyterHub proxy:567] Starting proxy @ http://:8000
/usr/local/lib/node_modules/configurable-http-proxy/node_modules/winston/lib/winston.js:11
const { warn } = require('./winston/common');


실제로 서버 실행이 되지 않았다.


추후에 알고 보니 nodejs인지 npm인지 정확하게는 모르겠지만, 

버전이 낮아서 발생하는 문제로 판단되어


nodejs를 지우고 최신으로 설치 작업을 진행


sudo apt-get purge --auto-remove nodejs



sudo apt-get install curl


curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -


sudo apt-get install nodejs

nodejs -v


sudo apt-get install npm

npm -v



맨처음 npm 명령을 쳤을 때 /usr/local/bin/npm 에서 계속 찾기 때문에 정상적으로 실행이 되지 않아서, 설치가 제대로 되지 않았다고 판단했다.


하지만 곰곰이 생각해보니 /usr/bin/npm에서는 명령이 정상적으로 동작하는 게 아니겠는갓!


그래서 ln -sf /usr/bin/npm /usr/local/bin/npm으로 바라보는 링크를 연결해주었더니

정상적으로 실행이 되었다.



기타)


jupyterhub에서 사용하는 configurable-http-proxy

https://www.npmjs.com/package/configurable-http-proxy#install


https://jupyterhub.readthedocs.io/en/0.7.2/getting-started.html


반응형
반응형

출처: http://palpit.tistory.com/984?category=911384

 

준비물

- odin3_v3.10.6

- twrp-3.2.1-1-herolte.img.tar

  - https://dl.twrp.me/herolte/ 사이트에서 다운로드 받을 수 있음

반응형
반응형

출처: http://blog.cobisoft.com/30

 

준비물

- odin3-v3.10.6.exe

 

(통신사별)

- CF-Auto-Root-nobleltektt-nobleltektt-smn920k.tar.md5

- CF-Auto-Root-nobleltelgt-nobleltelgt-smn920l.tar.md5

- CF-Auto-Root-noblelteskt-noblelteskt-smn920s.tar.md5

 

s7에서 사용하던 twrp-3.2.3-0-herolte.img.tar 로 start를 진행시 fail이 났는데

위에 파일로 했을 때는 정상적으로 루팅이 되는 것을 확인할 수 있었음

반응형
반응형

출처: http://stackoverflow.com/questions/22019763/pandas-writing-dataframe-columns-to-csv

 

header = ["Time", "User", "IP Address"]
df.to_csv('output.csv', columns = header) 

 

- header라는 변수에 export하고 싶은 컬럼을 적어주면 원하는 컬럼만 csv로 export 할 수 있음

반응형
반응형

출처: http://stackoverflow.com/questions/10715965/add-one-row-in-a-pandas-dataframe

 

Pandas에서 새로운 데이터 프레임 생성하고 값을 추가할 때

df = DataFrame(columns=('number', 'name'))
df.loc[0] = [1, '박명수']
df.loc[1] = [2, '유재석']
...

 

데이터 프레임에 컬럼을 추가해주고, 해당 데이터를 loc 함수를 이용해서 넣어주면 됨

반응형
반응형

출처: http://stackoverflow.com/questions/1985856/how-to-make-a-3d-scatter-plot-in-python

 

import matplotlib.pyplot as plt
import pylab
from mpl_toolkits.mplot3d import Axes3D


fig = pylab.figure()
ax = Axes3D(fig)


qid = grouped.query('(user_number == 123)')
x = qid['loc_x'].tolist()
y = qid['loc_y'].tolist()
xy = np.vstack([x,y])
z = gaussian_kde(xy)(xy)


ax.scatter(x, y, z)
plt.show() 

 

-  gaussian_kde를 이용해서 z 축은 확률밀도 값으로 출력 

반응형
반응형

출처: http://pandas.pydata.org/pandas-docs/stable/groupby.html

 

grouped.size()

- 그룹된 결과에 size()함수를 사용하면 그룹에 속한 갯수를 확인할 수 있음

 

grouped.reset_index()

- group된 dataframe 타입에서 dataframe 타입으로 변경할 수 있음

 

grouped['user_name'].apply(lambda x: ', '.join(str(y) for y in x))

- user_name이라는 컬럼의 값이 리스트인 경우 스트링의 연결로 변경해줌

- apply와 lambda함수 사용

 

for c in grouped.groups :

  print c

- 그룹 명을 출력할 때 사용

반응형
반응형

출처: http://stackoverflow.com/questions/20105364/how-can-i-make-a-scatter-plot-colored-by-density-in-matplotlib

 

python matplotlib를 이용해서 scatter plot을 그리는 데 밀도도 반영하고 싶다면 아래와 같이 하면 됨

 

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde


# 출력할 x,y 좌표 랜덤하게 생성
x = np.random.normal(size=1000)
y = x * 3 + np.random.normal(size=1000)


# 좌표에 대한 밀도를 계산하는 부분
xy = np.vstack([x,y])
z = gaussian_kde(xy)(xy)


fig, ax = plt.subplots()


#색깔은 z에 따라서, 점의 크기는 100으로
ax.scatter(x, y, c=z, s=100, edgecolor='')
plt.show()

 

 

참고: http://stackoverflow.com/questions/24976239/axis-limits-for-scatter-plot-matplotlib

 

plt.xlim(-1,1)
plt.ylim(-1,1) 

 

- 이용해서 축의 범위를 정할 수 있음 (추후 확인해보기!)

 

참고: http://stackoverflow.com/questions/9622163/save-plot-to-image-file-instead-of-displaying-it-using-matplotlib-so-it-can-be

 

fig.savefig('/path/image.png')

 

- plot 결과를 이미지 파일로 저장할 수 있음

 

출처 : http://blog.bharatbhole.com/creating-boxplots-with-matplotlib/

 

- python에서 boxplot 그리기

반응형

+ Recent posts