계속되는 ssh접속시도에 스크립트 작성중입니다.

—2018/8/14——그냥 fail2ban 설치했습니다. 뭔가 수동으로 처리할 상황이 아닌정도라서, ssh는 2번만 실패해도 막아버리도록 했습니다. 얼마나 늘어나나 보도록 하지요…

파이썬 가지고 깨작거리면서 단순 관리툴 정도 짜보고 있습니다. 쓰기로 했던 안드로이드 이야기는 몸이 안좋은 관계로 정신이 혼미하여, 잠시 미루고, 스크립트 짜는거나 바꿔봐야겠습니다.

  1. 대강 ufw룰 거는거랑,
  2. auth.log 파싱해서 IP찾아내는것,
  3. 이후 두목록를 비교해서 빠진 IP들자동으로 추가하는 것.
    을 cron으로 추가해놓으면 간단하게 될 듯 한데요.
  4. 추가적으로 range파악해서 Range로 룰 바꿔 넣는것
  5. 주로 쓰는 ip는 whitelist로 저장해두고 비교에서 제외하는 것

도 넣고 하면…. 힘드네요 –;
대충 짜서 돌려보니, 2의 log에서 ip추출하는것만해도 시간이 제법 1분정도 걸리네요. python이 단순해서 좋긴한데, 실행성능효율을 따지려들면 실시간으로 로그파일들을 점진적으로 읽어들이는 부분은 잘 모르겠습니다. 그러고 보니, Online상태로 계속 업데이트 중인 파일을 읽어봤scripts던 적이 있었나 싶네요.

인터넷에서 대충 찾아보고 조각조각 짜둔 스크립트라 합치는데도 좀 걸릴듯 합니다. 일단 짜둔거 첨부해봅니다. 근데 원본 스크립트는 워드프레스에서 못올리게 되어 있네요.–; 압축해서 올려봅니다.

—– 1은 아직 수동처리이고, 2는 대강 끝난것 같고, 다음은 5번부터 해야겠네요. 스크립트 업데이트 합니다.

IP 차단할 목록을 btmp에서 보는게 더 빠르다느걸 6개월전에 깨닫고 현재는

# sudo lastb 의 결과물로 파싱하고, ufw로 일일히 deny처리하는 걸로 단순화해보고 있습니다. 스크립트는 아직 수정 못해보고 있지만, ip 목록 정도는 계속 업데이트 하게 되네요.

scripts

Android Building Block Internals – Introduction2

오늘은 Android Platform Code에서 잘 알려지지 않은(?) 파일들을 훑어보도록 하겠습니다. 주로 이러한 잘 알려지지 않은 파일 코드들을 위주로 진행하도록 노력할 것 입니다.

혹여 안드로이드 플랫폼 코드(AOSP, 혹은 Android PDK라고 불리는)를 본적이 없으시다면, https://source.android.com/ 이쪽 링크를 통하여 확인해보시면 됩니다. 보통은 안드로이드 개발자의 경우 앱/서비스 개발자들을 지칭하여 https://developer.android.com 사이트를 많이들 들어가보실 텐데요. 위 PDK에도 정보가 꽤 많고, 사실 플랫폼과 상위 API의 관계가 상당히 유기적이기 때문에(다른 말로, Dependency가 많고, Dirty한 것으로 볼수도 있겠습니다만) 전체를 살펴보는것이 일반 앱/서비스 개발자에게도 도움이 됩니다.

사실 안드로이드가 임베디드 타겟으로 다소 적은 리소스를 가지고 있는 하드웨어에서 개발되었기에, 이러한 Dependency는 효율을 위한 선택이었을 것으로 생각합니다만, 최근의 복잡성 증가와 여러 파편화 이슈로 안드로이드도 기존의 Major OS처럼 Upgradablity, Maintainability등을 따져가면서 발전하고 있습니다. 따라서 아마도 지금이 전체적인 시스템을 보게될 마지막 시기가 될 수도 있을 것이구요.  차후로는 너무 잘 파티셔닝, 모듈화되어서 그냥 모듈교체(하드웨어,소프트웨어 모두 포함한)로 다 끝나버릴 수도 있고, 상업화된 코드들은 더이상 볼 기회가 없어질지도 모르겠습니다.

아래 안드로이드 플랫폼의 트리 구조입니다. 사실 이 파일들 아래에 거대한 리눅스 커널 소스가 자리하고 있지만, 일단은 제쳐두도록 합니다. 필요시 하나씩 꺼내 보도록 하겠습니다.

그나저나 여전히 그림 첨부가 안되고 있어서.. 일단 글로 씁니다 –;;;

bionic

art/dalvik

libcore

framework/base/

주로 다루고자 하는것은 위의 네가지 입니다. 물론 아래의 전체적인 시스템 빌딩 관련된 것도 다룰 수 있습니다.

build/

prebuilt/

또한 안드로이드와 유기적으로 혹은 전략적으로 사용하고 있는 오픈소스들도 다룰 날이 올지도 모르겠습니다.

external

Android Building Block Internals Introduction1

하루에 한가지씩 꾸준히 글을 써보도록 하겠습니다.
고등학교때도, 대학생때도, 꾸준히 뭔가 한다는 것을 다짐하고, 포기하기를 반복했었지만(그동안의 블로그들을 보면…)  이번엔 좀 궤도에 오르기도 했고, 어느정도 의무감도 있고해서 잡소리라도 써보려고 합니다. 그렇다고 완전히 잡소리쓰기엔 시간이 아까우니 계획 했던 부분들을 하나씩 풀어보려 합니다.
제가 가진 지식들을 정리하면서 하나씩 공유해보는 글들을 기록해보겠습니다. 나들은 일찌감치 해오면서 저 만치 앞서 있는 것을 보고 있는것도, 나름의 자존심이 계속 속을 긁고 있네요…

그래서 주제는 현업이기도 한 안드로이드에서 지나온 날들을 잘 엮어 줄 수 있는 성능과 시스템의 관계에 대해서 적어보도록 하겠습니다. 본인의 관심사가 하드웨어+소프트웨어 이기도 하고, 나름 전문성이 있다고 자부하기에, 앞서가는 사람으로서 의무감을 갖고 펼쳐보도록 하겠습니다. 범위는 안드로이드+HW(Chip+Board)+SW(OS,Lib, Frameworks, Network, App)  정도가 될것 같습니다. 넓습니다.

이번글은 그 시작으로 간단한 그림 하나 그려보고 출발합니다. 아래 녹색영역에 주로 초점을 맞추도록 하겠습니다. 설명중에 전체 내용등이 두서 없이 나올수도 있습니다. 아래 그림은 제가 보는 안드로이드와 주변 시스템에 대한 전체적인 View입니다. 나름 코드와 기존의 경험에 기반한 그림이고, 별로 자세하지도 않아서, 틀리다라는 이야기를 들을 것 같진 않지만, 혹시라도 본인이 생각하던 그림과 다르다면 의견 공유해주시면 감사하겠습니다.

 

—– 그림을 올리려 했는데, 워드프레스 에러가 나는군요… –;; 뭐하나 쉽게 되는건 없나보네요. 미루는 것보다 게시하고 수정하도록 하겠습니다.

—– 이틀째 해결을 못보고 있는데, 플러그인 추가로도 안되고, 최후로, 새로 설치밖에 안남은것 같습니다. … 에휴…

—– 원인을 찾았습니다. googleanalytics 관련 wp-config.php에의 직접 수정이 원인이었네요.. 대충 대충 했더니, 결과가 이렇네요… 제대로 적용하는 법을 찾아봐야겠습니다.

3D 프린터 조립

ANET의 A8 3D 프린터가 옥션에서 14만원에 떠서, 질렀습니다.
중국에서 직배송으로 들어오네요. 찍힌 라벨을 보니 옥션이 이베이였다는게 새삼 실감이 납니다.
물건은 왔는데, 포장은 꽤 그럴듯 하지만, 내부 재료를 좀 싼티가 있는 건 여전해보였습니다만, 가격에 비하면야 양반이죠. 다른것보다, 대학생때 스텝모터 사려고 했던걸 생각하면, 14만원에 스텝모터가 4개.. 흐미.. 10년전하고 딴 세상이네요.

준비물로는 더스트블로워, 티슈, 보통책상보다는 약간 넓은면 좋은 책상, 부품 늘어놓을 여분의 책상, 전동드라이버, 자, 수평계, 망치 정도 있으면 좋겠습니다. 간단한 드라이버, 육각렌치 공구도 다 들어있긴한데, 힘이 부치는 경우가 많거든요.

그리고 집에서 조립하실 분들은 재활용 수거일날 시작하시는게 좋습니다. 안에 스티로폴, 보호지(비닐, 종이)이 많아서, 쌓아두면 괴롭습니다.

조립은 유튜브 영상을 참고하면서 하나씩 하면 좋은데, 일단 1~2분정도 먼저 보고, 최종 조립화면까지 확인한후, 부품 하나하나, 나사 제대로 된거 확인해서 해야합니다. 메뉴얼이 안들어 있어서, 나사길이 같은거 따질때 화면하고 영상 설명에 의존하는데, 부품 설명은 잘 안해주거든요.

아래 정도면 참고가 되고, 자막 켜고, 자동 번역하면 한글로도 나오지만…. 그냥 영상보고 판단하세요.

보안강화 IDS,…

영 집안 네트웍이 이상하길래 접속 시도 로그를 봤더니, 중국에서 접속시도가 계속 있습니다. 몇일 됐다고 –; 이런서버에도 관심가지는지…

아무튼 영향을 받고 있으므로, 일단 재부팅하여, 잠시 쉬게 해주고, 급히 뭐라도 깔아봅니다..

—— 하루에 거의 2분꼴로 다른 IP에서 공격이 들어오네요.. –; 대부분 아시아, 중국홍콩, 대만, 그리고 네덜란드 미국, 호주, 각종 나라에서 다 들어오려고 하는군요.. ssh포트 열어뒀더니. 아주 어중이 떠중이 다들어오려합니다. 계정도 제각각으로 다 시도해보는군요. admin, root, vpn, huawei, … –;

급해서 그냥 auth.log보고 시도되는 IP들 그냥 ufw로 막아버렸습니다. –; 하다하다 지치면 자동화툴 굴려야겠네요… 일단 차단 IP목록 공유차원에서 적어봅니다.

차단 명령어는 아래처럼 썼습니다. iptables로 직접 해도되는데, 이게 편하네요.

ufw insert 1 deny from <ip> to any port <port>

[1] 22 DENY IN 210.45.114.62
[ 2] 22 DENY IN 221.194.44.212
[ 3] 22 DENY IN 121.50.169.248
[ 4] 22 DENY IN 124.68.10.20
[ 5] 22 DENY IN 118.175.36.89
[ 6] 22 DENY IN 210.211.126.193
[ 7] 22 DENY IN 185.152.2.23
[ 8] 22 DENY IN 183.152.2.23
[ 9] 22 DENY IN 58.57.65.114
[10] 22 DENY IN 79.165.2.209
[11] 22 DENY IN 193.213.204.133
[12] 22 DENY IN 221.194.47.0/24
[13] 22 DENY IN 46.246.41.78
[14] 22 DENY IN 114.255.78.181
[15] 22 DENY IN 59.45.175.0/24
[16] 22 DENY IN 121.18.238.0/24
[17] 22 DENY IN 185.2.82.187
[18] 22 DENY IN 59.63.188.36
[19] 22 DENY IN 163.172.119.161
[20] 22 DENY IN 116.31.116.9
[21] 22 DENY IN 182.100.67.120

———- 6/3일 쉴새없이 몰아칩니다… IP차단 목록 추가합니다. 하루에 20~30건이 꾸준히 시도되네요.. 여러 IP가 겹치는 경우는 거의 없고, 매번 새로운 IP로 유형이 2~3가지로 번갈아가면서 나옵니다. 공격지는 한군데인것 같은데 말이죠..

[ 1] 22 DENY IN 124.88.67.41
[ 2] 22 DENY IN 114.32.148.24
[ 3] 22 DENY IN 106.57.172.134
[ 4] 22 DENY IN 39.64.109.115
[ 5] 22 DENY IN 113.194.50.160
[ 6] 22 DENY IN 72.203.98.9
[ 7] 22 DENY IN 103.207.39.217
[ 8] 22 DENY IN 89.248.167.131
[ 9] 22 DENY IN 104.197.75.192
[10] 22 DENY IN 182.33.229.11
[11] 22 DENY IN 201.177.146.205
[12] 22 DENY IN 186.56.128.127
[13] 22 DENY IN 118.26.30.5
[14] 22 DENY IN 213.110.204.214
[15] 22 DENY IN 139.162.75.112
[16] 22 DENY IN 181.113.165.250
[17] 22 DENY IN 125.253.116.85
[18] 22 DENY IN 91.197.232.11
[19] 22 DENY IN 193.201.224.215
[20] 22 DENY IN 170.250.130.153
[21] 22 DENY IN 125.76.182.196
[22] 22 DENY IN 179.96.142.111
[23] 22 DENY IN 162.213.3.221
[24] 22 DENY IN 49.248.112.46
[25] 22 DENY IN 181.25.39.10

——– 2018년 8월 11일 서버 복구후에 새로 접속 로그 보고 세팅한 목록과 이전 목록을 비교해봅니다.  1년정도 사이에 공격지 변화가 있는 확인해 볼수 있겠네요. 이젠 그냥 다 막으렵니다. ssh접속 하는 쪽이 web에 관심있어서 들어오는것도 아닐테고.

Anywhere                   DENY        193.201.224.214   ==> 기존 193.201.224.215
Anywhere                   DENY        221.194.44.211      ==> 새로 추가
Anywhere                   DENY        118.212.143.43      ==> 새로 추가
Anywhere                   DENY        122.226.181.164    ==>
Anywhere                   DENY        181.100.67.235
Anywhere                   DENY        58.82.166.4
Anywhere                   DENY        122.226.181.167
Anywhere                   DENY        218.65.30.61
Anywhere                   DENY        221.194.47.239
Anywhere                   DENY        202.45.147.148
Anywhere                   DENY        111.7.177.239
Anywhere                   DENY        112.85.42.146
Anywhere                   DENY        206.189.114.117
Anywhere                   DENY        91.236.178.157
Anywhere                   DENY        185.156.42.150
Anywhere                   DENY        167.99.215.188
Anywhere                   DENY        115.238.245.8
Anywhere                   DENY        182.100.67.4
Anywhere                   DENY        115.238.245.2
Anywhere                   DENY        121.18.238.115
Anywhere                   DENY        121.18.238.123
Anywhere                   DENY        122.226.181.166
Anywhere                   DENY        42.7.26.15