시스템관리자의 쉼터, 커피닉스 http://coffeenix.net 시스템관리자의 쉼터 - *NIX, 보안, 네트웍 운영, IT 정보 ko 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그) http://coffeenix.net/bbs/viewtopic.php?p=10652#10652


예를 들어 다시 정리해보자. 다음 환경에서 어플 -> https 요청하면 Transparency 에러가 발생한다.

- 클라이언트 : Android WebView 54.0.2840.68 또는 54.0.2840.85 버전
- 서버 : https 서버에 Symantec 인증서 설치

갤럭시 S6(SM-G920), S7(SM-G930), J5(SM-J500), J7(SM-J700), LG G3(LG-F400), ... 등 여러 폰에서 유저의 업데이트에 따라 WebView 54.0.2840.85버전을 사용한다. 제조사는 WebView 55 업데이트를 제공한다. 모든 유저가 업데이트하지는 않을 것이다. 따라서 특정 WebView 버전일 때는 어플에서 Transparency 에러가 나더라도 https 요청하도록 예외 처리한다.

참고로 User agent에는 Chrome/54.0.2840.85 형식으로 표시된다.

이 버그에 대한 자세한 정보는 symantec 사이트에 나와 있다.

Warning | Certificate Transparency error with Chrome 53
https://knowledge.symantec.com/support/mpki-for-ssl-support/index?page=content&id=ALERT2161&actp=LIST&viewlocale=en_US


--------------- quote --

There is a bug in Chrome version 53 that affects some Symantec, GeoTrust, and Thawte SSL/TLS certificates resulting in an error displaying when visiting affected websites. There are no issues with the certificates used on the affected sites, and replacing these certificates will not help. This is entirely a bug with Certificate Transparency handling that is only present in some versions of Chrome (53 and 54).

--------------- /quote --



--------------- quote --

App users will need to update/download WebView/Chrome 55 from the App Store/PlayStore for the fix.

Downloading WebView/Chrome 54 today will provide a temporary solution.

Build ID 54.0.2840.68 Expires 12/27/2016
Build ID 54.0.2840.85 Expires 1/7/2017

--------------- /quote --
]]>
*NIX / IT 정보 Wed, 11 Jan 2017 14:57:22 +0900
브라우저별 SHA1 퇴출 시점 http://coffeenix.net/bbs/viewtopic.php?p=10621#10621 http://media.daum.net/digital/others/newsview?newsid=20151221111207351

- MS : MSIE, 6개월 앞당겨 2016.6~
- 모질라 : Firefox, 앞당겨 2016.7.1~
- 구글 : 크롬, 2017.1.1~

구글은 SHA1 퇴출을 위해 2단계 조치를 취할 예정.
1단계 : 크롬48이 정식 배포되는 2016년 1월 말부터 해당 브라우저에서는 새로 발급되는 SHA1 인증서를 차단.
2단계 : 2017년 1월1일부터는 새로 발급된 SHA1 인증서 외에 기존에 발급된 인증서들에 대해서도 완전히 지원 중단.

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

인증서 발급업체마다 다를지 모르지만, 새로 SSL인증서 발급받으면 SHA2 인증서로 발급될 거에요. 본인의 인증서가 SHA1인지 SHA2인지 확인하려면 openssl 명령으로 확인할 수 있습니다. 결과값에 'Signature Algorithm: sha1WithRSAEncryption'이 포함되면 SHA1입니다. sha256WithRSAEncryption 는 SHA2입니다.


--------------- quote --

$ echo ""|openssl s_client -connect <서버>:443 |openssl x509 -noout -text

--------------- /quote --


※ 참고 : openssl로 인증서 정보 살펴보기 (글 좋은진호, 2008.12)]]>
*NIX / IT 정보 Mon, 21 Dec 2015 18:05:42 +0900
또 다른 무료 SSL 인증서, Let's Encrypt http://coffeenix.net/bbs/viewtopic.php?p=10326#10326 EFF, 모질라, 시스코, 아카마이, IdenTrust, 미시간대 등이 참여합니다.



몇 년 전부터 무료로 발급해주고 있는 StartSSL은 pay, shop, bank, credit, finance 등이 도메인에 포함되면 발급을 안해줬는데, 이 SSL 인증서는 제약이
있는지 모르겠군요.
StartSSL과 Let's Encrypt 2개의 무료 급식소에서 골라먹는 재미를 느낄 날이 몇달 남지 않았습니다. 9월이면 정식으로 사용할 수 있을 것 같네요.

First certificate: Week of July 27, 2015
General availability: Week of September 14, 2015

http://thehackernews.com/2015/06/free-ssl-certificate.html
https://letsencrypt.org/

그리고, 브라우저 지원 관련해서 Let's Encrypt 사이트의 FAQ에 다음과 같은 내용이 있습니다.


--------------- quote --

Will certificates from Let’s Encrypt be trusted by my browser?
The short answer is “yes”.

The long answer is that our issuing intermediates will be cross-signed by a widely trusted IdenTrust root (DST Root CA X3). This will allow our certificates to be trusted while we work on propagating our own root.

--------------- /quote --


Let's Encrypt의 intermediate 인증서가 IdenTrust root 인증서(DST Root CA X3)에 의해 cross-signed되었다고 적힌걸 보면, 모든 브라우저에서 바로 된다는 의미같습니다. 왜냐면 DST Root CA X3는 브라우저에 기본적으로 들어가 있으니깐요. (참고로 현재 Let's사이트 인증서도 최상위 root는 DST Root CA X3)
100% 확실하지는 않습니다. Let's Encrypt의 글을 정확히 이해하지 못한 상태에서 판단한거라서.]]>
*NIX / IT 정보 Mon, 29 Jun 2015 13:07:18 +0900
FreeBSD에서 Leap Second(윤초)는? 문제 없다. http://coffeenix.net/bbs/viewtopic.php?p=10325#10325 2015년 윤초(Leap second) 삽입 관련 서버 점검사항'(2015.6.22.) 에서도 리눅스(Linux)만 언급했죠. 얘기가 없는 건 문제가 없기 때문입니다.



2012년 윤초 삽입 때, 저는 FreeBSD서버에서 아무 것도 한 것이 없습니다.
윤초로 발생하는 문제가 없기 때문에 서버는 단지 1초의 시간차만 맞춰주면 됩니다.
이미 서버들은 시간동기화가 셋팅되어 있기 때문에 1초는 자동으로 맞춰집니다. 따로 할 것이 없는 거죠.


--------------- code --

(1) 상위 NTP 서버들(당신의 서버 아님) <-> (2) 내부 NTP서버 (당신이 관리하는 서버) <-> (3) ntpdate를 실행하는 다수의 서버들

--------------- /code --

위에서 나와 관련된 서버는 2번과 3번입니다.

(2) ntpd 데몬을 돌리는 서버는 자동으로 상위 NTP 서버로 부터 윤초 삽입이 되어 시간동기화됩니다.
(3) 나머지 서버들은 내부 NTP서버를 통해 자동 동기화됩니다. (ntpdate 명령)

FreeBSD에서 윤초는 신경쓰지 마시고, 편히 운영하세요.
FreeBSD 문서에 윤초를 다룬 'FreeBSD Support for Leap Seconds' 글이 하나 있는데 참고로 읽어보세요.


--------------- quote --

We believe and expect that FreeBSD, if provided correct and stable NTP service, will work as designed during this leap second, as it did during the previous ones.
... 생략 ...
In practice, leap seconds are usually not a problem on FreeBSD. We hope that this overview helps clarify what to expect and how to make the leap second event proceed more smoothly.

--------------- /quote --
]]>
*NIX / IT 정보 Mon, 29 Jun 2015 13:03:52 +0900
2015.7.1. 윤초(Leap second) 삽입 관련 서버 점검사항 http://coffeenix.net/bbs/viewtopic.php?p=10319#10319

--------------- code --

2015.06.30 23:59:58
2015.06.30 23:59:59
2015.06.30 23:59:60 <-- 윤초 삽입
2015.07.01 00:00:00

--------------- /code --

위 시간은 UTC기준이므로, 우리 나라 시간(KST)으로는 08:59:60 -> 09:00:00입니다.

미르님 3가지 주의점에 대해 깔끔하게 정리했요. The Leap second (2015.6.20.)

1. 리눅스 커널 버전 패치
2. NTP데몬은 slew 모드로 동작하게.
3. NTP데몬 안돌리는 서버는 tzdate를 tzdata-2015a-1 이상으로 업그레이드

미르님 글 중에 패치안된 낮은 커널이면 '100% 확률로 Freeze 또는 리부팅이 발생할 수 있다'고 했습니다만, 이 부분에 대해서는 제가 알지 못합니다. freeze나 reboot될 가능성은 있는데 100%인지는 모르겠어요. 여러 문서에서 100%라는 글을 본적이 없고, 발생할 수 있다는 글만 있어서.

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

덕분에 저도 좀 추가로 정리해봅니다. 미르님의 글을 읽고 이 글을 읽는게 나을겁니다.
결론적으로 보면, 꾸준히 커널과 패키지를 업데이트했으면 크게 신경쓸 건 없을 것 같습니다.


1. 문제가 해결된 커널이 언제 나왔는지 찾아봤습니다. (버전은 미르님 글에서)


--------------- code --

RHEL 6 : 2.6.32-279.5.2, 2012.8.
RHEL 5 : 2.6.18-164, 2009.9.
RHEL 4 : 2.6.9-89, 2009.5.

--------------- /code --


오래됐죠? 꾸준히 업데이트했다면 커널 문제는 없습니다.
RHEL, CentOS를 제외한 다른 리눅스 배포판은 직접 확인해보세요.

※ 커널 버전에 대해서는 추가로 확인해보고 적습니다. (2015.6.23.(화) AM 11시 추가)

--------------- quote --

'Resolve Leap Second Issues in Red Hat Enterprise Linux'을 토대로 일부 더 찾아보고.

1) RHEL 7 : 커널 버전 문제 없음

2) RHEL 6 : 특정 커널 버전이하에서 hang발생할 수
kernel-2.6.32-279.5.2, 2012.8.
840950 - livelock in leapsecond insertion [rhel-6.3.z] ( https://rhn.redhat.com/errata/RHBA-2012-1199.html )
윤초 삽입 후 CPU시간을 100% 소모할 수 있는 버그 수정

RHEL 6은 이후에 나온 버전중 윤초관련된게 하나 더 있군요.
kernel-2.6.32-358, 2013.2.
836803 - RHEL6: Potential fix for leapsecond caused futex related load spikes ( https://rhn.redhat.com/errata/RHSA-2013-0496.html )
윤초를 위한 futex 관련하여 load spike를 발생할 수 있는 잠재적인 버그 수정. 보다 안정적으로 가려면 kernel-2.6.32-358 이상이어야 할 듯.

3) RHEL 5 : 특정 커널 버전이하에서 crash될 수
kernel-2.6.18-164 이전 버전 문제.
479765 - Leap second message can hang the kernel ( https://rhn.redhat.com/errata/RHSA-2009-1243.html )
hang 발생될 수 있는 버그 수정

4) RHEL 4 : 특정 커널 버전이하에서 crash될 수
kernel-2.6.9-89 이전 버전 문제.
https://access.redhat.com/solutions/1325313

--------------- /quote --



2. NTP 데몬의 slew 모드

시스템 규모가 조금되면 NTP서버 운영하실텐데, NTP서버는 시간보정하는 방법이 step 모드와 slew 모드 2가지가 있습니다.

- step 모드는 즉시 시간을 보정합니다.
- slew 모드는 아주 아주 천천히 시간을 보정합니다. 1초당 0.5ms로 보정해줍니다.
그러니깐 1초라는 시간을 보정하는데 2000초(1000/0.5 = 2000)라는 시간을 나눠서 아주 조금씩 보정해주는거죠.
시간에 민감한 경우 이렇게 하는게 좋습니다.

개인적으로 보기엔 민감성이 중요하지 않는 곳에서는 step모드(옵션없다면 default)로 해도 상관없을 것 같습니다. 웹서비스를 주로하는 곳에서 서버가 1초 변경되는데 민감할 정도가 아니니깐요. ntpdate를 실행하는 클라이언트에서도 자체 NTP서버와 몇분간격으로 동기화시키는 경우는 드물잖아요? 몇십분에서 몇시간간격으로 가져올테니, 그만큼 시간 민감도는 낮다는 의미죠.

본인들이 운영하는 서비스 특성을 잘 판단해서 step모드로 놔둘지 slew모드로 변경할지 고민하면 될 것 같습니다.
NTP서버의 slew모드로 변경은 미르님이 작성하신 글처럼 ntdp데몬에 -x 옵션을 추가해서 실행하면 됩니다.

혹시나 싶어 다시 얘기하는데, step, slew모드 설정은 ntpd 데몬이 돌아가는 서버에 대한 것입니다. ntpdate를 실행하는 다수의 서버를 말하는게 아닙니다. 아래에서 2번 서버에만 해당됩니다.

--------------- code --

(1) 외부 공식 NTP 서버들(당신의 서버 아님) <-> (2) 내부 NTP서버 (당신이 관리하는 서버) <-> (3) ntpdate를 실행하는 다수의 서버들
--------------- /code --



3. 최근에 윤초가 언제 발생했는지 찾아봤더니 거의 2006년 부터는 거의 3년마다 한번씩 있었네요.
그 이전에는 더 자주 있었구요. 2012년에 문제가 발생했다면 그 때 뭐가 문제였는지 잘 기억하시고 조치를 취하세요.


--------------- code --

2006.1.1.
2009.1.1.
2012.7.1.
2015.7.1.

--------------- /code --



4. tzdata가 이번 윤초까지 포함된 경우 다음과 같이 나온다.


--------------- quote --

$ zdump -v right/Asia/Seoul
... 생략 ...
right/Asia/Seoul Tue Jun 30 23:59:60 2015 UTC = Wed Jul 1 08:59:60 2015 KST isdst=0 gmtoff=32400
right/Asia/Seoul Wed Jul 1 00:00:00 2015 UTC = Wed Jul 1 09:00:00 2015 KST isdst=0 gmtoff=32400
... 생략 ...

--------------- /quote --

※ KDT라고 적힌 것은 썸머타임 적용이다. KST -> KDT는 썸머타임 시작, KDT -> KST는 썸머타임 종료]]>
*NIX / IT 정보 Mon, 22 Jun 2015 17:58:58 +0900
OpenSSL 취약점 정리, Logjam(로그잼)에서 Heartbleed까지 http://coffeenix.net/bbs/viewtopic.php?p=10318#10318 그래서 Heartbleed 취약점, POODLE 취약점, FREAK 취약점 얼마전에 나온 Logjam 취약점까지 간단히 정리해봤습니다.
취약점 여부를 체크할 수 있는 방법을 별도로 적었습니다.



1. OpenSSL Logjam 취약점 (2015.5.)


TLS프로토콜의 취약점으로 공격자가 임시 Diffie-Hellman 키 교환(Diffie-Hellman key exchange)을 사용하여 TLS연결을 512비트 수출등급 암호화로 다운그레이드할 수 있다.

OpenSSL 1.0.2 : 패치된 버전 1.0.2b이상
OpenSSL 1.0.1 : 패치된 버전 1.0.1n이상

OpenSSL 1.0.1과 1.0.2대의 버전별 해결책을 보면.
- 1.0.1과 1.0.2 : DH 파라미터가 768비트보다 짧다면 handshake를 거부하도록 TLS클라이언트에 대한 보호 기능을 추가했다.
- 1.0.2b이상, 1.0.1n이상 : 위 제한을 1024비트까지 증가했다.
- 1.0.1m이상, 1.0.2a이상 : EXPORT cipher suite(즉, 수출등급 암호)를 기본적으로 disable했다.


--------------- quote --

1) 취약점 여부 확인하기
반드시 openssl 1.0.2 client를 사용해야 Server Temp Key: 값을 볼 수 있다. Server Temp Key: 값이 1024비트거나 이하이면 2048비트 DH parameter를 생성한다. (1024비트가 반드시 취약하다는 것은 아니고, 반대로 안전한 것도 아니다. 오늘날 같이 PC 연산기능이 좋은 경우 1024비트 암호를 빠른 시간내에 풀 수 있다는 것임. 그래서 2048비트를 권장)

$ openssl s_client -connect 서버:433 - cipher EDH

2) apache 설정
$ openssl dhparam -out dhparam.pem 2048

생성된 DH parameter를 SSLCertificateFile 에 적힌 파일 맨뒤에 붙인다.
cat dhparam.pem >> /path/to/sslcertfile

그런데, apache 2.4.7이전 버전은 DH parameter가 항상 1024비트로 셋팅되어 있고, 사용자가 이를 바꿀 수 없다.
RHEL 6(CentOS 6)의 apache 2.2버전은 2.4.7것을 백포팅해서 셋팅이 가능하다.

3) nginx 설정
$ openssl dhparam -out dhparam.pem 2048

nginx.conf에 다음 추가
ssl_dhparam /path/to/dhparam.pem;

--------------- /quote --


자세한 정보는 다음 글을.
https://www.openssl.org/blog/blog/2015/05/20/logjam-freak-upcoming-changes/
http://www.openssl.org/news/secadv_20150611.txt
https://access.redhat.com/ko/articles/1480443 (한글)

웹서버 설정과 관련에서는 Guide to Deploying Diffie-Hellman for TLS ( https://weakdh.org/sysadmin.html )글이 가장 정리가 잘 된 것 같다.


2. OpenSSL FREAK 취약점 (2015.3.)

과거 미국은 암호화 기술에 대해 해외 수출을 제한했다. 그래서 해외에 암호화 기술을 수출하려면 낮은 수준인 512비트 암호화(RSA EXPORT)만 사용할 수 있었다. 이후 2000년에 미국은 이 수출제한을 없앴다.

현재는 2048비트 이상의 암호화 키를 많이 사용한다. 그런데, 수출제한이 없어진지 10여년이 지났는데도 OpenSSL에 수출등급 암호화 기능이 그대로 남아있었다. FREAK(Factoring attack on RSA-EXPORT Keys)라고 불리는 취약점은 공격자가 512비트의 낮은 수준의 수출등급 암호를 요청할 수가 있다.

OpenSSL 1.0.1 : 패치된 버전 1.0.1k
OpenSSL 1.0.0 : 패치된 버전 1.0.0p
OpenSSL 0.9.8 : 패치된 버전 0.9.8zd


--------------- quote --

1) 취약점 여부 확인하기
$ openssl s_client -connect 서버:433 - cipher EXPORT

2) apache 설정 : SSLCipherSuite 에 !EXP 또는 !EXPORT를 추가한다.
(예) SSLCipherSuite HIGH:!aNULL:!MD5:!EXP

3) nginx 설정 : !EXPORT를 추가한다.
(예) ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT;

--------------- /quote --



3. OpenSSL POODLE 취약점 (SSLv3 취약점, 2014.10.)

POODLE(Padding Oracle On Downgraded Legacy Encryption)이라고 불리는 취약점은 SSL 3.0 버전에 존재하는 취약점이다. 공격자가 패딩 오라클 공격(이게 뭔지 모름)을 하여 암호화 통신을 해독할 수 있다.

Poodle 취약점은 프로토콜 자체 결함이 아니라 구현상의 문제여서 패치가 아닌 설정 변경으로 해결한다. SSL v3만 해당되고 TLS은 취약하지 않다. 따라서 SSL v3를 사용하지 않도록 설정해주면 된다.


--------------- quote --

1) 취약점 여부 확인하기
$ openssl s_client -connect 서버:443 -ssl2 (-ssl2 옵션은 지원하지 않을 수 있음)
$ openssl s_client -connect 서버:443 -ssl3

2) apache 설정 : SSLProtocol에서 -SSLv3를 추가한다.
(예) SSLProtocol all -SSLv2 -SSLv3

3) nginx 설정 : TLS만 허용
(예) ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

--------------- /quote --


자세한 정보는 다음 글을.
https://access.redhat.com/ko/node/1256013 (한글)


4. OpenSSL Heartbleed 취약점 (2014.4.)

OpenSSL 1.0.1버전에 TLS heartbeat 취약점(일명 Heartbleed Bug라고 부름. CVE-2014-0160, openssl: information disclosure in handling of TLS heartbeat extension packets)이 있다. 공격자가 https서버의 메모리 64KB 데이터를 볼 수 있다. 메모리에는 https서버와 유저간에 주고 받은 데이터들(ID/PW, ... 등의 정보)이 있는데, 공격자는 plain text형태로 볼 수 있다. 그리고,SSL 개인키를 얻을 수.

자세한 정보는 다음 글을.
http://coffeenix.net/bbs/viewtopic.php?t=8239


------------------------------------------------------------------------------------------------------------
5. openssl 명령으로 간단히 취약점 여부 체크

※ 참고 : openssl로 인증서 정보 살펴보기 (2008.12.)

1-1) SSLv3가 허용된 경우


--------------- code --

$ openssl s_client -connect 서버:443 -ssl3
CONNECTED(00000003)
depth=1 C = IL, O = StartCom Ltd., OU = Secure Digital Certificate Signing, CN = StartCom Class 1 Primary Intermediate Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
...생략...
SSL-Session:
Protocol : SSLv3
Cipher : DHE-RSA-AES256-SHA <-- SSLv3 지원하는 경우.

--------------- /code --


1-2) SSLv3가 허용되지 않은 경우 (안전)


--------------- code --

$ openssl s_client -connect 서버:443 -ssl3
CONNECTED(00000003)
140289569347264:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1256:SSL alert number 40
140289569347264:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000 <-- SSLv3 지원하지 않음.

--------------- /code --


2-1) 수출용 암호화가 허용된 경우 (인증서 정보가 표시됨. 보안상 취약)


--------------- code --

$ openssl s_client -connect 서버:443 -cipher EXPORT
CONNECTED(00000003)
depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, ... 생략 ...
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
...생략...
SSL handshake has read 4798 bytes and written 201 bytes

--------------- /code --


2-3) 수출용 암호화가 허용되지 않는 경우 (안전)


--------------- code --

$ openssl s_client -connect 서버:443 -cipher EXPORT
CONNECTED(00000003)
139768004437696:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:741:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 75 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

--------------- /code --


3-1) logjam에 취약한 경우 (반드시 openssl 1.0.2 client로 테스트해야 Server Temp Key: 값을 확인할 수 있다)


--------------- code --

$ openssl s_client -connect 서버:443 -cipher EDH
... 생략 ...
Server Temp Key: DH, 1024 bits <--- 1024비트이거나 낮다면 2048비트 DH parameter를 사용하도록 셋팅한다.

SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
... 생략 ...

--------------- /code --


3-2) logjam 취약점에 안전한 경우


--------------- code --

$ openssl s_client -connect 서버:443 -cipher EDH
CONNECTED(00000003)
139828320765632:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 145 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
---

--------------- /code --
]]>
*NIX / IT 정보 Tue, 16 Jun 2015 16:40:33 +0900
리눅스 glibc 취약점, "GHOST" http://coffeenix.net/bbs/viewtopic.php?p=10120#10120
* Linux "GHOST" Vulnerability Hits Glibc Systems
http://www.phoronix.com/scan.php?page=news_item&px=Linux-GHOST-Glibc-Security

* GHOST: glibc gethostbyname buffer overflow
http://www.openwall.com/lists/oss-security/2015/01/27/9


--------------- quote --
we discovered that it was fixed on May 21, 2013 (between the releases of glibc-2.17 and glibc-2.18 ).
Unfortunately, it was not recognized as a security threat; as a result, most stable and long-term-support distributions were left exposed (and still are):
Debian 7 (wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04, for example.

--------------- /quote --


다행인 것은 apache, nginx, lighttpd 등 대표적인 웹서버와 proftpd, vsftpd, pure-ftpd 등 다수 FTP 서버, openssh는 취약하지 않는 것으로 밝혀졌다.
Qualys Security Advisory team이 OSS Security 메일링리스트에 보낸 내용에 따르면, 다음 데몬들은 문제 없다고 한다.
http://www.openwall.com/lists/oss-security/2015/01/27/18


--------------- quote --

apache, cups, dovecot, gnupg, isc-dhcp, lighttpd, mariadb/mysql, nfs-utils, nginx, nodejs, openldap, openssh, postfix, proftpd, pure-ftpd, rsyslog, samba, sendmail, sysklogd, syslog-ng, tcp_wrappers, vsftpd, xinetd.

--------------- /quote --


RHEL(CentOS)은 패치를 제공하고 있다.

* RHEL5, CentOS 5 (패치된 패키지명 : glibc-2.5-123.el5_11.1)
https://rhn.redhat.com/errata/RHSA-2015-0090.html
* RHEL6 & 7, CentOS 6 & 7 (RHEL6 패치된 패키지명 : glibc-2.12-1.149.el6_6.5, RHEL 7 : glibc-2.17-55.el7_0.5)
https://rhn.redhat.com/errata/RHSA-2015-0092.html


--------------- code --

# yum -y update ( -y는 업데이트 할 것인지 묻지 않고 바로 update)
... 생략 ...
glibc x86_64 2.12-1.149.el6_6.5 updates 3.8 M
glibc-common x86_64 2.12-1.149.el6_6.5 updates 14 M
glibc-devel x86_64 2.12-1.149.el6_6.5 updates 983 k
glibc-headers x86_64 2.12-1.149.el6_6.5 updates 612 k

--------------- /code --
]]>
*NIX / IT 정보 Wed, 28 Jan 2015 14:02:09 +0900
OpenSSL 1.0.1 Heartbleed 취약점 (반드시 패치 필요) http://coffeenix.net/bbs/viewtopic.php?p=10078#10078 공격자가 https서버의 메모리 64KB 데이터를 볼 수 있습니다. 메모리에는 https서버와 유저간에 주고 받은 데이터들(ID/PW, ... 등의 정보)이 있는데, 공격자는 plain text형태로 볼 수 있습니다. 그리고,SSL 개인키를 얻을 수 있습니다. 반드시 업데이트하세요.

http://a4.aurynj.net/post/82075898166/heartbleed (Heartbleed 이슈에 관해 정리)
http://yisangwook.tumblr.com/post/82056087918/openssl-heartbeat-heartbleed (OpenSSL 취약점 발견. Heartbleed)
http://heartbleed.com/

1. 취약한 버전

OpenSSL 1.0.0과 0.9.8 버전은 취약하지 않으며,
1.0.1은 1.0.1f까지 취약합니다. 1.0.1g에서 패치되었구요.

http://www.openssl.org/news/secadv_20140407.txt

2. RHEL, CentOS

- CentOS 5 : 0.9.8
- CentOS 6 : 1.0.1입니다. CentOS 6은 업데이트하세요. yum으로 현재 지원합니다. 패치된 rpm : 1.0.1e-16.el6_5.7 ( https://rhn.redhat.com/errata/RHSA-2014-0376.html )


--------------- code --

# yum update openssl*
... 생략 ...
=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
openssl x86_64 1.0.1e-16.el6_5.7 updates 1.5 M
openssl-devel x86_64 1.0.1e-16.el6_5.7 updates 1.2 M

--------------- /code --



3. FreeBSD

- FreeBSD 8.x, 9.x : 0.9.8 입니다. ports로 별도 설치하지 않았다면 업데이트하지 안해도 되요.
- FreeBSD 10.0 : 1.0.1e. 패치 나왔습니다. ( http://www.freebsd.org/security/advisories/FreeBSD-SA-14:06.openssl.asc )


--------------- code --

# freebsd-update fetch
# freebsd-update install
# ls -la /usr/lib*/libssl*
-r--r--r-- 1 root wheel 685846 Apr 9 12:28 /usr/lib/libssl.a
lrwxr-xr-x 1 root wheel 11 Feb 25 09:24 /usr/lib/libssl.so -> libssl.so.7
-r--r--r-- 1 root wheel 430352 Apr 9 12:28 /usr/lib/libssl.so.7
-r--r--r-- 1 root wheel 713782 Apr 9 12:28 /usr/lib/libssl_p.a
-r--r--r-- 1 root wheel 470850 Apr 9 12:28 /usr/lib32/libssl.a
lrwxr-xr-x 1 root wheel 11 Feb 25 09:26 /usr/lib32/libssl.so -> libssl.so.7
-r--r--r-- 1 root wheel 363552 Apr 9 12:28 /usr/lib32/libssl.so.7
-r--r--r-- 1 root wheel 480306 Apr 9 12:28 /usr/lib32/libssl_p.a
#

--------------- /code --


3. Ubuntu

- Ubuntu 13.10, 12.10, 12.04 LTS
- apt-get 으로 지원 됩니다. (http://www.ubuntu.com/usn/usn-2165-1/)


--------------- code --

# apt-get update
# apt-get upgarde

or

# apt-get update
# apt-get install libssl1.0.0 openssl

생략

--------------- /code --


- 패치 확인은


--------------- code --

# dpkg -l | grep ssl
ii openssl 1.0.1e-3ubuntu1.2 <-- ubuntu 13.10
ii libssl1.0.0 1.0.1e-3ubuntu1.2

ii openssl 1.0.1c-3ubuntu2.7 <-- ubuntu 12.10
ii libssl1.0.0 1.0.1c-3ubuntu2.7

ii openssl 1.0.1-4ubuntu5.12 <-- ubuntu 12.04 LTS
ii libssl1.0.0 1.0.1-4ubuntu5.12

--------------- /code --


- 참고로


--------------- code --

# openssl version
OpenSSL 1.0.1 14 Mar 2012

처럼 나와도 패치 된 것입니다. 해당 Version 정보는 갱신되지 않았더군요.
몇몇 포스트에서 openssl version 으로 업데이트 확인하라는 부분이 있는데 이 부분 조심 하십시오. dpkg 로 확인 하십시오.

--------------- /code --



4. AWS - ELB(Elastic Load Balancing)

- 04/07일 패치전이었으나 현재는 모두 패치가 완료 되었다.
(https://aws.amazon.com/security/security-bulletins/aws-services-updated-to-address-openssl-vulnerability/)


업데이트 후 openssl사용하는 데몬은 재실행해주세요.

※ 4.9(수) 15:00 글 수정
※ 4.9(수) 15:40 글 수정(ubuntu 추가) - 범냉이]]>
*NIX / IT 정보 Wed, 09 Apr 2014 11:48:13 +0900
FreeBSD 10.0이 나왔습니다. http://coffeenix.net/bbs/viewtopic.php?p=10074#10074 많은 것이 바뀌어서 적응하는데 시간이 걸릴 것 같아요.



- GCC는 없고 clang이 기본이고,
- make는 NetBSD의 bmake("Portable" BSD make)로 대체되었습니다.
- BIND서버는 설치되지 않습니다. BIND필요시 ports나 pkg로 설치해야 합니다.
- cvs도 사라졌습니다. 그리 쓸일은 없으니.
- pkg_info, pkg_add 등 기존 pkg_ 툴이 완전히 사라졌습니다. 이제 오직 pkg만 사용할 수 있습니다. 8.4과 9.2버전에서는 pkg_ 툴과 pkg가 공존했죠.
- 가상화 개선
- ZFS(ZFS version 5, zpool version 28 ) 개선. SSD TRIM지원하고 LZ4 지원한다고 하는데, FreeBSD 9.2도 같은 ZFS, zpool 버전으로 지원중인데, 추가로 달
라진게 있나...

자세한 것은 릴리즈 노트를.

http://www.freebsd.org/releases/10.0R/announce.html
http://www.freebsd.org/releases/10.0R/relnotes.html]]>
*NIX / IT 정보 Tue, 21 Jan 2014 10:27:28 +0900
MSIE 11의 useragent명 http://coffeenix.net/bbs/viewtopic.php?p=9990#9990 useragent명에 포함되었던 'MSIE 10.0'과 같은 것이 사라지고, 'rv:11.0'이 등장했다.

* MSIE 10 버전

--------------- code --
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
--------------- /code --


* MSIE 11 버전

--------------- code --
Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko <-- Win 7
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko <-- Win 8.1
--------------- /code --


그리고, useragent내의 Trident를 확인해봤더니 다음과 같다.


--------------- code --

Trident/4.0 -> MSIE 8
Trident/5.0 -> MSIE 9
Trident/6.0 -> MSIE 10
Trident/7.0 -> MSIE 11

--------------- /code --


* 참고 사이트 :
http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx]]>
*NIX / IT 정보 Wed, 23 Oct 2013 08:24:44 +0900