
Nah, sekarang saatnya membuat Windows memperbarui teman-teman dengan dunia Open Source. Dalam artikel ini, kami mendiversifikasi kehidupan dengan mengintegrasikan Ansible dengan semua sumber pembaruan yang memungkinkan untuk mesin Windows. Meskipun kemampuan sistem jauh lebih luas daripada sekadar meluncurkan pembaruan ke server dan workstation, Anda harus memulai suatu tempat.
Pada saat yang sama, kami akan menyingkirkan ketidaknyamanan yang mengganggu dari WSUS jika Anda lebih suka "sekolah tua".
Kenapa kami tidak suka WSUS
Saya tidak akan berbicara tentang menyiapkan Layanan Pembaruan Server Windows, karena ini sepele. Fokus pada kontra.

Antarmuka WSUS tidak banyak berubah sepanjang sejarah.
Ketidakmampuan untuk menginstal sesuai permintaan . Memang, WSUS berfungsi dengan baik untuk operasi reguler - pembaruan mudah dikonfigurasikan dan diinstal pada jaringan lokal ketika komputer dimatikan. Tetapi jika Anda sangat perlu menginstal patch keamanan, Anda harus keluar dengan skrip dan solusi untuk menjalankan skrip ini. Materi kami " 1000 ++ cara untuk menjalankan perintah pada komputer jarak jauh " dapat membantu dengan ini.
Kurangnya cara reguler untuk menginstal pembaruan perangkat lunak pihak ketiga . Jika ada server pembaruan, maka tampaknya masuk akal untuk menggunakannya tidak hanya untuk pembaruan perangkat lunak MS, tetapi untuk solusi lain. Sebagai contoh, kerentanan tidak secara teratur ditemukan dalam Adobe Flash Player yang disebutkan di atas secara berkala, dan saya juga ingin menyenangkan pengguna dengan fitur FireFox baru. Untuk menginstal pembaruan melalui WSUS, Anda harus menggunakan solusi pihak ketiga seperti Penerbit Paket WSUS . Anda dapat melihat contoh konfigurasi dalam artikel " Menginstal perangkat lunak apa pun menggunakan WSUS - 2 ".
Menggunakan basis data Windows bawaan . Dalam instalasi standar, WSUS menggunakan WID - Windows Internal Database. Ini pada dasarnya adalah SQL Server tertanam kecil dengan database. Dalam hal terjadi malfungsi atau konflik - misalnya, jika Anda memiliki Remote Desktop Connection Broker dan WSUS di server yang sama - Anda harus memperbaiki database ini, mengkonfigurasi hak akses dan bersenang-senang dalam segala hal. Ya, dan cadangan tidak akan sakit. Untungnya, WSUS dapat menggunakan SQL klasik juga. Untuk memigrasi database WSUS, Anda dapat menggunakan instruksi Migrasi Database WSUS dari WID ke SQL dari Microsoft.
Kebutuhan layanan dan pengaturan klien gagal yang tidak jelas. Seperti halnya dengan produk Microsoft, cepat atau lambat, WSUS mulai melambat: pelanggan tidak bisa mendapatkannya untuk waktu yang lama dan mengunduh pembaruan. Kumpulan tips dan optimisasi dapat ditemukan di artikel " Mempercepat WSUS " dan dalam komentarnya.
Tentu saja, Anda dapat hidup dengan minus ini, tetapi Anda juga dapat membuat hidup Anda lebih mudah dengan alat-alat lain, menggunakan keduanya bersama dengan WSUS, dan tanpa itu.
Instal pembaruan menggunakan Ansible
Hampir semua sistem manajemen konfigurasi dapat memfasilitasi pekerjaan dengan pembaruan. Mari kita menganalisis contoh berdasarkan Kemungkinan untuk menginstal pembaruan sesuai permintaan.
Mengatur holivar, yang lebih baik dari sistem gratis - Ansible, Chef, Puppet atau bahkan Salt, tidak ada keinginan sedikit pun. Ansible dipilih karena kurangnya kebutuhan akan agen dan untuk kemudahan konfigurasi. Dan, tentu saja, karena Python: lagipula, bahasa ini jauh lebih mudah dipelajari untuk otomatisasi pemula, tidak seperti Ruby.
Perlu dicatat bahwa selain menyelesaikan masalah, akan sangat membantu jika Anda membiasakan diri dengan prinsip-prinsip pengoperasian sistem semacam itu. Kecuali, tentu saja, Anda belum bersenang-senang menginstal Streisand , terutama ketika ada sesuatu dalam proses yang salah. Dan jika Anda sudah menggunakan solusi yang mungkin atau modis lainnya, maka Anda dapat dengan mudah menginstal pembaruan. Saya merekomendasikan membaca dasar-dasar Ansible dalam artikel " Ansible Manual ", dan di bawah ini adalah instruksi langkah demi langkah untuk bekerja dengan pembaruan.
Pertama, siapkan server Ansible. Hampir semua distribusi GNU \ Linux akan dilakukan, tetapi saya akan memberikan contoh perintah untuk Ubuntu Server (seperti yang sudah lama terjadi).
Pertama, instal manajer paket untuk aplikasi Python:
apt-get install python-pip pip install --upgrade pip pip install --upgrade virtualenv
Maka kita perlu menginstal paket pywinrm untuk terhubung ke sistem Windows dan sistem Ansible secara langsung:
sudo pip install pywinrm sudo pip install ansible
Anda dapat memverifikasi instalasi menggunakan perintah --versi yang dimungkinkan .

Verifikasi pemasangan.
Alih-alih paket dalam teori pywinrm, Anda dapat menggunakan alat lain untuk mengelola Windows dari mesin Linux. Beberapa dari mereka dibahas dalam artikel " Penyerbukan silang: Mengelola Linux dari bawah Windows, dan sebaliknya ".
Sekarang Anda harus mengaktifkan koneksi ke Windows melalui WinRM. Untuk melakukan ini, ada skrip ConfigureRemotingForAnsible.ps1 siap pakai yang tersedia di GitHub . Nah, Anda sudah tahu cara menjalankan skrip di mesin jarak jauh.
Anda dapat memeriksa koneksi ke Windows dengan perintah:
ansible windows -m win_ping

Sambungan koneksi berhasil.
Sekarang Anda dapat mulai membuat buku pedoman. Fakta bahwa pengembang Ansible sudah memikirkan kami dan membuat modul win_updates , hanya untuk memecahkan masalah seperti itu, akan membuat hidup kita lebih mudah.
Playbook adalah "instruksi" yang memberi tahu sistem manajemen konfigurasi apa yang harus dilakukan. Langkah demi langkah, tentu saja.
Setiap buku pedoman adalah file yml dan merupakan satu set arahan - masing-masing modul memiliki sendiri. Modul winupdate memungkinkan Anda untuk menggunakan arahan berikut (nilai-nilai standar dicetak tebal):
Judul | Nilai | Deskripsi |
nama_kategori | Aplikasi Konektor CriticalUpdates Definisi Pembaruan Developerkits Paket istimewa Bimbingan SecurityUpdates Servicepack Alat UpdateRollups Pembaruan
| Kategori pembaruan. |
daftar putih | Perbarui nomor atau templat nama. | Jumlah pembaruan yang diinstal secara langsung adalah KB01234 atau pola nama ekspresi reguler PowerShell. |
daftar hitam | Perbarui nomor atau templat nama. | Secara langsung jumlah pembaruan yang tidak perlu diinstal, seperti KB01234 atau templat nama dalam bentuk ekspresi reguler PowerShell. |
reboot | iya tidak | Apakah reboot diperlukan setelah peningkatan? |
reboot_timeout | detik, 1200 | Apa waktu untuk menunggu mobil setelah reboot. |
negara | diinstal dicari | Apakah akan menginstal pembaruan, atau hanya mencari. |
log_path | jalur file | Log instalasi, dan folder harus ada. |
Dengan demikian, buku pedoman berikut ini cocok untuk menginstal pembaruan tertentu:
- name: Install specific updates based on the KBs for those updates win_updates: category_name: - SecurityUpdates whitelist: - KB4073819 - KB4074228
Dan jika Anda hanya perlu menghitung berapa banyak pembaruan yang hilang, playbook akan seperti ini:
– name: Check for missing updates win_updates: state=searched register: update_count
Untuk menginstal semua pembaruan yang tersedia, diikuti dengan reboot, akan ada playbook serupa:
- name: Install all critical and security updates win_updates: category_names: - CriticalUpdates - SecurityUpdates - UpdateRollups state: installed register: update_result - name: reboot host if required win_reboot: when: update_result.reboot_required
Biarkan saya mengingatkan Anda bahwa Anda memerlukan file inventaris untuk bekerja dengan daftar server. Sebagai contoh, ini:
[DCs] dc1.mydomain.local dc2.mydomain.local [AppServers] app1.mydomain.local app2.mydomain.local [DBServers] db1.mydomain.local db2.mydomain.local
Dan sekarang, untuk menginstal pembaruan hanya pada pengontrol domain, Anda dapat menggunakan playbook:
- hosts: DCs tasks: - name: Choose which Windows updates to install win_updates: category_names: - SecurityUpdates - CriticalUpdates - UpdateRollups
Tim yang akan melakukan semua operasi ini akan seperti ini:
ansible-playbook -i inventory.yml -s windowsupdates.yml
Pembaca yang penuh perhatian mungkin bertanya tentang sumber pembaruan yang diunduh. Sumbernya akan menjadi yang dikonfigurasi di komputer: apakah itu Pembaruan Windows di Internet atau WSUS lokal. Bahkan jika tangan Anda belum mencapai pengaturan WSUS, Anda dapat memberikan perintah untuk menginstal pembaruan mendesak yang diperlukan, terutama jika bagian-bagian Lego telah tumpah di bawah kaki Anda.
Tetap menambahkan bahwa itu tidak perlu untuk menggunakan Ansible persis. Misalnya, untuk sistem manajemen konfigurasi Chef, Anda dapat menggunakan Cooks Wsus Client atau boxstarter yang lebih canggih . Modul serupa ada untuk Wayang. Secara umum, hampir semua sistem manajemen konfigurasi dapat melakukan hal serupa, termasuk MS SCCM.
Akhirnya, saya akan memberikan beberapa alat lagi yang menarik minat saya.
Sistem dan solusi lainnya
WSUS offline . Program yang memungkinkan Anda mengunduh pembaruan yang diperlukan dalam satu paket, jika perlu, dapat dikemas dalam ISO. Anda juga dapat meletakkan paket di folder jaringan dan menginstal pembaruan dengan skrip, tanpa menggunakan WSUS penuh.
Manajemen Tambalan oleh Comodo. Sistem untuk menginstal pembaruan untuk Windows dan perangkat lunak lain. Tidak seperti solusi lain, ini gratis.

Antarmuka Comodo Patch Management.
Opsi . Sistem gratis dan menarik yang mendukung pemasangan tidak hanya pembaruan, tetapi juga sistem operasi, bersama inventaris.
BatchPatch . Satu-satunya sistem berbayar dalam daftar. Memungkinkan Anda menginstal perangkat lunak, memperbaruinya, seperti Windows, dan banyak lagi. Ini berbeda dalam desain old-school, juga dalam biaya bukan untuk jumlah host yang di-host, tetapi untuk pengguna program, yaitu administrator. Mungkin ini adalah salah satu dari sedikit solusi yang memposisikan diri sebagai analog WSUS. Harga mulai dari $ 400.

Antarmuka BatchPatch.
Di komentar, tambahkan alat favorit Anda untuk bekerja dengan pembaruan dan lainnya.