[태그:] 보안

  • 스마트 팩토리 보안 위협

    스마트 팩토리의 IT 영역과 OT 영역을 비교하고, 두 영역에 대한 보안 위협과 대응방안에 대하여 설명하시오

    ICT융합보안 시대의 스마트 팩토리 보안 – 강선준, 오정미, 오승연

    5G 기반의 스마트공장 보안 동향 분석

    SK인포섹 세미나 자료

    https://www.cisco.com/c/en/us/td/docs/solutions/Verticals/IoT_Security_Lab/IEC62443_WP.html#TheISAIEC62443referencemodel

  • phpmyadmin에 https 적용하기

    나중에 기록을 위해서 남김..
    여기에서 참조..
    *http://howtolamp.com/lamp/phpmyadmin/4.2/securing#ssl
    *http://howtolamp.com/lamp/httpd/2.4/configuration-files#httpd-ssl-conf
    *https://www.digitalocean.com/community/tutorials/how-to-set-up-ssl-certificates-with-phpmyadmin-on-an-ubuntu-12-04-vps

    1. SSL 설정파일 수정
    아파치2 설치시 기본적으로 ssl이 로딩되어 있는 것 같다.
    데비안8의 경우, /etc/apache2/sites-available의 default-ssl.conf 파일에서 SSL을 설정할 수 있다.그런가??

    이 파일의 마지막 부분에 아래와 같이 붙여 넣는다.

    <VirtualHost 192.168.0.100:443>
    
    DocumentRoot "/usr/local/apache2/phpmyadmin"
    ServerName phpmyadmin.example.com
    ServerAdmin [email protected]
    ErrorLog "/usr/local/apache2/logs/ssl-phpmyadmin.example.com-error_log"
    TransferLog "/usr/local/apache2/logs/ssl-phpmyadmin.example.com-access_log"
    
    <Directory "/usr/local/apache2/phpmyadmin">
    AllowOverride AuthConfig Limit
    Require all granted
    </Directory>
    
    <Directory "/usr/local/apache2/phpmyadmin/libraries">
    Require all denied
    </Directory>
    
    <Directory "/usr/local/apache2/phpmyadmin/setup/lib">
    Require all denied
    </Directory>
    
    <Directory "/usr/local/apache2/phpmyadmin/setup/frames">
    Require all denied
    </Directory>
    
    SSLEngine on
    
    SSLCertificateFile "/usr/local/apache2/conf/server.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
    
    <FilesMatch ".(shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    
    BrowserMatch "MSIE [2-5]" 
    nokeepalive ssl-unclean-shutdown 
    downgrade-1.0 force-response-1.0
    
    CustomLog "/usr/local/apache2/logs/ssl-phpmyadmin.example.com-request_log" 
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
    
    </VirtualHost>

    아파치가 /usr/local/..여기에 설치되어 있다고 가정하고 위 코드를 사용햇는데, 내 사양에 맞게 바꿔준다.
    debian8의 경우, /usr/share/phpmyadmin의 경로에 phpmyadmin이 설치되어 있다.

    2. 인증서 및 키 설정..
    인증서와 키를 만들어야 된다..apache2 설치 폴더에 디렉토리를 하나 만들고, 아래와 같이 만든다.

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

    365일 유지되는 키라는데..
    터미널에 몇가지 질문이 보이는데, 적절한 답을 채운다.

    3. ssl 로딩..

    service apache2 reload

    로 설정한 SSL을 로딩한다.
    여기에서 에러가 뜨면, 관련 메세지를 확인해 본다..
    난 apache2를 재시작 하니까 로딩이 제대로 됐다.

    4. 사이트 접속..
    기존 사이트에 https://…
    이런 형식으로 붙여 접속을 한다.
    매번 접속시마다 강제로 ssl을 사용하는 옵션이 있는데, 필요 없어 보인다.

  • ssh가 공격받고 있다!

    공격받고 있다!!

    주말에 google에서 이 피시가 검색이 되도록 SEO를 설정을 좀 했다. 오늘 뭐 좀 하다 로그인 기록을 봤는데, 중국 IP가 서버에 root로 로그인 하려고 무작위 공격을 하고 있었다.
    root@now0930-gen8:/home/now0930# cat /var/log/auth.log | grep -i fail | wc -l
    52526
    18일부터 20일까지..삼일 사이에 52,000회!!!!

    인터넷을 검색하니, 역시 나같은 사람이 있었다. iptables을 활용하여 중국에서 오는 IP를 차단해 버리는 스크립을 구해 바로 적용했다.

    다음으로 root 패스워드도 좀 바꾸고..ssh에서 root로 로그인을 못하게 막았다..
    이러면 좀 나아진듯 한데, 언제 털릴지 모르겠다..제발 안털리길.

    찾아보니 몇 개를 더 보완해야 한다는데, 시간이 너무 많이 걸려 차차 해야겠다.

  • 워드프레스 플러그인 업데이트 및 권한설정

    플러그인 업데이트를 위해서는 워드 프레스의 권한을 바꿔줘야 한다.

    셋업시 사용자/그룹을 웹서비스 유저로 설정하고…

    chown www-data:www-data  -R * # Let Apache be owner
    find . -type d -exec chmod 755 {} \;  # Change directory permissions rwxr-xr-x
    find . -type f -exec chmod 644 {} \;  # Change file permissions rw-r--r--

    설정이 완료되면, 보안을 이유로..아래와 같이 설정한다..

    chown <username>:<username>  -R * # Let your useraccount be owner
    chown www-data:www-data -R wp-content/ # Let apache be owner of wp-content
    #wordpress root에서
    chgrp www-data *

    wp-content는 www-data가 소유자로 그대로 둬야 한다. wp-content의 하부 디렉토리 권한을 안바꾸면 파일 업로드, 수정이 안된다.

    http://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress

  • wordpress에 구글 2단계 작업 적용하기

    여기사이트에서 얻어옴..
    백업을 위해서 그대로 긁음..

    1. Henrik Schack이 제작한 플러그인 설치(integrates with Google 2fa; it’s also called Google Authenticator)

    2. 구글 앱에서 등록해줌..