OpenBsd 7.5正式版
詳情介紹
OpenBsd是一款多平臺,基于4.4BSD的類UNIX的操作系統(tǒng),其是BSD衍生出的三種免費操作系統(tǒng)之一,被稱為世界上最安全的操作系統(tǒng)。OpenBsds包含一些在其他操作系統(tǒng)缺少或是選擇性的安全功能,它極度重視程式碼的品質,任何對核心的修改都需要經(jīng)過嚴格的程式碼審閱,它完全集成了密碼安全軟件可保證數(shù)據(jù)安全。OpenBsds可以再17種不同的硬件環(huán)境下運行(包含DEC Alpha、Intel i386、Hewlett-Packard PA-RISC和AMD64等),像FreeBSD和NetBSD一樣,OpenBSD也有很多應用軟件支持,它包含了許多免費軟件包的定制版本,它的軟件庫沒有FreeBSD中的那么大,但是包含了大多數(shù)你想給Unix服務器或者工作站安裝的工具。新版OpenBsds是目前做出最大改動的版本,其中加入了大量改進,包括硬件支持、通用網(wǎng)絡堆棧、安裝器、路由后臺、用戶層網(wǎng)絡和安全性,此外還有各種核心組件和包,涵蓋了Apache Web服務器、OpenSMTPD、OpenSSH、LibreSSL以及Syslogd。
二、輸入I進行安裝
1.進入Choose your keyboard layout(選擇鍵盤布局)選項,一般都為us,也可以輸入L列出鍵盤布局備選選項查看,然后選擇自己的鍵盤布局
2.進入Choose your keyboard layout(設置主機名)選項,這里設置為VM1
3.進入網(wǎng)絡配置部分,系統(tǒng)列出了當前全部的網(wǎng)卡,這里有兩個vic0和vlan0,其中vic0是我們虛擬機配置里那個采用橋接方式的那個網(wǎng)卡,選擇配置那一塊網(wǎng)卡,默認為vic0,回車
4.進入配置ipv4地址選項,默認是dhcp,我們采用靜態(tài)ip,輸入ipv4的地址:192.168.1.123回車,進入設置掩碼選項,默認為255.255.255.0,如不對,自己在后面填寫正確的掩碼,回車,不配置ipv6地址,默認none,回車
5.再一次進入選擇網(wǎng)卡進行配置的選項,如果有多個網(wǎng)卡,這里可以配置下一個,這里選擇done完成網(wǎng)卡配置,回車進入配置網(wǎng)關地址選項,填入19.168.1.1回車
6.進入設置dns域名的選項,如果公司有域名這里可以填寫如( openbsd.org或者baidu.com等)這里我填寫openbsd.org。那么我的機器將來的唯一標識則是主機名加上域名,即為:VM1.openbsd.org。填寫好回車,進入DNS解析服務器的ip地址,多個dns解析服務器的ip用逗號隔開,填寫:202.106.195.68。以上操作步驟如下圖:
三、回車,系統(tǒng)詢問還要進行其他的網(wǎng)絡配置嗎,默認NO回車,進入設置用戶密碼的選項,不回顯
1.連續(xù)輸入兩次?;剀?,系統(tǒng)詢問是否默認啟動sshd服務,默認為yes,建議選擇yes開啟ssh登陸
2.系統(tǒng)詢問是否默認啟動ntpd服務,這是個時間同步服務,可以開啟也可以不開啟,如果系統(tǒng)需要準確的時間,建議開啟以便和網(wǎng)絡上的時間服務器進行時間同步,默認為no,這里選擇不開啟
3.回車系統(tǒng)詢問是否期望運行X window系統(tǒng),默認為yes,這里可以選擇yes也可以選擇no,我這里選擇yes
4.回車系統(tǒng)詢問是否默認運行x window ,默認值為no,這里選擇默認值,即不啟動x window,回車系統(tǒng)詢問change the console to com0默認no即可
5.下一步系統(tǒng)讓新建用戶,這里不新建用戶選擇no即可
6.下一步,選擇時區(qū),可以輸入L查看備選選項,這里選擇Asia/Shanghai選項
7.下一步系統(tǒng)列出了當前可用的磁盤,如果有多快磁盤,選擇指定的磁盤回車,系統(tǒng)提示是否在/etc/fstab里面使用DUIDS替代默認的設備名稱,默認為yes即可
8.下一步系統(tǒng)提示是使用整個磁盤還是編輯MBR以使用部分磁盤,這里選擇Whole全部即可
四、下一步,系統(tǒng)會默認有一個分區(qū)方案,如果同意的話輸入A采用自動分區(qū)方案,或者輸入E編輯自動分區(qū)的方案或者輸入c采用自定義分區(qū)方案,這里我采用自定義分區(qū)方案,輸入c如圖
五、下一步進入自定義分區(qū),輸入?可以查看分區(qū)命令,分區(qū)編號可以是a到p的任何字母,但要注意,分區(qū)的時候,兩個分區(qū)號代表特殊意義,即 b代表交換分區(qū),c代表整個磁盤,所以添加第一個分區(qū) a a即可,添加交換分區(qū) a b ,不能使用a c,添加第三個分區(qū) a
六、offset是分區(qū)開始的地方,size是分區(qū)的大小,fs type默認即可,mount point填入掛載點。這里我給/分區(qū)分了10G的空間,交換分區(qū)分了1G空間,剩下29G分給了/opt分區(qū)
七、完成后,系統(tǒng)進入選擇安裝介質的選項,默認cd回車即可,選擇cd0,第一個光驅,回車,選擇路徑,默認即可。系統(tǒng)列出了都有哪些包可以安裝
八、取消選擇的包可以使用-包名的方式,如-game51.tgz,選擇一個包輸入報名回車即可,選擇好所要安裝的包后回車開始安裝openbsd系統(tǒng)
九、安裝完成后進入shell,為了使系統(tǒng)生效,我們需要重新啟動系統(tǒng),輸入reboot
十、重新啟動過程中,系統(tǒng)會生成rsa密鑰對等等,啟動完成后,如輸入root密碼進入系統(tǒng)
2、amd64:基于 AMD64 的系統(tǒng)
3、Cat:Strongarm 110 評估板 (Evaluation Board)
4、hp300:Hewlett-Packard HP 9000 系列的 300 和 400 工作站
5、HP/PA:Hewlett-Packard Precision Architecture (PA-RISC) 系統(tǒng)
6、i386:基于 Intel® i386 體系結構和兼容處理器的標準計算機
7、luna88k:Omron LUNA-88K 和 LUNA-88K2 工作站
8、mac68k:基于 Motorola 680x0 的帶 MMU 的 Apple Macintosh
9、macppc:從 iMac 開始,基于 Apple PowerPC 的計算機
10、mvme68k:基于 Motorola 680x0 的 VME 系統(tǒng)
11、mvme88k:基于 Motorola 881x0 的 VME 系統(tǒng)
12、SGI:基于 SGI MIPS 的工作站
13、SPARC:Sun sun4-、sun4c- 和 sun4m 級的 SPARC 系統(tǒng)
14、SPARC64:Sun UltraSPARC 系統(tǒng)
15、VAX:基于 Digital VAX 的系統(tǒng)
16、Zaurus:Sharp Zaurus C3x00 PDA
$ ftp https://stable.mtier.org/openup
$ chmod +x openup
$ sudo openup
===> Checking for openup update
===> Installing/updating binpatch(es)
===> Updating package(s)
二、保護裸機
OpenBSD缺省設置非常安全,沒有服務監(jiān)聽端口,除了SSH,SSH監(jiān)聽的是缺省22端口,可以設定服務器只接受來自你的計算機的公共地址,其他IP地址全部屏蔽
$ sudo vi /etc/pf.conf
block in quick from ! x.x.x.x # 這里是你的公共IP地址
pass out quick
改變完成后,通過下面命令激活:
$ sudo pfctl -f /etc/pf.conf
下面是創(chuàng)建SSH key,失效root登錄,使得SSH監(jiān)聽另外其他端口。首先是創(chuàng)建key,在Linux/BSD下客戶端下可以如下使用-t ed25519,如果是Windows客戶端,可以使用-t rsa
$ ssh-keygen -t ed25519
客戶端產(chǎn)生Key以后,拷貝這個公共key到~/.ssh/authorized_keys:
$ cp ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys
復制你的私有key到遠程服務器上,注意賦予600權限,設置正常后,可以通過下面命令連接正常:
ssh -i your_private_key your_server_ip
第二步是修改端口,端口號越高越避免掃描。
$ sudo vi /etc/ssh/sshd_config
# 修改缺省監(jiān)聽端口
Port 21598
# Authentication
PasswordAuthentication yes # temporary
PermitRootLogin no
AllowUsers YOUR_USER
AuthorizedKeysFile .ssh/authorized_keys
AllowTcpForwarding no
UsePrivilegeSeparation sandbox # Default for new installations.
Subsystem sftp /usr/libexec/sftp-server
重新啟動sshd:
$ sudo /etc/rc.d/sshd restart
再從客戶端連接服務器:"ssh -i your_private_key your_server_ip",如果一切正常,我們失效密碼登錄,修改/etc/ssh/sshd_config行:
PasswordAuthentication no
再重新啟動sshd,測試是否成功。下面我們配置ssh key以十進制hex格式連接,ASCII圖形方式:
$ sudo vi /etc/ssh/ssh_config
# Display fingerprint in hex and ASCII graphic when connecting
VisualHostKey yes
至此,我們已經(jīng)設置SSH監(jiān)聽在非標端口,root無法直接登錄,授權password失效,基于SSH key進行授權
三、系統(tǒng)和網(wǎng)絡
如果你的服務器是基于SSD固態(tài)硬盤,那么在fstab文件中加入mount選項softdep和noatime可以提高磁盤性能,同時可以阻止文件屬性 "last access time" 的寫入
$ sudo vi /etc/fstab
YourDiskDUID.b none swap sw
YourDiskDUID.a / ffs rw,noatime,softdep 1 1
YourDiskDUID.k /home ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.d /tmp ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.f /usr ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.g /usr/X11R6 ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.h /usr/local ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.j /usr/obj ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.i /usr/src ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.e /var ffs rw,nodev,nosuid,noatime,softdep 1 2
如果你的服務器缺省基于DHCP,我們可以修改為手工DNS,這樣減少被控制可能,類似windows下網(wǎng)卡中IP的配置,:
$ sudo vi /etc/hostname.vio0
inet 你的服務器公共地址 網(wǎng)絡netmask
加入網(wǎng)關地址
$ sudo vi /etc/mygate
服務器網(wǎng)關地址
激活流量分發(fā)forward
$ sudo sysctl net.inet.ip.forwarding=1
$ sudo vi /etc/sysctl.conf
net.inet.ip.forwarding=1
DNS
我們可以使用DNSCrypt讓我們的DNS請求更加加密安全,不綁定到任何本地DNS緩存:
$ export PKG_PATH=http://ftp.fr.openbsd.org/pub/OpenBSD/5.6/packages/amd64/
$ sudo pkg_add dnscrypt-proxy
$ sudo vi /etc/rc.local
# DNSCrypt
/usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk
你能以下面方式選擇dnscrypt激活你的DNS服務器:
$ sudo /usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk
現(xiàn)在我們配置和激活unbound,這已經(jīng)包含在基本系統(tǒng)中,配置在/var/unbound目錄:
$ sudo vi /var/unbound/etc/unbound.conf
server:
username: _unbound
directory: /var/unbound
chroot: /var/unbound
do-not-query-localhost: no
interface: 127.0.0.1
access-control: 0.0.0.0/0 refuse
access-control: 127.0.0.0/8 allow
access-control: 10.8.0.0/24 allow
hide-identity: yes
hide-version: yes
auto-trust-anchor-file: "/var/unbound/db/root.key"
forward-zone:
name: "." # use for ALL queries
forward-addr: 127.0.0.1@40 # dnscrypt-proxy
不要忘記修改/etc/resolv.conf:
$ sudo vi /etc/resolv.conf
nameserver 127.0.0.1 # unbound 是在監(jiān)聽53端口
運行Unbound,并且在系統(tǒng)啟動時激活:
$ sudo /etc/rc.d/unbound start
$ sudo vi /etc/rc.conf.local
# Unbound
unbound_flags="-c /var/unbound/etc/unbound.conf"
測試你的DNS鏈是否正常工作:
$ host openbsd.org
openbsd.org has address 129.128.5.194
openbsd.org mail is handled by 6 shear.ucar.edu.
openbsd.org mail is handled by 10 cvs.openbsd.org.
Unbound監(jiān)聽在端口53,當連接上后分發(fā)到dnscrypt監(jiān)聽的端口40,再接觸到外部dnscrypt激活的DNS服務器
第一個值得關注的包是 OpenSSH,所有的 UNIX 和 Linux® 用戶對它都很熟悉。然而,許多人可能并不知道它來自于 OpenBSD 開發(fā)人員。OpenSSH 最初用于 OpenBSD,后來成為標準的安全 Shell (SSH) 包,并移植到幾乎所有版本的 UNIX、Linux 和 Microsoft® Windows® 操作系統(tǒng)。OpenSSH 包括用于安全登錄的 ssh、用于安全復制的 scp 和 sftp,后者是 ftp 的安全替代方法。所有的源代碼都符合開放源代碼 BSD 許可,必須遵守 OpenBSD 的規(guī)程以杜絕在該分發(fā)版中出現(xiàn)任何專用代碼和限制性許可計劃(這是創(chuàng)建新版本的 SSH 的原動力)。OpenBSD中所包含的每個軟件部分都是完全免費的,并且在使用上沒有任何限制
二、加密
因為OpenBSD項目是在加拿大進行的,所以其中應用的加密技術不受美國的出口限制,這使得該分發(fā)版可以充分利用各種現(xiàn)代的加密算法。幾乎可以在該操作系統(tǒng)的任何地方找到加密處理,從文件傳輸?shù)轿募到y(tǒng),乃至網(wǎng)絡。OpenBSD 中還包含偽隨機數(shù)生成器,它可以確保無法根據(jù)系統(tǒng)狀態(tài)預測隨機數(shù)。其他的特性還包括加密哈希函數(shù)、加密轉換庫和加密硬件支持
三、IP安全協(xié)議
OpenBSD中另一個主要的部分是IP安全協(xié)議 (IPSec),該操作系統(tǒng)中沒有依賴先天不安全的TCP/IP Version 4 (IPV4),而使用了這個協(xié)議。(IPV4 選擇信任所有的人和所有的事物。)IPSec 對數(shù)據(jù)包進行加密和驗證以保護數(shù)據(jù)的保密性,并確保在傳輸過程中不會對數(shù)據(jù)包進行任何更改。隨著TCP/IP Version 6 (IPV6) 的引入,IPSec 成為標準的 Internet 協(xié)議中不可或缺的部分,這使得未來的 Internet 在缺省情況下更加安全
四、防火墻
1.因為OpenBSD很小并且很安全,所以OpenBSD實現(xiàn)的最常見目標之一是用作防火墻。防火墻從底層對大多數(shù)安全單元進行操作,并且 OpenBSD 的包過濾實現(xiàn)是非常優(yōu)秀的。Packet Filter (PF),OpenBSD 開發(fā)社區(qū)設計的開放源代碼解決方案,它是 OpenBSD 所選擇的方法。與 OpenBSD 軟件的其他許多部分一樣,這種方法非常成功,以至于其他的 BSD 變種紛紛將其移植到自己的分發(fā)版中
2.OpenBSD配置為缺省安全,所以在設置堅如磐石的防火墻時,您無需關閉過多的服務。您需要啟用第二個 Ethernet 接口,并根據(jù)需要配置 PF。有關介紹如何將 OpenBSD 服務器設置為防火墻的文章鏈接
四、加密和隨機數(shù)
1.大多數(shù)操作系統(tǒng)很少在其關鍵組成部分中包含加密處理,這使得它們先天就缺乏安全性。導致這種缺陷的一個重要原因是,大多數(shù)的操作系統(tǒng)來自美國,不允許開發(fā)人員出口健壯的加密軟件。OpenBSD中的加密哈希庫包括 MD5、SHA1 和 RIPEMD160。OpenBSD中的加密轉換庫包括 Blowfish、數(shù)據(jù)加密標準 (DES)、3DES和Cast
2.大部分加密處理都在底層進行,這樣一來,用戶就不用為了保護系統(tǒng)安全而必須成為加密方面的專家。OpenBSD 開發(fā)團隊很清楚,大多數(shù)管理員并不是安全方面的專家,并且不應該指望他們煞費周折地加強他們的環(huán)境。那些認為 OpenBSD 不是用戶友好的操作系統(tǒng)的人,大部分是受到了誤導。如果大多數(shù)管理員愿意花時間使用 OpenBSD 的缺省安全措施來替代任何其他的分發(fā)版,那么他們很可能會改變其思維方式
3.隨機數(shù)是確保安全性的重要組成部分。OpenBSD 內(nèi)核使用中斷信息創(chuàng)建不斷變化的熵池,它可以為加密函數(shù)提供種子數(shù)據(jù),并為事務 ID 提供數(shù)值。例如,偽隨機數(shù)可用于進程 ID和包 ID,這使得那些想要進行攻擊的人很難進行欺騙。OpenBSD 甚至在 bind(2) 系統(tǒng)調(diào)用中使用了隨機端口分配。大多數(shù)源于 UNIX 的操作系統(tǒng)要么創(chuàng)建順序的 ID,要么使用可預測其結果的簡單算法
OpenBsd安裝教程
一、打開OpenBsd安裝包,并進入安裝第一步,此時會出現(xiàn)三個選項,輸入I進入安裝過程,輸入U進入升級過程,輸入S則進入一個shell環(huán)境,進入shell環(huán)境后可以輸入install重新進入安裝程序二、輸入I進行安裝
1.進入Choose your keyboard layout(選擇鍵盤布局)選項,一般都為us,也可以輸入L列出鍵盤布局備選選項查看,然后選擇自己的鍵盤布局
2.進入Choose your keyboard layout(設置主機名)選項,這里設置為VM1
3.進入網(wǎng)絡配置部分,系統(tǒng)列出了當前全部的網(wǎng)卡,這里有兩個vic0和vlan0,其中vic0是我們虛擬機配置里那個采用橋接方式的那個網(wǎng)卡,選擇配置那一塊網(wǎng)卡,默認為vic0,回車
4.進入配置ipv4地址選項,默認是dhcp,我們采用靜態(tài)ip,輸入ipv4的地址:192.168.1.123回車,進入設置掩碼選項,默認為255.255.255.0,如不對,自己在后面填寫正確的掩碼,回車,不配置ipv6地址,默認none,回車
5.再一次進入選擇網(wǎng)卡進行配置的選項,如果有多個網(wǎng)卡,這里可以配置下一個,這里選擇done完成網(wǎng)卡配置,回車進入配置網(wǎng)關地址選項,填入19.168.1.1回車
6.進入設置dns域名的選項,如果公司有域名這里可以填寫如( openbsd.org或者baidu.com等)這里我填寫openbsd.org。那么我的機器將來的唯一標識則是主機名加上域名,即為:VM1.openbsd.org。填寫好回車,進入DNS解析服務器的ip地址,多個dns解析服務器的ip用逗號隔開,填寫:202.106.195.68。以上操作步驟如下圖:
三、回車,系統(tǒng)詢問還要進行其他的網(wǎng)絡配置嗎,默認NO回車,進入設置用戶密碼的選項,不回顯
1.連續(xù)輸入兩次?;剀?,系統(tǒng)詢問是否默認啟動sshd服務,默認為yes,建議選擇yes開啟ssh登陸
2.系統(tǒng)詢問是否默認啟動ntpd服務,這是個時間同步服務,可以開啟也可以不開啟,如果系統(tǒng)需要準確的時間,建議開啟以便和網(wǎng)絡上的時間服務器進行時間同步,默認為no,這里選擇不開啟
3.回車系統(tǒng)詢問是否期望運行X window系統(tǒng),默認為yes,這里可以選擇yes也可以選擇no,我這里選擇yes
4.回車系統(tǒng)詢問是否默認運行x window ,默認值為no,這里選擇默認值,即不啟動x window,回車系統(tǒng)詢問change the console to com0默認no即可
5.下一步系統(tǒng)讓新建用戶,這里不新建用戶選擇no即可
6.下一步,選擇時區(qū),可以輸入L查看備選選項,這里選擇Asia/Shanghai選項
7.下一步系統(tǒng)列出了當前可用的磁盤,如果有多快磁盤,選擇指定的磁盤回車,系統(tǒng)提示是否在/etc/fstab里面使用DUIDS替代默認的設備名稱,默認為yes即可
8.下一步系統(tǒng)提示是使用整個磁盤還是編輯MBR以使用部分磁盤,這里選擇Whole全部即可
四、下一步,系統(tǒng)會默認有一個分區(qū)方案,如果同意的話輸入A采用自動分區(qū)方案,或者輸入E編輯自動分區(qū)的方案或者輸入c采用自定義分區(qū)方案,這里我采用自定義分區(qū)方案,輸入c如圖
五、下一步進入自定義分區(qū),輸入?可以查看分區(qū)命令,分區(qū)編號可以是a到p的任何字母,但要注意,分區(qū)的時候,兩個分區(qū)號代表特殊意義,即 b代表交換分區(qū),c代表整個磁盤,所以添加第一個分區(qū) a a即可,添加交換分區(qū) a b ,不能使用a c,添加第三個分區(qū) a
六、offset是分區(qū)開始的地方,size是分區(qū)的大小,fs type默認即可,mount point填入掛載點。這里我給/分區(qū)分了10G的空間,交換分區(qū)分了1G空間,剩下29G分給了/opt分區(qū)
七、完成后,系統(tǒng)進入選擇安裝介質的選項,默認cd回車即可,選擇cd0,第一個光驅,回車,選擇路徑,默認即可。系統(tǒng)列出了都有哪些包可以安裝
八、取消選擇的包可以使用-包名的方式,如-game51.tgz,選擇一個包輸入報名回車即可,選擇好所要安裝的包后回車開始安裝openbsd系統(tǒng)
九、安裝完成后進入shell,為了使系統(tǒng)生效,我們需要重新啟動系統(tǒng),輸入reboot
十、重新啟動過程中,系統(tǒng)會生成rsa密鑰對等等,啟動完成后,如輸入root密碼進入系統(tǒng)
OpenBsd可運行的硬件
1、Alpha:基于 Digital Alpha的系統(tǒng)2、amd64:基于 AMD64 的系統(tǒng)
3、Cat:Strongarm 110 評估板 (Evaluation Board)
4、hp300:Hewlett-Packard HP 9000 系列的 300 和 400 工作站
5、HP/PA:Hewlett-Packard Precision Architecture (PA-RISC) 系統(tǒng)
6、i386:基于 Intel® i386 體系結構和兼容處理器的標準計算機
7、luna88k:Omron LUNA-88K 和 LUNA-88K2 工作站
8、mac68k:基于 Motorola 680x0 的帶 MMU 的 Apple Macintosh
9、macppc:從 iMac 開始,基于 Apple PowerPC 的計算機
10、mvme68k:基于 Motorola 680x0 的 VME 系統(tǒng)
11、mvme88k:基于 Motorola 881x0 的 VME 系統(tǒng)
12、SGI:基于 SGI MIPS 的工作站
13、SPARC:Sun sun4-、sun4c- 和 sun4m 級的 SPARC 系統(tǒng)
14、SPARC64:Sun UltraSPARC 系統(tǒng)
15、VAX:基于 Digital VAX 的系統(tǒng)
16、Zaurus:Sharp Zaurus C3x00 PDA
OpenBsd安全配置使用
一、為了更加安全,為了更加容易更新升級系統(tǒng)和包,可以使用 M:Tier的openup$ ftp https://stable.mtier.org/openup
$ chmod +x openup
$ sudo openup
===> Checking for openup update
===> Installing/updating binpatch(es)
===> Updating package(s)
二、保護裸機
OpenBSD缺省設置非常安全,沒有服務監(jiān)聽端口,除了SSH,SSH監(jiān)聽的是缺省22端口,可以設定服務器只接受來自你的計算機的公共地址,其他IP地址全部屏蔽
$ sudo vi /etc/pf.conf
block in quick from ! x.x.x.x # 這里是你的公共IP地址
pass out quick
改變完成后,通過下面命令激活:
$ sudo pfctl -f /etc/pf.conf
下面是創(chuàng)建SSH key,失效root登錄,使得SSH監(jiān)聽另外其他端口。首先是創(chuàng)建key,在Linux/BSD下客戶端下可以如下使用-t ed25519,如果是Windows客戶端,可以使用-t rsa
$ ssh-keygen -t ed25519
客戶端產(chǎn)生Key以后,拷貝這個公共key到~/.ssh/authorized_keys:
$ cp ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys
復制你的私有key到遠程服務器上,注意賦予600權限,設置正常后,可以通過下面命令連接正常:
ssh -i your_private_key your_server_ip
第二步是修改端口,端口號越高越避免掃描。
$ sudo vi /etc/ssh/sshd_config
# 修改缺省監(jiān)聽端口
Port 21598
# Authentication
PasswordAuthentication yes # temporary
PermitRootLogin no
AllowUsers YOUR_USER
AuthorizedKeysFile .ssh/authorized_keys
AllowTcpForwarding no
UsePrivilegeSeparation sandbox # Default for new installations.
Subsystem sftp /usr/libexec/sftp-server
重新啟動sshd:
$ sudo /etc/rc.d/sshd restart
再從客戶端連接服務器:"ssh -i your_private_key your_server_ip",如果一切正常,我們失效密碼登錄,修改/etc/ssh/sshd_config行:
PasswordAuthentication no
再重新啟動sshd,測試是否成功。下面我們配置ssh key以十進制hex格式連接,ASCII圖形方式:
$ sudo vi /etc/ssh/ssh_config
# Display fingerprint in hex and ASCII graphic when connecting
VisualHostKey yes
至此,我們已經(jīng)設置SSH監(jiān)聽在非標端口,root無法直接登錄,授權password失效,基于SSH key進行授權
三、系統(tǒng)和網(wǎng)絡
如果你的服務器是基于SSD固態(tài)硬盤,那么在fstab文件中加入mount選項softdep和noatime可以提高磁盤性能,同時可以阻止文件屬性 "last access time" 的寫入
$ sudo vi /etc/fstab
YourDiskDUID.b none swap sw
YourDiskDUID.a / ffs rw,noatime,softdep 1 1
YourDiskDUID.k /home ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.d /tmp ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.f /usr ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.g /usr/X11R6 ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.h /usr/local ffs rw,nodev,noatime,softdep 1 2
YourDiskDUID.j /usr/obj ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.i /usr/src ffs rw,nodev,nosuid,noatime,softdep 1 2
YourDiskDUID.e /var ffs rw,nodev,nosuid,noatime,softdep 1 2
如果你的服務器缺省基于DHCP,我們可以修改為手工DNS,這樣減少被控制可能,類似windows下網(wǎng)卡中IP的配置,:
$ sudo vi /etc/hostname.vio0
inet 你的服務器公共地址 網(wǎng)絡netmask
加入網(wǎng)關地址
$ sudo vi /etc/mygate
服務器網(wǎng)關地址
激活流量分發(fā)forward
$ sudo sysctl net.inet.ip.forwarding=1
$ sudo vi /etc/sysctl.conf
net.inet.ip.forwarding=1
DNS
我們可以使用DNSCrypt讓我們的DNS請求更加加密安全,不綁定到任何本地DNS緩存:
$ export PKG_PATH=http://ftp.fr.openbsd.org/pub/OpenBSD/5.6/packages/amd64/
$ sudo pkg_add dnscrypt-proxy
$ sudo vi /etc/rc.local
# DNSCrypt
/usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk
你能以下面方式選擇dnscrypt激活你的DNS服務器:
$ sudo /usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk
現(xiàn)在我們配置和激活unbound,這已經(jīng)包含在基本系統(tǒng)中,配置在/var/unbound目錄:
$ sudo vi /var/unbound/etc/unbound.conf
server:
username: _unbound
directory: /var/unbound
chroot: /var/unbound
do-not-query-localhost: no
interface: 127.0.0.1
access-control: 0.0.0.0/0 refuse
access-control: 127.0.0.0/8 allow
access-control: 10.8.0.0/24 allow
hide-identity: yes
hide-version: yes
auto-trust-anchor-file: "/var/unbound/db/root.key"
forward-zone:
name: "." # use for ALL queries
forward-addr: 127.0.0.1@40 # dnscrypt-proxy
不要忘記修改/etc/resolv.conf:
$ sudo vi /etc/resolv.conf
nameserver 127.0.0.1 # unbound 是在監(jiān)聽53端口
運行Unbound,并且在系統(tǒng)啟動時激活:
$ sudo /etc/rc.d/unbound start
$ sudo vi /etc/rc.conf.local
# Unbound
unbound_flags="-c /var/unbound/etc/unbound.conf"
測試你的DNS鏈是否正常工作:
$ host openbsd.org
openbsd.org has address 129.128.5.194
openbsd.org mail is handled by 6 shear.ucar.edu.
openbsd.org mail is handled by 10 cvs.openbsd.org.
Unbound監(jiān)聽在端口53,當連接上后分發(fā)到dnscrypt監(jiān)聽的端口40,再接觸到外部dnscrypt激活的DNS服務器
OpenBsd功能特色
一、OpenSSH第一個值得關注的包是 OpenSSH,所有的 UNIX 和 Linux® 用戶對它都很熟悉。然而,許多人可能并不知道它來自于 OpenBSD 開發(fā)人員。OpenSSH 最初用于 OpenBSD,后來成為標準的安全 Shell (SSH) 包,并移植到幾乎所有版本的 UNIX、Linux 和 Microsoft® Windows® 操作系統(tǒng)。OpenSSH 包括用于安全登錄的 ssh、用于安全復制的 scp 和 sftp,后者是 ftp 的安全替代方法。所有的源代碼都符合開放源代碼 BSD 許可,必須遵守 OpenBSD 的規(guī)程以杜絕在該分發(fā)版中出現(xiàn)任何專用代碼和限制性許可計劃(這是創(chuàng)建新版本的 SSH 的原動力)。OpenBSD中所包含的每個軟件部分都是完全免費的,并且在使用上沒有任何限制
二、加密
因為OpenBSD項目是在加拿大進行的,所以其中應用的加密技術不受美國的出口限制,這使得該分發(fā)版可以充分利用各種現(xiàn)代的加密算法。幾乎可以在該操作系統(tǒng)的任何地方找到加密處理,從文件傳輸?shù)轿募到y(tǒng),乃至網(wǎng)絡。OpenBSD 中還包含偽隨機數(shù)生成器,它可以確保無法根據(jù)系統(tǒng)狀態(tài)預測隨機數(shù)。其他的特性還包括加密哈希函數(shù)、加密轉換庫和加密硬件支持
三、IP安全協(xié)議
OpenBSD中另一個主要的部分是IP安全協(xié)議 (IPSec),該操作系統(tǒng)中沒有依賴先天不安全的TCP/IP Version 4 (IPV4),而使用了這個協(xié)議。(IPV4 選擇信任所有的人和所有的事物。)IPSec 對數(shù)據(jù)包進行加密和驗證以保護數(shù)據(jù)的保密性,并確保在傳輸過程中不會對數(shù)據(jù)包進行任何更改。隨著TCP/IP Version 6 (IPV6) 的引入,IPSec 成為標準的 Internet 協(xié)議中不可或缺的部分,這使得未來的 Internet 在缺省情況下更加安全
四、防火墻
1.因為OpenBSD很小并且很安全,所以OpenBSD實現(xiàn)的最常見目標之一是用作防火墻。防火墻從底層對大多數(shù)安全單元進行操作,并且 OpenBSD 的包過濾實現(xiàn)是非常優(yōu)秀的。Packet Filter (PF),OpenBSD 開發(fā)社區(qū)設計的開放源代碼解決方案,它是 OpenBSD 所選擇的方法。與 OpenBSD 軟件的其他許多部分一樣,這種方法非常成功,以至于其他的 BSD 變種紛紛將其移植到自己的分發(fā)版中
2.OpenBSD配置為缺省安全,所以在設置堅如磐石的防火墻時,您無需關閉過多的服務。您需要啟用第二個 Ethernet 接口,并根據(jù)需要配置 PF。有關介紹如何將 OpenBSD 服務器設置為防火墻的文章鏈接
四、加密和隨機數(shù)
1.大多數(shù)操作系統(tǒng)很少在其關鍵組成部分中包含加密處理,這使得它們先天就缺乏安全性。導致這種缺陷的一個重要原因是,大多數(shù)的操作系統(tǒng)來自美國,不允許開發(fā)人員出口健壯的加密軟件。OpenBSD中的加密哈希庫包括 MD5、SHA1 和 RIPEMD160。OpenBSD中的加密轉換庫包括 Blowfish、數(shù)據(jù)加密標準 (DES)、3DES和Cast
2.大部分加密處理都在底層進行,這樣一來,用戶就不用為了保護系統(tǒng)安全而必須成為加密方面的專家。OpenBSD 開發(fā)團隊很清楚,大多數(shù)管理員并不是安全方面的專家,并且不應該指望他們煞費周折地加強他們的環(huán)境。那些認為 OpenBSD 不是用戶友好的操作系統(tǒng)的人,大部分是受到了誤導。如果大多數(shù)管理員愿意花時間使用 OpenBSD 的缺省安全措施來替代任何其他的分發(fā)版,那么他們很可能會改變其思維方式
3.隨機數(shù)是確保安全性的重要組成部分。OpenBSD 內(nèi)核使用中斷信息創(chuàng)建不斷變化的熵池,它可以為加密函數(shù)提供種子數(shù)據(jù),并為事務 ID 提供數(shù)值。例如,偽隨機數(shù)可用于進程 ID和包 ID,這使得那些想要進行攻擊的人很難進行欺騙。OpenBSD 甚至在 bind(2) 系統(tǒng)調(diào)用中使用了隨機端口分配。大多數(shù)源于 UNIX 的操作系統(tǒng)要么創(chuàng)建順序的 ID,要么使用可預測其結果的簡單算法
下載地址
- 電腦版
OpenBsd 7.5正式版
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
同類軟件
網(wǎng)友評論
共0條評論(您的評論需要經(jīng)過審核才能顯示)