Mengambil potongan setelah kehilangan admin Linux [ditutup]

8

Jadi admin Linux kami meninggalkan proyek kami dan tiba-tiba saya (pembuat kode web dengan pengetahuan dasar linux / server) bertanggung jawab atas server khusus kami (Server Ubuntu) terutama menjalankan situs web (apache / mysql / php) dan surat (Postfix). Admin kami bukan benar-benar admin Linux pro, melainkan seorang pria dengan pengetahuan Linux dasar yang menemukan hal-hal saat ia melanjutkan. Jadi saya mengharapkan konfigurasi yang funky, layanan tidak aman, dll.

Pertanyaan saya adalah:

  1. Bagaimana cara saya melakukan "audit" server untuk mengetahui keadaan saat ini, untuk memastikan semuanya terkonfigurasi dengan benar, bahwa tidak ada akun pengguna yang tidak perlu, bahwa kami tidak menjalankan layanan yang tidak perlu, dll, dll.

  2. Saya tidak yakin tentang cara mencadangkan situs web produksi kami. Selain file CMS dan db yang sebenarnya, ada konfigurasi apache, database email, dan banyak lagi yang perlu dicadangkan. Adakah saran tentang cara mengotomatisasi ini?

  3. Apa tugas sehari-hari paling penting dari admin linux yang benar-benar harus saya lakukan? Pertanyaan besar, saya tahu.


sumber
Apa yang Anda maksud dengan konfigurasi "funky"? Ketika generasi saya menggunakan kata itu berarti ada sesuatu yang baik.
John Gardeniers

Jawaban:

11

Wow. Mulai dari mana.

Inilah yang akan saya lakukan tetapi mudah-mudahan orang lain akan melompat dengan lebih banyak saran / lebih baik.

Pertama jangan panik. Saya berasumsi Anda sekarang root. Anda saat ini ancaman paling berbahaya ke server saat ini karena Anda memiliki banyak kekuatan dan tidak tahu apa yang harus dilakukan dengan itu.

Tuliskan layanan apa yang harus dijalankan server. Anda tahu apache, mysql, dan postfix diperlukan. Saya kira Anda mungkin memiliki server ftp di sana dan Anda dapat ssh sehingga Anda perlu menjalankan sshd. Tuliskan layanan apa yang diinstal. Cara tercepat untuk mengetahuinya mungkin dengan mendaftar /etc/init.d/*. Anda kemudian perlu mencari tahu apa yang sedang berjalan. Saya tidak tahu apa yang setara dengan Red Hat chkconfig, tetapi jika gagal, ps -ef alternatif akan mencantumkan proses apa yang sedang berjalan. Juga cari tahu apakah firewall diinstal (seperti iptables) dan bagaimana konfigurasinya.

Selanjutnya dapatkan daftar semua cronjobs yang dijalankan. Anda mungkin tidak perlu terlalu khawatir tentang apa yang mereka lakukan segera tetapi Anda harus memiliki gambaran umum tentang apa yang dilakukan server pada waktu yang berbeda.

Sekali lagi saya akan menuliskan semua ini.

Sekarang tulis siapa yang harus memiliki akses ke server dan siapa yang diizinkan memiliki akses root. Dapatkan daftar pengguna yang memiliki akun dari / etc / passwd.

Lakukan hal serupa untuk akses FTP, dan layanan lain jika relevan seperti Subversion atau koneksi MySQL jarak jauh.

Sekarang Anda tahu lebih banyak tentang apa yang server Anda lakukan dan siapa yang dapat mengaksesnya, Anda harus beralih ke seberapa baik kinerjanya. Periksa file log di / var / log, terutama / var / log / pesan dan luangkan waktu mencari kesalahan.

Periksa apakah ada pembaruan luar biasa untuk dilakukan dengan menggunakan pembaruan apt & get && upgrade apt-get

Ketika diminta untuk memperbarui, pilih tidak untuk saat ini.

Sejauh ini Anda seharusnya tidak membuat perubahan.

Anda sekarang perlu meninjau informasi yang telah Anda kumpulkan dan memutuskan apa (jika ada) yang perlu diperbaiki. Prioritasnya adalah upaya cracking di /var/log/auth.log, mematikan layanan yang tidak diperlukan dan memperketat firewall.

Buat salinan dari semua file sebelum Anda mengeditnya dan sering-seringlah menguji perubahan sehingga Anda dapat dengan mudah mundur jika ada yang rusak.

Cadangan

Anda perlu memutuskan apa yang perlu dicadangkan. Kandidat yang jelas adalah basis data, / home / / etc / / var / log / / var / spool / cron / / var / www / dan skrip khusus yang dipanggil oleh crontab. Kemudian kebanyakan orang menulis skrip shell untuk membuat cadangan ini secara lokal dan kemudian menggunakan sesuatu seperti rsync untuk menyalin file ke drive USB mesin lain.

Tugas sehari-hari akan mencakup, memeriksa file log untuk masalah apa pun (periksa logwatch untuk membantu Anda), melakukan pembaruan keamanan, memeriksa cadangan, dan meneruskan pengaturan pemantauan seperti MRTG dan Nagios untuk akhirnya mengambil beban berat sebagai seorang admin .

Saya tidak akan terlalu khawatir. Ini mungkin tampak menakutkan tetapi itu karena Anda meminta semuanya sekaligus. Server mungkin baik-baik saja, perhatikan log dan terapkan pembaruan saat dirilis, rencanakan apa yang ingin Anda lakukan dan kerjakan, ambil langkah-langkah kecil dan cobalah untuk menikmatinya.

Richard Holloway
sumber
3
Sebelum melakukan hal lain, saya akan gambar dan / atau P2V pengisap itu.
Orangutech
+1 untuk mendapatkan snapshot saat ini. Tarball server melalui SSH atau rsync setidaknya.
Gerald Combs
1
Saat mengambil layanan apa yang diinstal, jalankan juga "dpkg -l> ~ / diinstal_software". Ini akan menulis daftar paket-paket yang diinstal melalui apt-get ke file bernama "mounted_software" di direktori home Anda. Periksa semua layanan yang berjalan yang tidak diinstal melalui apt-get. Admin yang lama mungkin belum menginstal server melalui apt-get, dan layanan tersebut harus diperbarui melalui cara lain selain "upgrade apt-get". Orang akan berpikir ini akan langka, tetapi tidak.
Dru
Saran lain yang cocok adalah untuk mendapatkan file konfigurasi di bawah beberapa bentuk kontrol versi. Kemudian ketika Anda membuat penyesuaian atau mengubah hal-hal yang sesuai dengan cara berpikir Anda, Anda dapat melacak perubahan itu dan melihat dengan tepat di mana Anda mengacau. Atau mungkin Anda beruntung, tapi itu saran yang bagus.
OldTroll
Semua ini adalah saran yang bagus. Selain hal di atas, saya akan menjalankan netstat -tanp dan / atau -anp untuk menampilkan detail tentang koneksi yang aktif dan mendengarkan dan proses yang terkait.
nedm
5

Beberapa hal untuk Anda mulai:

  1. dapatkan seseorang yang telah melakukan audit semacam itu - atau setidaknya memiliki beberapa pengetahuan tentang kesulitan umum dalam memelihara server. Serius - itu terbayar.

  2. Cadangkan sebaik mungkin dan cobalah untuk merekonstruksi server cadangan - mungkin merupakan contoh virtual di suatu tempat - sampai Anda yakin bahwa a) Anda telah mencadangkan semua hal penting dan b) Anda dapat merekonstruksi server cadangan dari cadangan Anda dalam waktu sesingkat yang Anda inginkan. Untuk menambahkan karma: tukar server produksi saat ini dengan server cadangan Anda. Selama Anda belum menunjukkan bahwa Anda dapat merekonstruksi dari cadangan Anda, bertindaklah seolah-olah Anda tidak memilikinya.

  3. Perbarui, baca pemberitahuan keamanan, awasi logfile dan otomasi heck keluar dari ini setelah Anda tahu apa yang harus dicari.

Olaf
sumber
3
+1 untuk menemukan seseorang yang tahu apa yang mereka lakukan. Akan lebih murah dalam jangka panjang.
David Mackintosh
1
+1 untuk hal yang sama, tetapi saya akan melangkah lebih jauh dan menyarankan agar seseorang yang terbukti lebih ahli untuk memastikan keseluruhan sistem dalam keadaan yang sesuai. Sistem live bukan tempat untuk belajar cukup banyak dari awal.
John Gardeniers
sepenuhnya setuju, tetapi karena sistemnya sudah hidup, saya kira tidak ada jalan lain untuk belajar tentang sistem yang hidup.
Olaf
1

Untuk lebih mudah menangani file log, Anda dapat mempertimbangkan untuk menginstal (atau mengaktifkan..Aku tidak tahu apakah ubuntu memiliki ini dalam instalasi default) LOGWATCH. Sangat bagus untuk memberi Anda ringkasan yang dikirim ke email setiap hari. Biasanya mengambil beberapa hal yang funky yang mungkin tidak terungkap oleh tatapan @ konfigurasi.


sumber
1

Jika Anda menghargai server Anda dan datanya dapatkan bantuan. Dapatkan seseorang untuk mengauditnya.

Jika Anda tidak tahu seperti apa "benar" itu maka mungkin sulit untuk menemukan di mana ada sesuatu yang "salah" (atau seperti yang Anda katakan "funky"). Setelah seseorang server berada dalam kondisi baik yang dikenal.

Menggunakan sesuatu seperti VMWare Converter untuk membuat VM panggung server adalah ide yang HEBAT , Anda harus melihatnya.

Anda kemudian dapat melihat-lihat VM pementasan (salinan server) dan mencoba untuk melakukan setiap hal yang Anda diminta lakukan pada server pementasan VM terlebih dahulu sebelum server Produksi.

JamesBarnett
sumber
0

Setelah melakukan apa yang dikatakan Richard Holloway; kemudian lakukan pemindaian jaringan sistem untuk memeriksa layanan apa yang disediakan oleh server dan periksa ini terhadap data yang Anda miliki sejauh ini. Dimungkinkan untuk melakukan hal-hal yang sangat menarik dengan linux yang sulit ditemukan hanya dengan melihat log.

Saya sarankan menggunakan Zenmap dari sistem lain di jaringan yang sama dan mendapatkan izin apa pun yang Anda butuhkan dari bos Anda terlebih dahulu. Zenmap mudah dipasang, adalah / memiliki GUI dan tidak mencoba mengeksploitasi apa pun yang ditemukan.

Dru
sumber