זוהי הפקודה rsyncrypto שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
rsyncrypto - הצפנה ידידותית ל-rsync
תַקצִיר
rsyncrypto [אפשרויות] srcfile dstfile קובץ מפתח מפתח
rsyncrypto [אפשרויות] -r srcdir dstdir keysdir מפתח
תיאור
דף מדריך זה מתעד את rsyncrypto פקודה.
rsyncrypto הוא כלי עזר שמצפין קובץ (או מבנה ספריות) באופן ש
מבטיח ששינויים מקומיים בקובץ הטקסט הפשוט יגרמו לשינויים מקומיים ב-
קובץ טקסט צופן. זה, בתורו, מבטיח את העשייה הזו rsync כדי לסנכרן את המוצפן
לקבצים למחשב אחר תהיה השפעה קטנה בלבד על rsyncהיעילות של.
rsyncrypto יצפין קבצים באמצעות צופן בלוק סימטרי (AES). כל קובץ מוצפן
באמצעות מפתח ייחודי. מפתח הקובץ מאוחסן בשני מקומות. האחד הוא ה"מפתח"קובץ, ו
השני נמצא בתוך הקובץ המוצפן עצמו. העותק השני מוצפן באמצעות RSA
מפתח ציבורי, שניתן לשתף עבור כל הקבצים המוצפנים.
פענוח הקובץ יכול להתבצע באחת משתי צורות:
חם פענוח
קובץ מפתח משמש לפענוח srcfile אל תוך dstfile.
קר פענוח
If קובץ מפתח הוא אבוד ו מפתח האם ה פְּרָטִי מפתח להצפנת RSA, חילוץ ו
לִיצוֹר קובץ מפתח מהמוצפן srcfile, וליצור את שניהם קובץ מפתח ו dstfile.
אם שניהם קובץ מפתח והמפתח הפרטי אינם זמינים, פענוח לא יכול להתבצע.
בדרך כלל, זה אומר שתרצה להעביר את הקבצים המוצפנים פנימה
בכל דרך (בטוח או לא בטוח, אבל כנראה rsync :), ושמור את קובץ הטקסט הפשוט, כמו
כמו גם קובץ המפתח, מאובטח. כל עוד שמרת את המפתח הפרטי של RSA, אתה יכול
לשחזר את שניהם.
פרמטרים
משמעות הפרמטרים תלויה בקיומו של -r ו -d דגלים.
srcfile or srcdir
זה המקור לפעולה. זה יהיה קובץ הטקסט הפשוט עבור
הצפנה, וקובץ הטקסט המוצפן לפענוח. אם ה -r ניתנת אפשרות,
srcdir היא הספרייה שממנה יש להצפין/לפענח קבצים. אחרת,
srcfile הוא הקובץ להצפנה/פענוח. בכל מקרה, src חייב להתקיים לפני
ריצה rsyncrypto.
dstfile or dstdir
דומה src, זהו יעד הפעולה. זה יהיה הטקסט הפשוט
להיווצר אם -d ניתן, או הקובץ המוצפן אחרת.
קובץ מפתח or keydir
הקובץ המחזיק את המפתח הסימטרי להצפנה, או ספרייה שבה
קבצי מפתח סימטריים נמצאים. אם מאוחר יותר, לקבצי המפתח יהיה אותו שם כמו
קבצי הטקסט הפשוט.
מפתח קובץ זה יכול להיות תעודת X509 המחזיקה מפתח ציבורי, או פורמט PEM
מפתח פרטי. המפתח הפרטי לעולם אינו נחוץ אלא אם כן נדרש פענוח קר.
ראה req(1) או x509(1) דפי מדריך למידע נוסף.
If dst לא קיים, הוא יווצר. הספרייה שבה היא אמורה להיווצר חייבת
קיים לפני הריצה rsyncrypto.
אם נמצא הצפנה, ומפתח סימטרי לקובץ, ישמשו אותם פרמטרים
עבור ההצפנה אלא אם כן --fr or --fk נעשה שימוש באפשרויות. אם זה המקרה, המפתח
הקובץ יוחלף בפרמטרים הנכונים.
אפשרויות
תוכניות אלה עוקבות אחר תחביר שורת הפקודה הרגיל של GNU, עם אפשרויות ארוכות שמתחילות ב
שני מקפים (`-').
-h, - עזרה
הצג סיכום של אפשרויות.
-V, --גִרְסָה
הדפס את מספר הגרסה הנוכחית.
-d, --פענוח
פענוח src אל תוך dst. התנהגות ברירת המחדל היא הצפנה src אל תוך dst, וליצור
קובץ מפתח אם הוא לא קיים.
-r, --שחזור
הצפנה/פענוח רקורסיבית של מבנה ספריות שלם. כל הקבצים תחת srcdir
יוצפנו לקבצים בעלי אותו שם ונתיב (כמעט, ראה --מְטוּפָּח) תחת
dstdir. אם עדיין לא שם, ייווצר קובץ מפתח עבור כל קובץ מתחת
keydir.
--רשימת קבצים
הארגומנט הראשון הוא מצביע לקובץ (או "-" עבור stdin) שיש לו רשימה של
קבצים לעיבוד. כל שם המסתיים ב-"/" נחשב לספרייה ב
מצב רקורסיבי, וכל שם אחר הוא שם קובץ. הטיעון השני הוא א
ספרייה שאליה מוצפנים הקבצים. --filelist ו-r הם הדדיים
בִּלעָדִי.
-c, -- השתנה
בדוק את ה-src ואת זמן שינוי היעד (ראה --modify-window) לפני
ביצוע הפעולה. אם הזמן שהשתנה זהה, נניח שהקבצים
הם גם זהים, ומדלגים על הפעולה. שימו לב שלא כמו rsync, גדלי הקבצים הם
לא השוו. הסיבה לכך היא שגודל הקובץ צפוי להשתנות במהלך
פעולת הצפנה (ובכך פענוח).
--סיכון-כותב
בדרך כלל, כאשר rsyncrypto כותב קובץ, הוא משתמש בשם זמני ומזיז את הקובץ
לשמה הסופי כאשר נעשה בהצלחה. זה משרת שתי מטרות. בְּמַהֲלָך
הצפנה, זה מונע את תחושת הביטחון הכוזבת שעלולה להתעורר במקרה של
הפרעה של rsyncrypto על ידי מניעת קובץ חלקי מלהיות נוכח (ובתוכו
במקרה של עדכון, על ידי שמירת הגיבוי הישן). זה גם מבטיח את ההפעלה מחדש
rsyncrypto יאפשר לו לזהות נכון אם הפעולה צריכה להיות
חוזר על עצמו. במהלך הפענוח, זה מונע החלפת קובץ עד שנהיה בטוחים
אנחנו יכולים לפענח את המקור שלו.
הבעיה העיקרית בגישה זו היא שאם הקובץ הנכתב גדול,
למערכת הקבצים צריך להיות מספיק מקום לשני עותקים שלה למשך הזמן של
המבצע. כמו כן, אם נשמרים קישורים קשיחים, התנהגות ברירת המחדל של rsyncrypto
ישבור את הקישור.
לפרט --סיכון-כותב כדי לגרום ל-rsyncrypto להחליף ישירות את הקובץ הקיים
באמצעות השם הסופי.
--modify-window=NUM
ישים רק כאשר -c בתוקף. כאשר משווים זמני שינוי קבצים, טפל
כזמני שינוי שווים כלומר NUM בהפרש של שניות. ערך ברירת המחדל הוא אפס.
אפשרות זו שימושית ביותר כאשר הקובץ המוצפן מאוחסן במערכת קבצים FAT.
FAT יכול לאחסן את זמן השינוי רק עם דיוק של 2 שניות. זה עלול לגרום ל
זמן השינוי המשתנה בין קובץ מקורי למוצפן. במקרה כזה,
--modify-window=1 יש להשתמש.
--export-changes=קובץ לוג
בכל פעם שמצפנה או מחיקה של קובץ, כתוב את שם הקובץ ל קובץ לוג. זֶה
מאפשר מעבר קובץ לוג ל rsync(1) באמצעות ה --כולל-מאת אפשרות rsync.
אפשרות זו שימושית בעיקר אם rsyncrypto משמש להצפין שוב ושוב ענק
עץ ספריות, ולאחר מכן שימוש ב-rsync כדי לסנכרן אותו מרחוק. השימוש בזה
אפשרות מאפשרת מיקוד rsync רק בקבצים שידוע שהשתנו,
במקום לשלוח את כל רשימת הקבצים למכשיר המרוחק, מה שהופך את
פעולת rsync מהירה יותר. יש לציין שגרסה 3 של rsync מתחילה את המציאות
העברת קבצים בזמן שהוא עדיין מעביר את רשימת הקבצים, מה שהופך את הביצועים
להרוויח מהאפשרות הזו פחות בולט.
בעת שימוש באפשרות זו בשילוב עם rsync, זכור זאת קובץ לוג is
מאופס לפני שנכתב לתוך. זה אומר שאם לא יש לפחות אחד
פעולת rsync מוצלחת לחלוטין עבור כל הפעלת rsyncrypto, היא כן
אפשרי שיהיו קבצים שהשתנו בדיסק על ידי הפעלה קודמת של
rsyncrypto, אך נכתבו על ידי קריאה מאוחרת יותר ואינם מופיעים ב-
הגרסה האחרונה של קובץ לוג. במילים אחרות, אם rsyncrypto מופעל יותר מפעם אחת
בין שתי קריאות מוצלחות לחלוטין של rsync, זה אפשרי עבור קובץ לוג
לא להיות שלם. השתמש זֶה אוֹפְּצִיָה at שֶׁלְךָ שֶׁלוֹ לְהִסְתָכֵּן!
מומלץ מאוד לשדרג לגרסה 3 ומעלה של rsync במקום
להסתמך על אפשרות זו.
-n, --name-encrypt=קובץ_תרגום
הצפין את שם הקובץ. אם אפשרות זו מצוינת, זה אומר ששמות הקבצים הם
מוצפן גם כן. זה נעשה על ידי שינוי שם הקובץ המוצפן ל-a
מחרוזת אקראית של תווים, ואחסון התרגום בקובץ שניתן בתור
פָּרָמֶטֶר. אם עובדים במצב רקורסיבי, קובץ זה נכלל גם באופן אוטומטי
בהצפנה, וניתן לו השם הקבוע "filemap". זה נעשה כך
פענוח של שמות הקבצים אפשרי כאשר המפתחות הסימטריים אובדים.
--ne-nesting=NUM
כאשר נעשה שימוש באפשרות --name-encrypt, כברירת מחדל, כל שמות הקבצים המעוותים הם
מאוחסן בספרייה אחת. בעת הצפנה של עצי ספרייה גדולים, זה יכול
לגרום לספריות גדולות למדי. שימוש ב---ne-nesting יפצל את הקבצים ל-sub
ספריות, לפי ביטים אקראיים שהם חלק משם הקובץ המוצפן. "נ"
הוא מספר הספריות שיש לקנן.
--trim=NUM
קבע כמה רמות ספרייה לחתוך מתחילת ה srcdir נתיב
בעת יצירת ספריות תחת dstdir. ערך ברירת המחדל הוא 1. ראה LA TRIM אוֹפְּצִיָה
לקבלת פרטים נוספים.
--לִמְחוֹק
במצב רקורסיבי, מחק קבצים וספריות תחת dstdir שלא קיימים
תחת srcdir.
--מחק-מפתחות
בעת מחיקת קבצים, מחק גם את המפתח הסימטרי ואת מיפוי שם הקובץ שלהם (אם
יָשִׂים). מתי בלבד --לִמְחוֹק משמש, המפתח הסימטרי ומיפוי הקבצים הם
נשמר, כך שאם הקובץ נוצר מחדש, הוא יהיה ניתן לסנכרון עם המקור
קוֹבֶץ. אפשרות זו מרמזת --לִמְחוֹק.
-bNUM --keybits=NUM
ציין את גודל המפתח של צופן הבלוק. עבור AES, אלה יכולים להיות 128, 192 או 256. שימו לב
כי אלא אם כן --fr or --fkP אפשרויות יש לו גם נָקוּב, זֶה יצטרך רק להשפיע על
קבצים ל אשר לא קובץ מפתח קיים.
--noatime=NUM
(רק בחלק מהפלטפורמות, בעיקר לינוקס). הפלטפורמה בדרך כלל עוקבת אחרי
מתי הגישה האחרונה לקבצים הייתה. מאז rsyncrypto משמש בדרך כלל לגיבוי,
הוא פותח את הקבצים שהוא מצפין עם אפשרות O_NOATIME, שהיא גרסה ספציפית ללינוקס
סיומת שאומרת למערכת לא לעדכן את זמן הגישה לקובץ. בעת הפתיחה
קובץ שבו תהליך הפתיחה אינו בבעלות בעל הקובץ, ניסיון לפתוח
הקובץ עם O_NOATIME יגרום לפתיחה להיכשל עם "הרשאה נדחתה".
NUM יכולה להיות אחת מהאפשרויות הבאות: 0 פירושו לא להשתמש ב-O_NOATIME בכלל. 1 (
ברירת מחדל) פירושה ניסיון להשתמש רק ב-O_NOATIME אם rsyncrypto חושב שזה לא יגרום
שגיאה שנדחתה. 2 פירושו להשתמש ב-O_NOATIME תמיד.
--ללא-מצב ארכיון
אל תנסה לשמר חותמות זמן. אפשרות זו אינה תואמת -c.
--gzip=נתיב
כברירת מחדל, rsyncrypto ידחוס את הטקסט הפשוט לפני הצפנתו. ב
כדי לא להפוך ל-rsync לא ידידותי בגלל הדחיסה, rsyncrypto יחפש
הנתיב עבור דוגמה של מופעלת דחיסת(1) שתומך ב --rsyncable אוֹפְּצִיָה. אם ה
ברירת המחדל של gzip של המערכת אינו תומך באפשרות זו (כל Debian והנגזרות, as
כמו גם כמה אחרים, תומכים בזה), השתמש באפשרות זו כדי לספר rsyncrypto להשתמש ב
מופע אחר של gzip. בספריית הבדיקות של המקור של rsyncrypto יש קובץ
שנקרא "gzip", שעושה דחיסה NULL על ידי הפניית הקלט והפלט אל
חתול(1).
--roll-win=NUM, --roll-min=NUM, ---roll-sensitivity=NUM
משפיע על אלגוריתם ה-Rolling Block. לִרְאוֹת אורים.
--fk, --fr
אם שורת הפקודה, או גרסה עם ברירות מחדל שונות, הכתיב ערכים שונים עבור
מה היא --גָלִיל-* אפשרויות או את -b אפשרות, אלה ישפיעו רק על קבצים שעבורם
קובץ מפתח עדיין לא קיים. מפרט את --fk or --fr ישחזר קובץ מפתח אם זה
יש ערכים שונים מאלה בקובץ המפתח הקודם.
-v, --מִלוּלִי
הגדל את רמת הדיבור. ציין מספר פעמים כדי להיות יותר מילולי.
אורים
הצפנה סטדין
If srcfile נתון בתור `-', נתוני הטקסט הפשוט יקראו מהסטדין. זה עדיין לא
לעבוד עבור דקומפרסיה (ראה באגים).
--roll-win=מספר, --גלגול-דקה=מספר, --רגישות לגלגול=מספר
ערכים אלה משפיעים על חלק מהפעולות הפנימיות של rsyncryptoקבלת ההחלטות של. ב
במיוחד, אלה משפיעים על איך rsyncrypto מחליט מתי לחזור ל-IV.
אסור לשחק עם אפשרויות אלו אלא אם כן אתה מבין מה אתה עושה. הם
לא מסוכן, בכך שהם לעולם לא יגרמו לאובדן נתונים. כל ערך עדיין צריך לאפשר
פענוח הקובץ. יש להם השפעה על rsyncהיעילות של.
אפשרויות אלו קיימות רק כדי לאפשר תגובה מהירה למקרה שתצוץ בעיית אבטחה
עם ערכי ברירת המחדל שלהם. אם זה יקרה, אולי ייצא ייעוץ שייתן ערכים חדשים
למלא כפתרון עוקף. עד שזה יקרה, מומלץ לרוב המשתמשים לעזוב את האפשרויות הללו
לבד.
LA TRIM אוֹפְּצִיָה
כשאתה רץ rsyncrypto במצב רקורסיבי, מבנה הספריות מתחת srcdir הוא מחדש-
נוצר תחת dstdir, עם ספריה אחת שהוסר מהנתיב. במילים אחרות, אם אנחנו
יש מבנה ספריות הכולל:
a/b/c/file
ריצה rsyncrypto עם srcdir של "a/b", ו dstdir של "f" ייצור "f/b/c/file".
השמיים --מְטוּפָּח אפשרויות מאפשרות למשתמש לומר מכמה חלקים לחתוך srcdir בעת יצירה
ספריות תחת dstdir ו keydir. אם, בדוגמה לעיל, אמרנו --מְטוּפָּח= 0 אז
"f/a/b/c/file" היה נוצר. כמו כן, אם אמרנו --מְטוּפָּח=2 ואז "f/c/file"
היה נוצר.
זו שגיאה לתת ערך חיתוך גבוה ממספר חלקי הספרייה
בעצם ב srcdir. בדוגמה למעלה, --מְטוּפָּח=3 יגרום לשגיאה.
אבטחה
ערכי הגליל משפיעים, במידה לא לגמרי ידועה, על כמה מידע "דולף"
בין טקסט רגיל לטקסט צופן. ערכי ברירת המחדל אמורים לדלוף פחות מ-20
פיסות מידע מצטבר על קובץ הטקסט הפשוט עבור כל 8KB, במקרה הגרוע.
ערכים אלה, אנו מקווים, ייחשבו בטוחים מספיק עבור רוב השימושים. עם זאת, אם שלך
גורלה של המדינה מונח על כף המאזניים, השתמש בהצפנה לא מותאמת ל-rsync, כמו זו שסופקה
by OpenSSL(1).
דוגמאות ו הדרכה
לפני שתתחיל להשתמש ב-rsyncrypto תצטרך מפתח ציבורי בפורמט אישור X509.
הדרך המהירה ביותר ליצור אחד מאלה היא שימוש ב- OpenSSL(1) חבילה. כדי ליצור א
מפתח RSA חדש של 1536 סיביות בתור "backup.key", ואחסן את המפתח הציבורי הלא מוצפן המתאים
ב-"backup.crt", השתמש בפקודה הבאה:
openssl req -nodes -newkey rsa:1536 -x509 -keyout backup.key -out backup.crt
זה לא משנה מה אתה עונה לפרטי התעודה, או מתי אתה מגדיר זאת
לָפוּג. Rsyncrypto מתעלם מכל מה שבתעודה מלבד המפתח בפועל.
כדי להצפין את הקובץ "נתונים" ל-"data.enc", אחסון המפתח הספציפי של הקובץ ב-"data.key",
לרוץ:
rsyncrypto data data.enc data.key backup.crt
בכל מקום בדוגמאות הללו שבו נעשה שימוש ב-"backup.crt", ניתן להשתמש גם ב-"backup.key".
האמור לעיל יכול להיות גם "backup.key" בתור הארגומנט האחרון. אם הדוגמאות האלה רשימות
"backup.key" באופן ספציפי, אז זה אומר ש"backup.crt" לא יכול לשמש במקום.
"data.enc" ייווצר. אם "data.key" קיים מהרצה קודמת, אז ה- newly
"data.enc" שנוצר יהיה בעל אותו מפתח סימטרי ותכונות אחרות, ובכך ישמור
הידידותיות ל-rsync של ההצפנה. לכן חשוב לספק כל הקודם
קובץ מפתח עבור הנתונים אם אחד זמין.
שורת הפקודה לפענוח הקובץ תלויה אם יש לך את קובץ המפתח בשימוש מתי
הקובץ הוצפן. אם תעשה זאת, פענוח יכול להתבצע באמצעות הציבור בלבד
מקש, עם הפקודה הבאה:
rsyncrypto -d data.enc data.dec data.key backup.crt
אם קובץ המפתח אבד, יש להשתמש במפתח הפרטי כדי לשחזר אותו מהמוצפן
קובץ באמצעות הפקודה הבאה:
rsyncrypto -d data.enc data.dec data.key backup.key
"data.key" ייווצר על ידי הפקודה לעיל, כמו גם "data.dec".
השימוש ב-rsyncrypto להצפנת ספריות שלמות דומה, כאשר שמות ספריות מחליפים
שמות קבצים בדוגמה לעיל. כדי להצפין את התוכן של ספרייה בשם "נתונים" ל-a
ספרייה שנקראת "enc", מאחסנת את המפתחות הסימטריים בספריה בשם "מפתחות", הפעל את
הפקודה הבאה:
מפתחות rsyncrypto -r data enc backup.crt
כמו בעבר הספריות "enc" ו-"keys" ייווצרו אם הם לא קיימים כבר.
מבנה הספריות תחת "רגיל" ישוכפל תחת "enc" ותחת "מפתחות".
כלומר, אם יש קובץ שנקרא "foo" תחת "נתונים", קובץ מוצפן שנקרא "foo"
ייווצר תחת "enc", וקובץ מפתח בשם "foo" ייווצר תחת "מפתחות". ב
במילים אחרות, החלק הראשון של הנתיב ל-"data/foo" (החלק שאומר "data") הוא
הוסר מהנתיב, וזה קובע את שם הקבצים תחת "enc" ו
"מפתחות".
אם נדרש חיתוך אחר, ניתן להשתמש באפשרות --trim. יש rsyncrypto
צור "enc/data/foo" במקום האמור לעיל, השתמש בפקודה הבאה:
rsyncrypto -r --trim=0 data enc keys backup.crt
במקום לקחת את כל הקבצים מספרייה אחת, אפשר לספק rsyncrypto
עם רשימה של קבצים וספריות להצפין. זה נעשה באמצעות --filelist
אפשרות, כך:
rsyncrypto --filelist --trim=0 רשימת מפתחות enc backup.crt
"enc" ו-"keys" שומרים על אותה משמעות כמו קודם. "רשימה" הוא קובץ טקסט עם רשימה, אחת
לכל שורה, של קבצים להצפנה. האפשרות --trim=0 אומרת שאם רשימה מכילה שורה
אומר "/home/foo/bar" שמציין את שם הקובץ, ואז נקרא קובץ מוצפן
"enc/home/foo/bar" ייווצר. בלעדיו, הקובץ ייקרא "enc/foo/bar".
באופן דומה, עם --trim=2, הקובץ ייווצר בתור "enc/bar".
לעתים קרובות יש בעיה ששמות הקבצים אינם מוצפנים. אם זה המקרה, אנחנו יכולים
בקש מ-rsyncrypto להצפין את שמות הקבצים, כמו גם את הקבצים בפועל. Rsyncrypto לא
למעשה להצפין את שמות הקבצים. במקום זאת, הוא מחליף את שם הקובץ בפועל באקראי
סדרת דמויות. המיפוי בין שם הקובץ בפועל לשם המשובש הוא
מאוחסן בקובץ מיפוי.
rsyncrypto --name-encrypt=map --trim=0 -r מפתחות enc רגילים backup.crt
זה יצפין את מבנה הספריות ה"רגיל" ל-enc, בדיוק כמו קודם. בניגוד
לפני כן, כל הקבצים יהיו ישירות תחת ספריית "enc", וייקראו בשם a
גיבוש חסר משמעות. קובץ בשם "מפה" ייווצר תחת הספרייה הנוכחית
מכיל מפה בין הגמלון לשם האמיתי של הקובץ. בנוסף, שני קבצים,
ייווצרו גם הם "enc/filemap" ו-"keys/filemap". אלה הם המוצפנים ו
קובץ מפתח המתאים לקובץ "מפה" שהוזכר לעיל. במהלך הפענוח, אם "מפה" עושה זאת
לא קיים, הוא ייווצר על ידי פענוח "enc/filemap".
חָשׁוּב הערות: בעת ביצוע הצפנת שם קובץ, חשוב מאוד לתת את
נכון ערכי --trim, הן במהלך ההצפנה והן במהלך הפענוח. אם לא יעשה זאת
לגרום ל-rsyncrypto לחפש שמות קבצים לא קיימים, ולא לאתר את הקבצים
לפענח.
השתמש ב-rsyncrypto באינטרנט באמצעות שירותי onworks.net