成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

讓FreeBSD更安全(FreeBSD安全設置)

瀏覽:154日期:2022-06-03 16:13:46

我們都知道Internet并不總是一個友好的地方,而且你可能也不想讓另一個地方的人擁有與你一樣的訪問許可權限。這意味著你可能不希望在沒有某種防火墻的前提下訪問Internet。幸運的是,你的FreeBSD系統支持良種防火墻:ipfw 和 ipfilter。更令人振奮的是,通俗易懂的文檔正在迅速增加。如果你不在防火墻后面,那么請花一個周六下午的時間讀一讀如何在你的系統上配置防火墻的文章,并操練一把。你將為此感到愉快,以下是一部分可用的資源:

man ipfw
FreeBSD Handbook: Section 10.7 — Firewalls
Setting Up a Dual-Homed Host using IPFW and NATD

man ipf
IPFilter and PF resources

好的安全總是“層層設防”,這意味著如果一個機制失效了,仍然有備用的機制。即使你的系統已經受到了防火墻的保護,你仍然需要禁用所有服務,除了那些絕對需要的。在桌面系統中,不需要很多的服務。

用下面的命令可以查看哪些服務正在試圖監聽連接你的系統:
sockstat -4
輸出的差別可能很大,這取決于在安裝的最后階段選擇的軟件,以及之后自行安裝的port和package。

端口6000(X Window服務器)是輸出中非常常見的;如果沒看到它的話,啟動一個X Window會話,然后重新運行 sockstat -4。不幸的是,在過去的幾年中有很多針對X Window的攻擊。幸運的是,使用X并不需要打開6000端口,不必擔心,即使關閉了這個端口,仍然可以使用圖形界面!

許多方法可以關掉這個端口。我發現的最簡單的方法是成為超級用戶,并編輯 /usr/X11R6/bin/startx。找到 serverargs 那一行,并把它改為類似下面的樣子:
serverargs=”-nolisten tcp”
保存修改之后,以普通用戶身份運行X并執行 sockstat -4。如果沒有打字錯誤,那么X會像往常那樣啟動,但 sockstat -4 輸出中不會再出現端口6000。

如果想了解6000端口打開的后果,請閱讀 Crash Course in X Window Security。

好了,現在 sockstat -4 輸出中的服務少了一個。我們還需要處理一下郵件:端口 25 (smtp) 和 587 (submission)。收發郵件并不需要 587 端口,為了關閉它,我們需要修改 /etc/mail/sendmail.cf。查找這一行:
O DaemonPortOptions=Port=587, Name=MSA, M=E
然后在前面加上 # ,并告訴 sendmail 變化:
killall -HUP sendmail
-HUP 不會殺掉 sendmail,但他會告訴sendmail重新處理 /etc/mail/sendmail.cf。重復sockstat -4 ,它將不再顯示 587。

那么端口25呢?你可能需要,也可能不需要打開這個端口,這取決于使用什么樣的郵件程序來收發郵件。對于運行 FreeBSD 4.6-RELEASE 或更高版本的系統,在/etc/rc.conf中增加下面的行:
sendmail_enable=”NO”
將告訴 sendmail 只監聽 localhost,這允許所有的郵件客戶程序發送郵件。如果你知道你的郵件客戶程序帶有內置的SMTP代理,或者喜歡冒險,那么可以嘗試一下:
sendmail_enable=”NONE”
這將徹底關閉25端口。檢查一下這是否讓你無法發送郵件是很重要的,確保已經關掉了所有應用程序,隨后,以超級用戶身份執行:
shutdown now
收到提示后按回車、exit。重新登錄后給自己發一封郵件,如果收不到,那么把NONE改回NO。

如果你的”sockstat”顯示端口111打開,那么把下面幾行加到 /etc/rc.conf (或者,如果已經有這些行,把 YES 改為 NO):
nfs_server_enable=”NO”
nfs_client_enable=”NO”
portmap_enable=”NO”
Portmap只有在運行NFS時才是必需的,而這往往不是FreeBSD桌面系統的需要。歷史上它有過很多安全問題,因此除非你絕對需要它,否則就別用。

syslog (端口 514) 也可能出現在你的輸出結果中。我們可能并不希望完全關掉 syslog ,因為它提供的消息記錄是我們需要的。但我們并不需要為此打開端口。在 /etc/rc.conf 文件中增加下面的選項:
syslogd_enable=”YES”
syslogd_flags=”-ss”
標志中的ss (確認用了兩個s,而不是一個) 將禁止來自遠程主機的記錄并關閉端口,但仍然允許 localhost 進行日志記錄。

隨后,確認 /etc/rc.conf 中inetd_enable不是YES。如果sockstat輸出中有inetd,那么/etc/inetd.conf中肯定有什么項目沒有被注釋掉,如果不需要的話,那么把那一行前面加上#,并 killall inetd。

如果需要使用DHCP自動獲取地址,那么請保持dhclient (udp 6打開,否則將不能刷新地址。

如果在 sockstat 輸出中發現了其他東西,那么請看看 man rc.conf 里面有沒有關于如何關掉這些東西的提示。如果沒有的話,那么很可能是某個啟動腳本啟動了一些服務程序,請執行:
cd /usr/local/etc/rc.d
來看看你的系統中的啟動腳本。絕大多數 packages/ports 會安裝一個擴展名為sample的示范腳本用于啟動服務,這些腳本并不被執行;也有一些直接安裝能夠執行的腳本,它們會在計算機啟動的時候加載。禁止某個腳本知性最簡單的方法是把它的擴展名改為sample,隨后殺掉守護程序,這樣sockstat就不會再說什么了。 舉例來說,我最近安裝了 ethereal 結果發現 snmpd 出現在 sockstat -4 的輸出中,這個程序在安全方面名聲不佳,因此我把自己升級為root并執行了下面的命令:
cd /usr/local/etc/rc.d
mv snmpd.sh snmpd.sh.sample killall snmpd
你可能會希望把下面的選項加入 /etc/rc.conf :
tcp_drop_synfin=”YES”
這個選項可以挫敗諸如OS指紋識別的企圖(譯注:這個選項對最新的nmap無效)。如果你打算開啟這個選項,那么,還需要在內核編譯配置文件中加入:
options TCP_DROP_SYNFIN
還有兩個相關的選項:
icmp_drop_redirect=”YES”
icmp_log_redirect=”YES”
ICMP 重定向可以被利用完成DoS攻擊。這篇 ARP and ICMP redirection games article 介紹了具體的一些情況。

在打開 icmp_log_redirect 選項時請務必小心,因為它會記錄每一個ICMP重定向 ,如果你遭到了這樣的攻擊,那么日志很可能會塞滿記錄。

建好防火墻之后,請考慮加入下面的選項:
log_in_vain=”YES”
這個選項會記錄每一個到關閉端口的連接企圖。另一個比較有意思的選項是:
accounting_enable=”YES”
這將打開系統審計功能,如果你不熟悉他們,那么請閱讀 man sa 和 man lastcomm 。

最后,下面的選項可能非常有用:
clear_tmp_enable=”YES”
因為它在系統啟動時將清空 /tmp ,這永遠是一件值得去做的事情。

讓我們來研究一下其他能夠加強安全的設置。我比較喜歡把默認的口令加密算法改為Blowfish,因為它在提供最佳安全性的前提下,也提供了最快的速度。這里有一份 comparison of algorithms[幾種密碼學算法的比較]。

當然,如果你對這類東西感興趣的話,看看 Cryptogram newsletter ,它是Blowfish作者寫的。

為了啟用 Blowfish 散列,編輯 /etc/login.conf 并把 passwd_format 一行改成下面這樣:
:passwd_format=blf:\
保存設置,重新創建登錄數據庫:
cap_mkdb /etc/login.conf
隨后需要修改每一個用戶的口令,以便讓這些口令都使用 Blowfish 散列值。以超級用戶的身份執行下面的命令:
passwd username
需要修改所有用戶的口令,包括root自己。

完成了這些操作之后,重新檢查一下確認自己沒有遺漏什么:
more /etc/master.passwd
所有用戶的口令應該以$2.開始

最后,重新配置 adduser 程序,讓它在以后使用Blowfish。修改 /etc/auth.conf,找到 crypt_default 一行,改為:
crypt_default=blf
你可能已經注意到,每次登錄的時候FreeBSD都會提示你,你在用的那個系統是FreeBSD,以及它的版權信息,包括內核的編譯時間,等等。這些信息可能有用,但相當煩人,特別是當別人可以登錄的時候,它可能會暴露一些你不希望暴露的信息。

可以通過編輯 /etc/motd 來阻止計算機說出一些不該說的東西,或者宣揚你的一些想法,包括你喜歡看的 sci-fi 文摘,或者其他一些——總之你想寫什么就寫什么。

隨后,刪除版權信息:
touch /etc/COPYRIGHT
隨后,還可以修改登錄提示,編輯 /etc/gettytab. 找到 default:\ 小節,它以下面的文字開頭:
:cb:ce:ck:lc
小心地修改 \r\n\ \r\n\r\nr\n: 之間的文字來適應自己的需要。請仔細檢查 \r 和 \n 的數量,并保存修改。例如,我的登錄提示是這樣的:
I’m a node in cyberspace. Who are you?
login:
可以在其他終端上嘗試登錄,以確認正確性。

最后,即使你已經修改了motd并從中刪除了內核版本信息,默認情況下FreeBSD仍然會在啟動之后把這些東西加入 /etc/motd 。因此需要修改 /etc/rc.conf 并加入下面的設置:
update_motd=”NO”
這個設置需要重新啟動才會生效。

此外,限制登錄也是非常重要的。因為這些變動會改變 login 程序的行為,因此需要非常謹慎。比較好的習慣是保持一個以root身份登錄的終端,用其他終端嘗試。這樣如果由于某種原因造成問題,你仍然可以改正。

包括你自己在內的任何人都不應該直接以root身份登錄。修改 /etc/ttys。你將注意到 ttyv0 到 ttyv8的一系列設置。把后面的 secure 改為 insecure。注意,這個文件肯定是你不希望有任何錯誤的一個文件,因此請仔細地進行測試。如果設置正確,root登錄將收到 “Login incorrect” 。

我個人傾向于使用所有的9個終端。如果你不打算這樣,請把對應的 “on” 改為 “off” ,當然,只是一部分 ttys 。切記保持至少1個 “on,” 否則你會無法登錄,這將導致系統無法使用。ttyv8 默認情況下是 “off” ,這意味著你需要手動打開X,如果希望自動啟動,那么把它改為”on.”。

最后一個我想說的限制是阻止從其他地方登錄,這是通過編輯 /etc/login.access 實現的。

你可能希望禁止一切遠程登錄(這意味著你必須物理地坐在機器前面),刪除下面這一行前面的#號:
#-:wheel:ALL EXCEPT LOCAL .win.tue.nl
把 .win.tue.nl 去掉,于是它看起來將像這樣:
-:wheel:ALL EXCEPT LOCAL
如果你需要從遠程登錄,那么把.win.tue.nl 替換為相應的IP或域名。如果有多個地址,用空格分開。

如果只有一兩個用戶的話,那么可以拒絕其他人登錄:
-:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4
用具體的用戶名替換掉 user1 user2 。如果需要的話,增加相應的tty。

另外,也可以把用戶組方在這里。首先,編輯 /etc/group 并增加下面的行:
mygroup:*:100:genisis,dlavigne6,biko
當增加組時,需要保證GID的唯一性。

隨后,修改 /etc/login.access :
-:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5
測試它非常重要,一定要留一個終端。測試每一個終端上的登錄,確認其效果。

FreeBSD安裝系統后的基本安全設置

編輯/etc/rc.conf。增加以下內容
#ee /etc/rc.conf
#關閉掉syslog使用的端口
syslogd_enable="YES"
syslogd_flags="-ss"
#挫敗OS指紋識別(需要在內核中加入options TCP_DROP_SYNFIN)
tcp_drop_synfin="YES"
#ICMP重定向
icmp_drop_redirect="YES"
icmp_log_rediretc="YES"
#記錄每一個企圖到關閉端口的連接
log_in_vain="YES"
#系統審計功能
accounting_enable="YES"
#開機自動清空/tmp
clear_tmp_enable="YES"
#禁用內核信息提示
update_motd="NO"
#關閉nfs服務
nfs_server_enable="NO"
nsf_client_enable="NO"
portmap_enable="NO"
#關閉sendmail
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
#開啟磁盤配額
enable_quotas="YES"
check_quotas="YES"
刪除登陸時的信息提示
#rm /etc/motd
#touch /etc/motd
#touch /etc/COPYRIGHT
#ee /etc/gettytab
default:\
:cb:ce:ck:lc:fd#1000:im=\r\在這里修改成你需要的文字\r\n\r\n:sp#1200:\
:if=/etc/issue:
禁止一般用戶查看系統日志
# chmod g-w,o-r /var/log/*
# chmod 600 /etc/syslog.conf
# chmod 600 /etc/newsyslog.conf
為了防止cracker利用rootkit工具通過后門進入系統,
# chflags schg /bin/*
# chflags schg /sbin/*
把系統的核心的運行層次設置為最安全的層次
# sysctl -w kern.securelevel=2
禁止一般用戶使用crontab
# echo root > /var/cron/allow
# chmod 600 /var/cron/allow
修改/etc/sysctl.conf,增加以下內容
#ee /etc/sysctl.conf
#防止ICMP廣播風暴
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
#限制系統發送ICMP速率
net.inet.icmp.icmplim=100
#安全參數,編譯內核的時候加了options TCP_DROP_SYNFIN才可以用
net.inet.icmp.icmplim_output=0
net.inet.tcp.drop_synfin=1
#設置為1會幫助系統清除沒有正常斷開的TCP連接,這增加了一些網絡帶寬的使用,但是一些死掉的連接最終能被識別并清除。死的TCP連接是被撥號用戶存取的系統的一個特別的問題,因為用戶經常斷開modem而不正確的關閉活動的連接
net.inet.tcp.always_keepalive=1
#若看到net.inet.ip.intr_queue_drops這個在增加,就要調大net.inet.ip.intr_queue_maxlen,為0最好
net.inet.ip.intr_queue_maxlen=0
#防止DOS攻擊,默認為30000
net.inet.tcp.msl=7500
#接收到一個已經關閉的端口發來的所有包,直接drop,如果設置為1則是只針對TCP包
net.inet.tcp.blackhole=2
#接收到一個已經關閉的端口發來的所有UDP包直接drop
net.inet.udp.blackhole=1
#為網絡數據連接時提供緩沖
net.inet.tcp.inflight.enable=1
#如果打開的話每個目標地址一次轉發成功以后它的數據都將被記錄進路由表和arp數據表,節約路由的計算時間,但會需要大量的內核內存空間來保存路由表
net.inet.ip.fastforwarding=0
#kernel編譯打開options POLLING功能,高負載情況下使用低負載不推薦SMP不能和polling一起用
#kern.polling.enable=1
#并發連接數,默認為128,推薦在1024-4096之間,數字越大占用內存也越大
kern.ipc.somaxconn=32768
#禁止用戶查看其他用戶的進程
security.bsd.see_other_uids=0
#設置kernel安全級別
kern.securelevel=0
#記錄下任何TCP連接
net.inet.tcp.log_in_vain=1
#記錄下任何UDP連接
net.inet.udp.log_in_vain=1
#防止不正確的udp包的攻擊
net.inet.udp.checksum=1
#防止DOS攻擊
net.inet.tcp.syncookies=1
#僅為線程提供物理內存支持,需要256兆以上內存
#kern.ipc.shm_use_phys=1
# 線程可使用的最大共享內存
kern.ipc.shmmax=67108864
# 最大線程數量
kern.ipc.shmall=32768
# 程序崩潰時不記錄
kern.coredump=0
# lo本地數據流接收和發送空間
net.local.stream.recvspace=65536
net.local.dgram.maxdgram=16384
net.local.dgram.recvspace=65536
# 數據包數據段大小,ADSL為1452。
net.inet.tcp.mssdflt=1452
# 為網絡數據連接時提供緩沖
net.inet.tcp.inflight_enable=1
# 數據包數據段最小值,ADSL為1452
net.inet.tcp.minmss=1460
# 本地數據最大數量
net.inet.raw.maxdgram=65536
# 本地數據流接收空間
net.inet.raw.recvspace=65536
更改默認的加密算法為Blowfish
為了啟用 Blowfish 散列,編輯 /etc/login.conf 并把 passwd_format 一行改成下面這樣:
:passwd_format=blf:\
保存設置,重新創建登錄數據庫:
#cap_mkdb /etc/login.conf
隨后需要修改每一個用戶的口令,以便讓這些口令都使用 Blowfish 散列值。以超級用戶的身份執行下面的命令:
#passwd username (username為你的用戶名)
需要修改所有用戶的口令,包括root自己。
完成了這些操作之后,重新檢查一下確認自己沒有遺漏什么:
#more /etc/master.passwd
所有用戶的口令應該以$2.開始
最后,重新配置 adduser 程序,讓它在以后使用Blowfish。修改 /etc/auth.conf,找到 crypt_default 一行,改為:
crypt_default=blf

相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美尤物一区| 欧美无砖专区一中文字| 久久青青草原一区二区| 久久99久久99| 国产精品区一区二区三| 色欧美日韩亚洲| 国产 欧美在线| 亚洲欧美一区二区三区极速播放| 欧美在线看片a免费观看| 成人av网址在线| 免播放器亚洲一区| 欧美精品黑人性xxxx| 欧美一区国产一区| 五月天中文字幕一区二区| 26uuu久久天堂性欧美| 老牛嫩草一区二区三区日本| 国产综合色一区二区三区| 黄网站免费久久| 亚洲精品久久嫩草网站秘色| 欧美精品18+| 免费在线成人av| 9色porny自拍视频一区二区| 午夜精品福利久久久| 国产精品久久久久久福利一牛影视 | 精品视频免费看| 在线看片一区| 91性感美女视频| 免费观看日韩电影| 亚洲欧美日韩一区二区| 久久精品亚洲精品国产欧美| 欧美视频一区在线| 亚洲一区三区电影在线观看| 在线高清一区| 不卡av在线网| 国产一区二区精品久久| 亚州成人在线电影| 亚洲综合激情另类小说区| 久久久精品tv| 26uuu色噜噜精品一区二区| 日本道在线观看一区二区| 亚洲人成免费| 亚洲国产片色| 欧美三级网页| 欧美婷婷在线| 伊人天天综合| 国产精品videosex极品| 91一区在线观看| 91麻豆.com| 白白色 亚洲乱淫| 国产精品资源在线| 麻豆精品视频在线| 精品一区二区三区在线播放视频| 久久99精品一区二区三区| 免费不卡在线观看| 久久国产精品一区二区| 精油按摩中文字幕久久| 狠狠色综合播放一区二区| 国内精品久久久久影院色| 另类调教123区| 久久精工是国产品牌吗| 久久精品99国产精品| 国产一区二区三区免费播放| 国内精品伊人久久久久av一坑 | 国产精品毛片大码女人| 亚洲国产高清不卡| 国产精品高潮呻吟| 国产精品伦理在线| 一区二区三区在线视频观看58| 一区二区三区波多野结衣在线观看| 最新日韩在线视频| 亚洲高清视频中文字幕| 日韩国产在线观看一区| 免费观看91视频大全| 免费av网站大全久久| 成人一区二区三区视频在线观看| 97精品电影院| 国产欧美一区二区三区另类精品 | 色婷婷久久99综合精品jk白丝| 久久xxxx精品视频| 欧美三级乱人伦电影| 欧美不卡激情三级在线观看| 中文字幕一区二区三| 亚洲成人免费视| 国产在线观看免费一区| 欧美婷婷久久| 一本久道综合久久精品| 在线观看欧美精品| 日本一区二区视频在线观看| 亚洲成人午夜影院| 国产**成人网毛片九色| 激情久久久久久久| 精品视频在线视频| 亚洲人成在线播放网站岛国| 狠狠色丁香久久婷婷综合_中| 91蝌蚪porny| 久久国产日韩欧美| 国产视频911| 捆绑调教美女网站视频一区| 国产精品激情| 欧美一三区三区四区免费在线看| 亚洲精品成人精品456| 高清在线不卡av| 美女视频一区免费观看| 久久久久9999亚洲精品| 免费黄网站欧美| 国精品一区二区三区| 欧美日韩一区三区| 亚洲精品国产视频| 99国产精品国产精品毛片| 久久精品一本| 国产精品久久久久毛片软件| 狠狠久久亚洲欧美| 美女黄色成人网| 亚洲色图一区二区| 国产不卡在线视频| 老牛影视一区二区三区| 亚洲另类一区二区| 欧美在线1区| 91精品国产综合久久精品性色 | 国产成人亚洲综合色影视| 国产偷自视频区视频一区二区| 欧美本精品男人aⅴ天堂| 午夜精品一区二区三区三上悠亚| 亚洲国产欧美国产综合一区| 亚洲国产高清aⅴ视频| av在线不卡观看免费观看| 在线观看欧美黄色| 亚洲国产成人高清精品| 亚洲美女黄色| 国产精品色婷婷| 国产盗摄一区二区三区| 91国产免费看| 午夜精品福利在线| 中文日韩在线| 亚洲欧洲av在线| 午夜欧美视频| 亚洲国产精品高清| 99在线视频精品| 91精品啪在线观看国产60岁| 美女脱光内衣内裤视频久久网站| 亚欧成人精品| 亚洲成av人片www| 久久不射中文字幕| 亚洲成人免费影院| 久久久99国产精品免费| 三级不卡在线观看| 色综合久久久久| 日本va欧美va欧美va精品| 久久日韩精品| 偷拍一区二区三区四区| 国产偷久久久精品专区| 亚洲黄色性网站| 91久久黄色| 亚洲成人动漫在线观看| 色婷婷一区二区| 精品在线免费观看| 3d成人动漫网站| 成人av动漫网站| 精品国产91九色蝌蚪| 欧美xxx在线观看| 亚洲视频香蕉人妖| 亚洲欧美日韩精品在线| 免费成人在线视频观看| 91精品综合久久久久久| 99久久精品免费看国产免费软件| 日韩免费福利电影在线观看| 欧美精品国产| 亚洲另类春色校园小说| 欧美亚洲三级| 国产一区二区福利| 久久精品一区二区| 欧美午夜精品| 午夜欧美一区二区三区在线播放| 欧美在线观看18| 国产91对白在线观看九色| 久久久777精品电影网影网 | 在线观看日产精品| 蜜桃91丨九色丨蝌蚪91桃色| 制服丝袜亚洲色图| 成人深夜视频在线观看| 国产欧美精品在线观看| 免费毛片一区二区三区久久久| 另类人妖一区二区av| 久久久久高清精品| 久久亚洲高清| av福利精品导航| 悠悠色在线精品| 亚洲精品高清在线观看| 日本韩国精品一区二区在线观看| 国产成人高清视频| 亚洲精品久久7777| 精品视频1区2区3区| 欧美日本精品| 久久成人18免费观看| 久久女同互慰一区二区三区| 一本一本久久| 成人性视频免费网站| 亚洲欧美激情在线| 精品国产一二三| 久久aⅴ国产紧身牛仔裤|