Karfi's Blog

Islam, Manifesto, Life, Information Security, Programming, Linux, Computer Network, Management Information System, and Change Management

MySQL Database Replication Trick

Untuk Anda yang ingin membuat High Availability (HA) System, komponen yang perlu dibuat replikasi antara lain:

  • Jaringan
  • Sistem Operasi
  • Aplikasi
  • Database

Untuk replikasi database, ada beberapa skenario teknologi yang bisa digunakan.

  • Host based
  • Storage based
  • Instance based

Host based, artinya replikasi akan dilakukan oleh software tambahan yang diinstall pada OS yang khusus berfungsi untuk melakukan sinkronisasi dari host yang satu ke host yang lain. Dalam skenario ini, Anda harus meletakkan file/konten database ke dalam disk yang terpisah dengan sistem.

Storage based, artinya replikasi akan dilakukan Storage-to-Storage. Untuk skenario ini dibutuhkan perangkat storage system yang memiliki fitur Volume-to-Volume Synchronization.

Instance based, artinya replikasi dilakukan oleh DBMS yang Anda gunakan. Apakah itu MySQL, PostgreSQL atau yang lainnya.

Saya akan memberikan contoh konfigurasi replikasi database dengan MySQL.

Misalkan:

  • IP Server 1 : 10.20.30.1
  • IP Server 2 : 10.20.30.2
  • Database Instance yang akan direplikasi : exampledb
  • Username untuk replikasi : slave
  • Password untuk replikasi : Your.Pazzword

Langkah-langkah konfigurasinya adalah sebagai berikut:

Pada Server 1 (Master)

Edit file konfigurasi MySQL

vi /etc/mysql/my.cnf

Pastikan MySQL dapat listening pada selain dari localhost (tambahkan tanda #):

#bind-address            = 127.0.0.1

Pada bagian [mysqld] tambahkan

log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=exampledb
server-id=1

Lalu eksekusi pada shell, restart service MySQl

/etc/init.d/mysql restart

Masuk ke database sebagai root

mysql -u root -p

Setelah masuk pada mysql>

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'10.20.30.2' IDENTIFIED BY 'Your.Pazzword';
FLUSH PRIVILEGES;
USE exampledb;SHOW MASTER STATUS;

Hasilnya kurang lebih sebagai berikut:

+------------------+----------+---------------+------------------+
| File             | Position | Binlog_Do_DB  | Binlog_Ignore_DB |
+------------------+----------+---------------+------------------+
| mysql-bin.0001   |      101 | exampledb     |                  |
+------------------+----------+---------------+------------------+
1 row in set (0.00 sec)

Informasi ini akan digunakan kemudian.

Anda bisa keluar dari MySQL

quit;

Lalu pada Server 2 (Slave)

Pada bagian [mysqld] tambahkan

server-id=2
master-host=10.20.30.1
master-user=slave
master-password=Your.Pazzword
master-connect-retry=60
replicate-do-db=exampledb

Lalu eksekusi pada shell, restart service MySQl

/etc/init.d/mysql restart

Masuk ke database sebagai root

mysql -u root -p

Setelah masuk pada mysql>

SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='10.20.30.1', MASTER_USER='slave', MASTER_PASSWORD='Your.Pazzword', MASTER_LOG_FILE='mysql-bin.0001', MASTER_LOG_POS=101; 
START SLAVE;quit;

MASTER_LOG_FILE dan MASTER_LOG_POS diisi dengan informasi yang sebelumnya tampil di Server 1.

Kini, setiap kali ada perubahan record pada database exampledb di Master, akan langsung diikuti perubahan di Slave.

Untuk meningkatkan keamanan, Anda juga bisa membuat access rule pada firewall, baik di sisi network maupun di sisi OS server untuk mengijinkan Port MySQL Master hanya dapat diakses dari IP Slave.

Contoh pada Ubuntu:

apt-get install ufw
ufw allow from 10.50.51.2 to any port 3306

Someone tried to log into my server

Someone from IP 88.191.116.104 (Evicom.Net) tried to log into my server using ssh brute force or dictionary attack technique this morning.

This ip has been blacklisted as published in http://danger.rulez.sk/projects/bruteforceblocker/blist.php

Here’s the display of my realtime log when attacker worked:

Dec 17 09:02:39 mail sshd[14018]: Invalid user web from 88.191.116.104
Dec 17 09:02:42 mail sshd[14020]: Invalid user web from 88.191.116.104
Dec 17 09:02:45 mail sshd[14025]: Invalid user web from 88.191.116.104
Dec 17 09:02:48 mail sshd[14027]: Invalid user web from 88.191.116.104
Dec 17 09:02:51 mail sshd[14034]: Invalid user web from 88.191.116.104
Dec 17 09:02:53 mail sshd[14037]: Invalid user web from 88.191.116.104
Dec 17 09:02:57 mail sshd[14039]: Invalid user web from 88.191.116.104
Dec 17 09:03:00 mail sshd[14041]: Invalid user web from 88.191.116.104
Dec 17 09:03:02 mail sshd[14043]: Invalid user web from 88.191.116.104
Dec 17 09:03:05 mail sshd[14049]: Invalid user web from 88.191.116.104
Dec 17 09:03:08 mail sshd[14051]: Invalid user web from 88.191.116.104
Dec 17 09:03:11 mail sshd[14053]: Invalid user web from 88.191.116.104
Dec 17 09:03:14 mail sshd[14059]: Invalid user web from 88.191.116.104
Dec 17 09:03:17 mail sshd[14179]: Invalid user web from 88.191.116.104
Dec 17 09:03:20 mail sshd[14254]: Invalid user web from 88.191.116.104
Dec 17 09:03:23 mail sshd[14256]: Invalid user web from 88.191.116.104
Dec 17 09:03:25 mail sshd[14258]: Invalid user web from 88.191.116.104
Dec 17 09:03:28 mail sshd[14260]: Invalid user web from 88.191.116.104
Dec 17 09:03:31 mail sshd[14262]: Invalid user web from 88.191.116.104
Dec 17 09:03:34 mail sshd[14268]: Invalid user web from 88.191.116.104
Dec 17 09:03:37 mail sshd[14270]: Invalid user web from 88.191.116.104
Dec 17 09:03:40 mail sshd[14272]: Invalid user web from 88.191.116.104
Dec 17 09:03:43 mail sshd[14274]: Invalid user web from 88.191.116.104
Dec 17 09:03:46 mail sshd[14279]: Invalid user user from 88.191.116.104
Dec 17 09:03:49 mail sshd[14282]: Invalid user user from 88.191.116.104
Dec 17 09:03:52 mail sshd[14284]: Invalid user user from 88.191.116.104
Dec 17 09:03:54 mail sshd[14291]: Invalid user user from 88.191.116.104
Dec 17 09:03:57 mail sshd[14293]: Invalid user user from 88.191.116.104
Dec 17 09:04:00 mail sshd[14296]: Invalid user user from 88.191.116.104
Dec 17 09:04:03 mail sshd[14311]: Invalid user user from 88.191.116.104
Dec 17 09:04:06 mail sshd[14435]: Invalid user user from 88.191.116.104
Dec 17 09:04:09 mail sshd[14483]: Invalid user user from 88.191.116.104
Dec 17 09:04:12 mail sshd[14626]: Invalid user user from 88.191.116.104
Dec 17 09:04:15 mail sshd[14632]: Invalid user user from 88.191.116.104
Dec 17 09:04:18 mail sshd[14644]: Invalid user user from 88.191.116.104
Dec 17 09:04:21 mail sshd[14827]: Invalid user user from 88.191.116.104
Dec 17 09:04:24 mail sshd[14829]: Invalid user user from 88.191.116.104
Dec 17 09:04:27 mail sshd[14831]: Invalid user user from 88.191.116.104
Dec 17 09:04:30 mail sshd[14833]: Invalid user user from 88.191.116.104
Dec 17 09:04:33 mail sshd[14839]: Invalid user user from 88.191.116.104
Dec 17 09:04:36 mail sshd[14841]: Invalid user user from 88.191.116.104
Dec 17 09:04:38 mail sshd[14843]: Invalid user user from 88.191.116.104
Dec 17 09:04:41 mail sshd[14845]: Invalid user user from 88.191.116.104
Dec 17 09:04:44 mail sshd[14850]: Invalid user user from 88.191.116.104
Dec 17 09:04:47 mail sshd[14852]: Invalid user user from 88.191.116.104
Dec 17 09:04:50 mail sshd[14854]: Invalid user user from 88.191.116.104
Dec 17 09:04:53 mail sshd[14856]: Invalid user amanda from 88.191.116.104
Dec 17 09:04:56 mail sshd[14858]: Invalid user amanda from 88.191.116.104
Dec 17 09:04:59 mail sshd[14865]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:02 mail sshd[14869]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:05 mail sshd[14877]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:08 mail sshd[14879]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:11 mail sshd[14881]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:14 mail sshd[14886]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:17 mail sshd[14888]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:20 mail sshd[14890]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:23 mail sshd[15085]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:26 mail sshd[15089]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:29 mail sshd[15091]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:32 mail sshd[15097]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:34 mail sshd[15103]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:37 mail sshd[15105]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:40 mail sshd[15108]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:43 mail sshd[15110]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:46 mail sshd[15115]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:49 mail sshd[15117]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:52 mail sshd[15120]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:55 mail sshd[15122]: Invalid user amanda from 88.191.116.104
Dec 17 09:05:58 mail sshd[15124]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:01 mail sshd[15126]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:04 mail sshd[15206]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:07 mail sshd[15274]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:10 mail sshd[15407]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:13 mail sshd[15466]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:16 mail sshd[15472]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:19 mail sshd[15474]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:21 mail sshd[15476]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:24 mail sshd[15672]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:27 mail sshd[15676]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:30 mail sshd[15679]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:33 mail sshd[15685]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:36 mail sshd[15687]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:39 mail sshd[15689]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:42 mail sshd[15691]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:45 mail sshd[15696]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:48 mail sshd[15698]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:52 mail sshd[15700]: Invalid user amanda from 88.191.116.104
Dec 17 09:06:55 mail sshd[15702]: Invalid user amanda1 from 88.191.116.104
Dec 17 09:06:58 mail sshd[15704]: Invalid user amanda2 from 88.191.116.104
Dec 17 09:07:01 mail sshd[15706]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:04 mail sshd[15712]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:06 mail sshd[15714]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:09 mail sshd[15723]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:12 mail sshd[15728]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:15 mail sshd[15735]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:18 mail sshd[15739]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:21 mail sshd[15741]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:24 mail sshd[15743]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:27 mail sshd[15937]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:30 mail sshd[15939]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:33 mail sshd[15945]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:36 mail sshd[15947]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:39 mail sshd[15949]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:42 mail sshd[15954]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:44 mail sshd[15959]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:47 mail sshd[15966]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:50 mail sshd[15971]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:53 mail sshd[16008]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:56 mail sshd[16010]: Invalid user cyrus from 88.191.116.104
Dec 17 09:07:59 mail sshd[16012]: Invalid user cyrus from 88.191.116.104
Dec 17 09:08:02 mail sshd[16017]: Invalid user cyrus from 88.191.116.104
Dec 17 09:08:05 mail sshd[16098]: Invalid user cyrus from 88.191.116.104
Dec 17 09:08:08 mail sshd[16158]: Invalid user eric from 88.191.116.104
Dec 17 09:08:10 mail sshd[16286]: Invalid user eric from 88.191.116.104
Dec 17 09:08:13 mail sshd[16353]: Invalid user eric from 88.191.116.104
Dec 17 09:08:16 mail sshd[16359]: Invalid user eric from 88.191.116.104
Dec 17 09:08:19 mail sshd[16362]: Invalid user eric from 88.191.116.104
Dec 17 09:08:22 mail sshd[16364]: Invalid user eric from 88.191.116.104
Dec 17 09:08:25 mail sshd[16368]: Invalid user eric from 88.191.116.104
Dec 17 09:08:28 mail sshd[16527]: Invalid user eric from 88.191.116.104
Dec 17 09:08:31 mail sshd[16563]: Invalid user eric from 88.191.116.104
Dec 17 09:08:34 mail sshd[16570]: Invalid user eric from 88.191.116.104
Dec 17 09:08:37 mail sshd[16572]: Invalid user eric from 88.191.116.104
Dec 17 09:08:40 mail sshd[16574]: Invalid user eric from 88.191.116.104
Dec 17 09:08:43 mail sshd[16576]: Invalid user eric from 88.191.116.104
Dec 17 09:08:46 mail sshd[16581]: Invalid user eric from 88.191.116.104
Dec 17 09:08:49 mail sshd[16583]: Invalid user eric from 88.191.116.104
Dec 17 09:08:51 mail sshd[16585]: Invalid user eric from 88.191.116.104
Dec 17 09:08:54 mail sshd[16587]: Invalid user eric from 88.191.116.104
Dec 17 09:08:57 mail sshd[16589]: Invalid user eric from 88.191.116.104
Dec 17 09:09:00 mail sshd[16591]: Invalid user eric from 88.191.116.104
Dec 17 09:09:03 mail sshd[16597]: Invalid user eric from 88.191.116.104
Dec 17 09:09:06 mail sshd[16599]: Invalid user eric from 88.191.116.104
Dec 17 09:09:09 mail sshd[16601]: Invalid user eric from 88.191.116.104
Dec 17 09:09:12 mail sshd[16603]: Invalid user eric from 88.191.116.104
Dec 17 09:09:15 mail sshd[16609]: Invalid user eric from 88.191.116.104
Dec 17 09:09:18 mail sshd[16612]: Invalid user eric from 88.191.116.104
Dec 17 09:09:21 mail sshd[16619]: Invalid user eric from 88.191.116.104
Dec 17 09:09:24 mail sshd[16622]: Invalid user eric from 88.191.116.104
Dec 17 09:09:27 mail sshd[16624]: Invalid user eric from 88.191.116.104
Dec 17 09:09:30 mail sshd[16744]: Invalid user eric from 88.191.116.104
Dec 17 09:09:32 mail sshd[16823]: Invalid user eric from 88.191.116.104
Dec 17 09:09:35 mail sshd[16826]: Invalid user eric from 88.191.116.104
Dec 17 09:09:38 mail sshd[16828]: Invalid user eric from 88.191.116.104
Dec 17 09:09:41 mail sshd[16830]: Invalid user eric from 88.191.116.104
Dec 17 09:09:44 mail sshd[16835]: Invalid user eric from 88.191.116.104
Dec 17 09:09:47 mail sshd[16837]: Invalid user eric1 from 88.191.116.104
Dec 17 09:09:50 mail sshd[16839]: Invalid user eric2 from 88.191.116.104
Dec 17 09:09:53 mail sshd[16841]: Invalid user patrick from 88.191.116.104
Dec 17 09:09:56 mail sshd[16844]: Invalid user patrick from 88.191.116.104
Dec 17 09:09:59 mail sshd[16846]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:02 mail sshd[16848]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:05 mail sshd[16943]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:08 mail sshd[17109]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:11 mail sshd[17119]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:14 mail sshd[17125]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:17 mail sshd[17318]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:20 mail sshd[17320]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:23 mail sshd[17322]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:26 mail sshd[17329]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:29 mail sshd[17332]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:31 mail sshd[17438]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:34 mail sshd[17534]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:37 mail sshd[17536]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:40 mail sshd[17538]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:43 mail sshd[17540]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:46 mail sshd[17545]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:49 mail sshd[17547]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:52 mail sshd[17549]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:55 mail sshd[17551]: Invalid user patrick from 88.191.116.104
Dec 17 09:10:58 mail sshd[17553]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:01 mail sshd[17555]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:04 mail sshd[17562]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:06 mail sshd[17564]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:09 mail sshd[17566]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:12 mail sshd[17568]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:15 mail sshd[17574]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:18 mail sshd[17576]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:21 mail sshd[17578]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:24 mail sshd[17580]: Invalid user patrick from 88.191.116.104
Dec 17 09:11:27 mail sshd[17582]: Invalid user patrick1 from 88.191.116.104
Dec 17 09:11:30 mail sshd[17589]: Invalid user patrick2 from 88.191.116.104
Dec 17 09:11:33 mail sshd[17595]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:36 mail sshd[17789]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:38 mail sshd[17791]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:41 mail sshd[17794]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:44 mail sshd[17800]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:47 mail sshd[17802]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:50 mail sshd[17804]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:53 mail sshd[17806]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:56 mail sshd[17808]: Invalid user sarah from 88.191.116.104
Dec 17 09:11:59 mail sshd[17810]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:02 mail sshd[17812]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:05 mail sshd[17890]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:08 mail sshd[17959]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:11 mail sshd[18122]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:14 mail sshd[18155]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:16 mail sshd[18161]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:19 mail sshd[18163]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:22 mail sshd[18165]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:25 mail sshd[18167]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:28 mail sshd[18171]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:31 mail sshd[18174]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:34 mail sshd[18185]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:37 mail sshd[18375]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:40 mail sshd[18383]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:43 mail sshd[18385]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:46 mail sshd[18390]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:49 mail sshd[18392]: Invalid user sarah from 88.191.116.104
Dec 17 09:12:52 mail sshd[18394]: Invalid user sarah from 88.191.116.104

When I realized that someone was doing something nasty, I changed some /etc/sshd_config security parameters and restarted the sshd service and made the attacker went to /dev/null

Here are some suggestions for sshd config:

  1. Change the default sshd port (22) to something else (>1024)
  2. Disable root login
  3. Limit login attempts
  4. Block the source IP that violate this rule (you can use Fail2Ban)
  5. Use complex password (combination of alphs, number, and special chars, more than 8 chars, not available in english dictionary)

I hope this kind of attack doesn’t happen anymore :)

Ticket incident

Pukul 23.15 kereta senja kediri dari malang tujuan jakarta tiba di stasiun tawang, semarang tadi malam, saya pun yang sejak pukul 22.00 menunggu di stasiun naik ke dalam kereta. Ada sedikit pemandangan yang berbeda di stasiun dan kereta kali ini. Jumlah orang yang ada di dalam peron jauh lebih sedikit dari hari biasanya. Hal ini karena peraturan baru PT. Kereta Api Indonesia (KAI) menerapkan peraturan bahwa selain penumpang tidak diijinkan masuk peron. Dengan kata lain tidak ada lagi penjualan tiket peron, dan pengantar serta penjemput pun tidak diijinkan masuk peron. Penumpang diijinkan masuk peron paling cepat 2 jam sebelum jadwal kedatangan kereta dan harus menunjukkan tiket di pintu masuk. Selain itu di dalam kereta, tidak ada lagi penumpang yang bertebaran di jalan (aisle) dan tidak pula ada yang berdiri, nongkrong di bordess, atau mengunci diri di toilet seperti biasanya :D . Hal ini karena KAI memang tidak lagi menjual tiket tanpa tempat duduk. Ketika semua kursi telah terjual, penjualan tiket dihentikan :)
Tidak berselang lama, terjadi perdebatan petugas kereta api (a.k.a PS) dengan penumpang di kursi depan asal Nganjuk. Di karcisnya tertulis tiket untuk tanggal 30 September 2009. Bapak itu berargumen bahwa ini kesalahan pada saat pencetakan karcis waktu pembelian. Akan tetapi PS menyatakan itu tidak mungkin, karena tiket itu dicetak secara computerized, dan menyatakan penumpang tadi menggunakan tiket yang sudah lama. Bapak itu diminta untuk membeli lagi tiket di stasiun tawang semarang.
Sebenarnya, ini bukan pertama kalinya saya melihat kesalahan tiket ini. Beberapa tahun yang lalu ada juga dua penumpang yang memiliki dua karcis dengan nomor gerbong dan kursi yang sama. Kalo tidak salah pada waktu itu, sepertinya disimpulkan akibat kesalahan pencetakan tiket oleh petugas loket.
Melanjutkan cerita tadi, akhirnya bapak tadi menyelesaikan urusan di luar kereta (mungkin dengan membayar denda). Bersamaan dengan itu, seorang ibu berjilbab duduk di samping saya yang kebetulan kosong. Beliau bercerita bahwa sebenarnya kursi yang ditempati oleh bapak tadi adalah nomor kursi miliknya. Namun karena beliau setiap minggu pulang-pergi Jakarta-Madiun, beliau mengalah ketika naik kereta dan akhirnya mencari tempat yang lain karena merasa hal ini sudah biasa baginya :( . Beliau pun tidak mengetahui bagaimana bisa PS bisa tau hal ini, padahal tidak ada pengecekan karcis di stasiun tawang.
Akhirnya, bapak yang tadi kembali naik ke atas kereta, ibu tadi beranjak dari kursi sebelah lalu diskusi sebentar dengan bapak tadi di bordess kereta. Sayup-sayup terdengar ibu tadi mempersilakan bapak itu untuk duduk di tempatnya. Namun bapak itu akhirnya tidur di sela-sela kursi dan ibu tadi kembali duduk di kursinya.
Ada yang bisa mengambil hikmahnya? Monggo, share disini :)

-dari dalam kereta-

Catatan tentang Stuxnet (Bagian 2: Instalasi hingga Sabotase)

Melanjutkan tulisan sebelumnya, saya lanjutkan dengan pembahasan instalasi sampai sabotase yang dilakukan oleh Stuxnet. Malware ini melakukan penyebaran (propagation) melalui beberapa cara yakni melalui jaringan (network propagation) dan penyimpan data portabel termasuk flash disk (removable drive propagation).

Penyebaran melalui jaringan dilakukan melalui:

  • Komunikasi dan update secara Peer-to-Peer (PC ke PC)
  • Infeksi WinCC machines via hardcoded database server password
  • Network Sharing
  • Print Spooler, yang telah diumumkan oleh Microsoft sebagai MS10-061 Zero-Day Vulnerability
  • Windows Server Service, yang telah diumumkan sebagai MS08-067 Vulnerability
Sedangkan pada removable disk, Stuxnet menciptakan file Autorun.inf yang palsu dan tersembunyi:

Lalu, Stuxnet menambahkan satu entry Open tambahan pada saat dilakukan klik kanan (sehingga terdapat dua menu Open  )

Read more of this post

Catatan tentang Stuxnet (Bagian 1: Target hingga Penyebaran)

Stuxnet, sebuah malware yang menjadi pembicaraan hangat di dunia computer security tampaknya masih menarik untuk didiskusikan. Pada kesempatan ini saya ingin sedikit menceritakan kembali mengenai virus ini sebagai tambahan pengetahuan dan bahan renungan untuk meningkatkan kewaspadaan kita pada ancaman di dunia cyber (cyber threat).

Saya awali dengan tujuan akhir dari serangan stuxnet ini (start from the end). Malware ini bertujuan untuk menjangkiti komputer/PC operator yang berisi software WinCC dan/atau SIMATIC Step7 produksi Siemens, software tersebut digunakan untuk mengoperasikan atau mengontrol perangkat Programmable Logic Control (PLC) via State Logic (STL) yang biasanya dipakai dalam Sistem Kontrol Industri - Industrial Control System (ICS). Hakikatnya, stuxnet akan membuat backdoor yang digunakan penjahat dari luar jaringan untuk mengendalikan PC operator. Kemudian memberi instruksi ilegal pada perangkat PLC untuk tujuan sabotase. Stuxnet tersebut juga mampu menyembunyikan instruksi dan kondisi PLC yang sebenarnya dari tampilan yang dilihat oleh operator sehingga instruksi ilegal dari luar tersebut tidak terdeteksi.

Karena WinCC dan Step7 beroperasi di atas sistem operasi berbasis Windows, maka praktis Stuxnet menyerang sistem operasi Windows, mencakup:

  • Windows 2000
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2008 R2

Lebih spesifik lagi, Stuxnet berjalan pada OS tersebut di atas pada versi 32-bit, dan tidak pada 64-bit (setidaknya belum sampai saat penelitian ini). Read more of this post