พวกเราที่ดูแลเซิร์ฟเวอร์จะต้องควบคุมทุกสิ่งที่เกิดขึ้นบนเซิร์ฟเวอร์อย่างเข้มงวดที่สุดสิ่งหนึ่งที่เรามักต้องรู้คือเมื่อผู้ใช้เชื่อมต่อผ่าน SSH (รวมรูท) สำหรับสิ่งนี้ด้วยแพ็คเกจและสาย จะเข้าถึงการแจ้งเตือนทางอีเมลของเรา
คุณนึกภาพออกไหมว่าทุกครั้งที่มีคนเชื่อมต่อผ่าน SSH ด้วยรูทจะได้รับอีเมลที่ระบุว่า?
กล่าวอีกนัยหนึ่งก็คือพวกเขาจะได้รับอีเมลที่มีข้อความดังนี้:
[miserver] การแจ้งเตือน: การเข้าถึง Root Terminal เมื่อ: 2014/01/21 (200.55.51.151)
นั่นคือ:
[$ NOMBRE_VPS] การแจ้งเตือน: การเข้าถึง Root Terminal เมื่อ: $ DATE ($ IP_DE_WHO_S_CONNECT)
เพื่อให้บรรลุสิ่งนี้ก่อนอื่นต้องติดตั้งแพ็คเกจที่เรียกว่า mailx.
สมมติว่าเซิร์ฟเวอร์ของคุณใช้ Debian หรือ distro บางตัว (ขอแนะนำเฉพาะ Debian ไม่ใช่ Ubuntu หรือเซิร์ฟเวอร์ที่คล้ายกัน) จะเป็น:
apt-get install mailx
จากนั้นเราต้องใส่บรรทัดต่อไปนี้ในรูท. bashrc:
echo 'ALERTA - Acceso a Terminal de Root en:' `hostname` 'el:' `date +'%Y/%m/%d'` `who | grep -v localhost` | mail -s "[ `hostname` ] Alerta: Acceso a Terminal de Root el: `date +'%Y/%m/%d'` `who | grep -v localhost | awk {'print $5'}`" mi@email.com
ในการแก้ไข /root/.bashrc ให้ใช้ตัวแก้ไขบางตัวในเทอร์มินัลเช่น nano:
nano /root/.bashrc
หลังจากใส่ (ที่ใดก็ได้ในไฟล์) บรรทัดที่ฉันใส่ไว้ก่อนหน้านี้เราจะบันทึกไฟล์ด้วย Ctrl + O (หรือแบก) และเราทิ้งมันไว้ด้วย Ctrl + X
พร้อมทุกครั้งที่มีคนเข้าสู่รูทเทอร์มินัลไฟล์. bashrc จะถูกโหลดซึ่งเป็นสิ่งที่ทำโดยค่าเริ่มต้นเสมอและเมื่อโหลดไฟล์เสร็จแล้วบรรทัดที่ส่งอีเมลจะถูกดำเนินการโดยปล่อยบางสิ่งไว้ในกล่องจดหมาย เช่น:
คำอธิบายของบรรทัดเป็นสิ่งที่ง่ายมาก:
- ผ่าน mailx ฉันส่งจดหมายโดยมีพารามิเตอร์ -s « _____ »ฉันระบุหัวเรื่องและส่งต่อด้วยเสียงสะท้อน« ____ »และต่อท่อเนื้อหาของเนื้อหา
- "ชื่อโฮสต์" ด้วยสิ่งนี้ฉันได้รับชื่อโฮสต์หรือชื่อโฮสต์นั่นคือชื่อของ VPS
- `date + '% Y /% m /% d'` คำสั่ง date จะแสดงวันที่ของระบบส่วนที่เหลือของตัวอักษรจะระบุว่าฉันต้องการให้แสดงวันที่อย่างไร
- ใคร | grep -v localhost` หากคุณเรียกใช้ใครในคอมพิวเตอร์ของคุณมันจะแสดงผู้ใช้ที่ใช้งานอยู่ด้วย grep -v localhost ฉันแน่ใจว่ามันจะแสดงเฉพาะผู้ที่เชื่อมต่อจากตำแหน่งอื่นไปยังเซิร์ฟเวอร์เท่านั้นนั่นคือโดยพื้นฐานแล้ว สสส
- `ใคร | grep -v localhost | awk {'print $ 5'} `สิ่งที่ทำให้บรรทัดนี้แตกต่างจากบรรทัดก่อนหน้าคือ awk ผ่าน awk และการพิมพ์คอลัมน์ที่ 5 คือฉันได้รับ IP จากที่ที่พวกเขาเชื่อมต่อกับ SSH
อย่างไรก็ตามบรรทัดค่อนข้างยาวและอาจดูซับซ้อนในการทำความเข้าใจอย่างไรก็ตามมีอักขระแปลก ๆ มากมาย แต่ทุกอย่างค่อนข้างเรียบง่าย🙂
เช่นเคยฉันหวังว่าคุณจะสนใจ
ความนับถือ
คำถามส่งเมลเซิร์ฟเวอร์ใด คุณต้องกำหนดค่าบัญชีการจัดส่งหรือไม่?
คุณต้องติดตั้งแพ็คเกจ mailx 😉
เมื่อเสร็จแล้วระบบจะส่งโดยไม่จำเป็นต้องกำหนดค่าอื่นใดบนเซิร์ฟเวอร์
ฉันจะลองดู แต่ฉันคิดว่าอีเมลของฉันจะไม่ยอมรับการรับอีเมลจากแหล่งที่ไม่ได้รับการรับรอง ...
ฉันใช้ exim4 กับบัญชี 'gmail' เพื่อส่งอีเมลและใช้งานได้ดี
- ยกเว้นส่วนหัว FROM TO และ REPLY TO ซึ่ง gmail ใส่สิ่งที่ต้องการ แต่มาถึงได้ดี -
ในการกำหนดค่า gmail ด้วย exim4 ให้ใช้ข้อมูลนี้:
http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/
น่าสนใจขอบคุณมาก🙂
เพื่อน @ KZKG ^ กาอาระฉันได้ติดตั้งแพ็คเกจและได้ทำคู่มือทีละขั้นตอนสิ่งเดียวที่เมื่อฉันส่งไปฉันมีไปรษณีย์ท้องถิ่นฉันไม่เคยออกไปข้างนอกคุณช่วยฉันด้วยได้ไหม ?? ……ดี ฉันต้องการชุดรูปแบบนี้จริงๆที่กำหนดค่าบนเซิร์ฟเวอร์ของฉัน salu2s
ตาม IP ของคุณฉันถือว่าคุณมาจากประเทศเดียวกัน😉
"ปัญหา" กับเครือข่ายของเราแทบจะไม่มี IP จริงเลยนั่นคือเราถูกซับเน็ตภายใต้เครือข่ายพร็อกซีของกระทรวงหรืออะไรทำนองนั้น กล่าวอีกนัยหนึ่งอาจเป็นปัญหาคือเว็บเซิร์ฟเวอร์เพียงอย่างเดียวไม่สามารถรับอีเมลจากเครือข่ายหรืออะไรทำนองนั้นได้บางทีคุณอาจต้องการสิ่งนี้: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/
น่าสนใจและหากวางไว้ใน« / etc / profile »จะให้คำเตือนเมื่อผู้ใช้เชื่อมต่อหรือไม่
มันจำเป็นต้องพยายามมันไม่ได้เกิดขึ้นกับฉัน😀
เรียกฉันว่าหวาดระแวง แต่ใส่สคริปต์ที่คนแปลกหน้าแนะนำฉันในส่วนสำคัญของระบบของฉันที่ฉันเก็บรหัสผ่านบัญชีข้อมูลเช่นสูติบัตรเอกสารส่วนตัวและเอกสารการทำงาน (ซึ่งจะเปิดเผยลูกค้าของฉันด้วย) ฯลฯ ฯลฯ และสิ่งนั้น ยังหมายถึงการเปิดเผยบัญชีอีเมลของฉัน (!!!) ... ฉันคิดว่ามันเป็นสิ่งที่อันตราย
อันตรายของสคริปต์ที่นำเสนอนั้นแปรผกผันกับความเข้าใจของมัน
และสำหรับความหวาดระแวงให้หยุดการติดตั้งที่เก็บข้อมูลแบบไม่ใช้งานฟรีเนื่องจากอาจมีคนป้อนรหัสที่เป็นอันตรายซึ่งขโมยตะกร้าสินค้าของคุณไป
ฉันอธิบายว่าแต่ละส่วนของบรรทัดคำสั่งทำอะไรอย่างไรก็ตามหากคุณคิดว่าฉันหลอกลวงใครบางคนสคริปต์หรือคำสั่งอยู่ที่นั่นในโพสต์มันไม่มีรหัสลับหรือรหัสลับใด ๆ คุณสามารถตรวจสอบคำสั่งได้อย่างละเอียด ตามที่คุณต้องการหากคุณพบสิ่งที่น่าสงสัยโปรดแสดงความคิดเห็นที่นี่😉
เป็นที่ชื่นชม
น่าสนใจมาก.
บางทีไฟล์ ~ / .bashrc หรือ / etc / profile อาจไม่เหมาะสมที่สุดในกรณีที่เราเข้าถึงโดย SSH ด้วยผู้ใช้ปกติและรันคำสั่งเฉพาะในฐานะ root หรือถ้าเราส่งออก X11 จาก VPS ระยะไกลทุกครั้งที่เราเปิด xterm เราจะมีอีเมลใหม่
สำหรับการแฮ็ค mailx ฉันคิดว่าเราควรใช้ไฟล์ ~ / .ssh / rc (แต่ละคนสำหรับผู้ใช้แต่ละคน) หรือ / etc / ssh / sshrc
PostData: _NEVER_ เข้าถึงโดย SSH ในฐานะผู้ใช้รูท _NEVER_ เข้าถึงโดย SSH โดยใช้รหัสผ่าน _ALWAYS_ ใช้คีย์ส่วนตัว
น่าสนใจ→ ~ / .ssh / rc ฉันจะหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ขอบคุณ😀
สวัสดีติวเตอร์ที่ดีมาก!
คุณช่วยป้อนผ่าน ssh จาก ip ใด ๆ นอกเครือข่ายท้องถิ่นได้ไหม
ขอบคุณ !!
สคริปต์นี้ใช้งานได้หากเซิร์ฟเวอร์เมลที่เราส่งไปไม่ได้ตรวจสอบว่าเมลต้นทางมาจากเซิร์ฟเวอร์ที่แท้จริงในกรณีนี้มาจาก root @ localhost เซิร์ฟเวอร์ส่วนใหญ่จะรับมันเป็นสแปม
สิ่งที่ฉันทำคือกำหนดค่า sendmail เป็น MTA จากนั้นใช้เมลที่อยู่ใน distros ทั้งหมดเพื่อส่งอีเมล
http://vidagnu.blogspot.com/2009/02/configurar-sendmail-como-cliente-de.html
ขอบคุณสำหรับเคล็ดลับที่ฉันจะนำไปทดสอบ:]
มีประโยชน์มากขอบคุณ
ขอบคุณล้านสำหรับคำแนะนำเพื่อน @ KZKG ^ กาอาระฉันจะดูที่ sendmail ฉันหวังว่าจะแก้ปัญหา salu2s
เยี่ยมมาก! ขอบคุณสำหรับข้อมูล!
และจะเกิดอะไรขึ้นถ้าตัวอย่างเช่นสคริปต์ส่งอีเมลมากเกินไปเช่นมีคนเข้ารูทเทอร์มินัลเวลา 8 น. และส่งอีเมลประมาณ 00 ฉบับจากนั้นมีคนเข้ามาในเวลาอื่นและมีการส่งอีเมลมากกว่า 40 ฉบับแล้วมีคนมา ในเวลาอื่นและมีการส่งอีเมลมากกว่า 23 ฉบับจะเป็นอย่างไร